├── .eslintrc.json ├── .gitignore ├── .vscode ├── extensions.json └── launch.json ├── .vscodeignore ├── CHANGELOG.md ├── README.md ├── coderjr-logo.png ├── extension.js ├── jsconfig.json ├── package-lock.json ├── package.json └── test ├── runTest.js └── suite ├── extension.test.js └── index.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": false, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true, 7 | "mocha": true 8 | }, 9 | "parserOptions": { 10 | "ecmaVersion": 2018, 11 | "ecmaFeatures": { 12 | "jsx": true 13 | }, 14 | "sourceType": "module" 15 | }, 16 | "rules": { 17 | "no-const-assign": "warn", 18 | "no-this-before-super": "warn", 19 | "no-undef": "warn", 20 | "no-unreachable": "warn", 21 | "no-unused-vars": "warn", 22 | "constructor-super": "warn", 23 | "valid-typeof": "warn" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .vscode-test/ 3 | *.vsix 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint" 6 | ] 7 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ] 15 | }, 16 | { 17 | "name": "Extension Tests", 18 | "type": "extensionHost", 19 | "request": "launch", 20 | "args": [ 21 | "--extensionDevelopmentPath=${workspaceFolder}", 22 | "--extensionTestsPath=${workspaceFolder}/test/suite/index" 23 | ] 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | test/** 4 | .gitignore 5 | .yarnrc 6 | vsc-extension-quickstart.md 7 | **/jsconfig.json 8 | **/*.map 9 | **/.eslintrc.json 10 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "coderjr" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## 1.0.0 8 | 9 | - Initial release -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Project **Coder Jr** 2 | 3 | Write a comment and press `Shift + Enter`. 4 | 5 | ## Requirements 6 | 7 | To use this extension, you need to provide your openAI API Key. 8 | 9 | To get your API Key, got to https://beta.openai.com/account/api-keys 10 | 11 | 12 | ## Video guidline 13 | [![Video Title](https://img.youtube.com/vi/HHoCB_qZlks/0.jpg)](http://www.youtube.com/watch?v=HHoCB_qZlks) 14 | 15 | 16 | ## Release Notes 17 | 18 | Users appreciate release notes as you update your extension. 19 | 20 | ### 1.0.0 21 | 22 | Initial release of Coder Jr. 23 | 24 | --- 25 | 26 | **Enjoy!** 27 | -------------------------------------------------------------------------------- /coderjr-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prantiknoor/coderjr/784a7d03aa1255c67caa7663ea3ed215fbb719be/coderjr-logo.png -------------------------------------------------------------------------------- /extension.js: -------------------------------------------------------------------------------- 1 | const vscode = require("vscode"); 2 | const axios = require("axios"); 3 | 4 | /** 5 | * @param {vscode.ExtensionContext} context 6 | */ 7 | function activate(context) { 8 | console.log("Coder Jr extension activated."); 9 | 10 | let disposable = vscode.commands.registerCommand( 11 | "coderjr.command", 12 | async () => { 13 | let apiKey = getApiKey(); 14 | if (!apiKey) { 15 | let input = await openInputBoxForApiKey(); 16 | if (!input) { 17 | const action = "How to get API KEY"; 18 | const action2 = "Get API Key"; 19 | let clickedAction = await vscode.window.showWarningMessage( 20 | "Please enter you API Key", action, action2); 21 | if (clickedAction === action) { 22 | openLink(VIDEO_GUIDE_URL); 23 | } else if (clickedAction === action2) { 24 | openLink(GETTING_API_KEY_URL); 25 | } 26 | return; 27 | } 28 | apiKey = input; 29 | storeApiKey(apiKey); 30 | } 31 | 32 | const comment = getComment(); 33 | 34 | if (!comment) { 35 | return vscode.window.showWarningMessage( 36 | "You should be in a position to comment." 37 | ); 38 | } else if (comment.split(" ").length < 3) { 39 | return vscode.window.showWarningMessage( 40 | "You must use a minimum of three words." 41 | ); 42 | } 43 | 44 | let statusBarMsg = vscode.window.setStatusBarMessage("Searching..."); 45 | 46 | let response = await requestToOpenAi(comment, apiKey); 47 | 48 | statusBarMsg.dispose(); 49 | 50 | if (response.status === "failed") { 51 | vscode.window.setStatusBarMessage("Failed", 3000); 52 | return vscode.window.showErrorMessage(response.msg); 53 | } 54 | 55 | let selection = await insertText(response); 56 | 57 | selectText(selection); 58 | } 59 | ); 60 | 61 | context.subscriptions.push(disposable); 62 | } 63 | 64 | /** 65 | * This makes http request to openAi with the query as prompt 66 | * 67 | * @param {String} query it is the prompt for openai chatGPT 68 | * @param {String} apiKey the API Key of OpenAI 69 | * 70 | * @returns {Promise} 71 | */ 72 | async function requestToOpenAi(query, apiKey) { 73 | let languageId = vscode.window.activeTextEditor.document.languageId; 74 | 75 | const options = { 76 | method: "POST", 77 | url: "https://api.openai.com/v1/completions", 78 | headers: { 79 | Authorization: `Bearer ${apiKey}`, 80 | "content-type": "application/json", 81 | }, 82 | data: { 83 | model: "text-davinci-003", 84 | prompt: `${query} (${languageId})`, 85 | temperature: 0.3, 86 | max_tokens: 290, 87 | top_p: 1, 88 | frequency_penalty: 0, 89 | presence_penalty: 0, 90 | }, 91 | }; 92 | 93 | let response; 94 | try { 95 | response = await axios.default.request(options); 96 | } catch (err) { 97 | response = err.response; 98 | storeApiKey(""); // Remove the invalid API Key. 99 | return { status: "failed", msg: response.data.error.message }; 100 | } 101 | 102 | if (response.status !== 200) 103 | return { status: "failed", msg: response.statusText }; 104 | 105 | let text = response.data.choices[0].text; 106 | return text.slice(2, text.length); 107 | } 108 | 109 | /** 110 | * It inserts text after the comment and 111 | * returns the selection of inserted text 112 | * 113 | * @param {string} text this will be inserted to the doc 114 | * @returns {Promise} 115 | */ 116 | async function insertText(text) { 117 | let editor = vscode.window.activeTextEditor; 118 | 119 | if (!editor) return; 120 | 121 | let lineIndex = editor.selection.active.line; 122 | let characterIndex = editor.document.lineAt(lineIndex).text.length; 123 | let insertionPosition = new vscode.Position(lineIndex, characterIndex); 124 | let edit = new vscode.WorkspaceEdit(); 125 | edit.insert(editor.document.uri, insertionPosition, `\n${text}`); 126 | vscode.workspace.applyEdit(edit); 127 | 128 | let startLine = lineIndex + 1; 129 | let startPos = new vscode.Position(startLine, 0); 130 | let endPos = getEndPosition(text, startLine); 131 | 132 | return new Promise((resolve) => { 133 | setTimeout(() => { 134 | let selection = new vscode.Selection(startPos, endPos); 135 | resolve(selection); 136 | }, 10); 137 | }); 138 | } 139 | 140 | /** 141 | * This Helper function helps to get end position of inserted line 142 | * 143 | * @param {String} text the insertion text 144 | * @param {number} startLine the index of start line of insertion 145 | * @returns {vscode.Position} 146 | */ 147 | function getEndPosition(text, startLine) { 148 | let lines = text.split("\n"); 149 | let line = startLine + lines.length; 150 | let endPos = new vscode.Position(line, 0); 151 | return endPos; 152 | } 153 | 154 | /** 155 | * Selects a range of text in the active text editor. 156 | * 157 | * @param {vscode.Selection} selection - The start position of the selection range. 158 | */ 159 | function selectText(selection) { 160 | const textEditor = vscode.window.activeTextEditor; 161 | textEditor.selection = selection; 162 | } 163 | 164 | /** 165 | * It gives comment if the cursor is in a comment line 166 | * Else it will return an empty string 167 | * 168 | * @returns {String} 169 | */ 170 | function getComment() { 171 | let editor = vscode.window.activeTextEditor; 172 | if (!editor) return ""; 173 | 174 | let lineIndex = editor.selection.active.line; 175 | let lineText = editor.document.lineAt(lineIndex).text; 176 | 177 | let comments, i = 0; 178 | do { 179 | comments = lineText.match(COMMENT_REGEX[i]); 180 | } while (++i < COMMENT_REGEX.length && !comments); 181 | 182 | if (!comments) return ""; 183 | let comment = comments[0].replace(/\/\/|\/\*|\*\/|#|/g, ""); 184 | return comment.trim(); 185 | } 186 | 187 | async function openInputBoxForApiKey() { 188 | let input = await vscode.window.showInputBox({ 189 | placeHolder: 'Enter your API Key of OpenAI' 190 | }); 191 | return input; 192 | } 193 | 194 | async function storeApiKey(apiKey) { 195 | let config = vscode.workspace.getConfiguration(); 196 | config.update('openAi.apiKey', apiKey, true); 197 | } 198 | 199 | function getApiKey() { 200 | let config = vscode.workspace.getConfiguration(); 201 | let apiKey = config.get('openAi.apiKey'); 202 | return apiKey; 203 | } 204 | 205 | function openLink(link) { 206 | var url = vscode.Uri.parse(link); 207 | vscode.env.openExternal(url).then((success) => { 208 | if (success) { 209 | console.log(`Successfully opened ${url} in the browser`); 210 | } else { 211 | console.error(`Failed to open ${url} in the browser`); 212 | } 213 | }); 214 | } 215 | 216 | function deactivate() { } 217 | 218 | 219 | const VIDEO_GUIDE_URL = "http://www.youtube.com/watch?v=HHoCB_qZlks"; 220 | const GETTING_API_KEY_URL = "https://beta.openai.com/account/api-keys"; 221 | 222 | const COMMENT_REGEX = [ 223 | /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm, // /* */ , // 224 | /#[^\n]*/g, // # 225 | //g // 226 | ]; 227 | 228 | module.exports = { 229 | activate, 230 | deactivate, 231 | }; 232 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "checkJs": true, /* Typecheck .js files. */ 6 | "lib": [ 7 | "ES2020" 8 | ] 9 | }, 10 | "exclude": [ 11 | "node_modules" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "coderjr", 3 | "version": "0.4.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "coderjr", 9 | "version": "0.4.0", 10 | "dependencies": { 11 | "axios": "^1.2.1" 12 | }, 13 | "devDependencies": { 14 | "@types/glob": "^8.0.0", 15 | "@types/mocha": "^10.0.1", 16 | "@types/node": "16.x", 17 | "@types/vscode": "^1.74.0", 18 | "@vscode/test-electron": "^2.2.0", 19 | "eslint": "^8.28.0", 20 | "glob": "^8.0.3", 21 | "mocha": "^10.1.0", 22 | "typescript": "^4.9.3" 23 | }, 24 | "engines": { 25 | "vscode": "^1.74.0" 26 | } 27 | }, 28 | "node_modules/@eslint/eslintrc": { 29 | "version": "1.4.0", 30 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", 31 | "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", 32 | "dev": true, 33 | "dependencies": { 34 | "ajv": "^6.12.4", 35 | "debug": "^4.3.2", 36 | "espree": "^9.4.0", 37 | "globals": "^13.19.0", 38 | "ignore": "^5.2.0", 39 | "import-fresh": "^3.2.1", 40 | "js-yaml": "^4.1.0", 41 | "minimatch": "^3.1.2", 42 | "strip-json-comments": "^3.1.1" 43 | }, 44 | "engines": { 45 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 46 | }, 47 | "funding": { 48 | "url": "https://opencollective.com/eslint" 49 | } 50 | }, 51 | "node_modules/@humanwhocodes/config-array": { 52 | "version": "0.11.8", 53 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", 54 | "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", 55 | "dev": true, 56 | "dependencies": { 57 | "@humanwhocodes/object-schema": "^1.2.1", 58 | "debug": "^4.1.1", 59 | "minimatch": "^3.0.5" 60 | }, 61 | "engines": { 62 | "node": ">=10.10.0" 63 | } 64 | }, 65 | "node_modules/@humanwhocodes/module-importer": { 66 | "version": "1.0.1", 67 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 68 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 69 | "dev": true, 70 | "engines": { 71 | "node": ">=12.22" 72 | }, 73 | "funding": { 74 | "type": "github", 75 | "url": "https://github.com/sponsors/nzakas" 76 | } 77 | }, 78 | "node_modules/@humanwhocodes/object-schema": { 79 | "version": "1.2.1", 80 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 81 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 82 | "dev": true 83 | }, 84 | "node_modules/@nodelib/fs.scandir": { 85 | "version": "2.1.5", 86 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 87 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 88 | "dev": true, 89 | "dependencies": { 90 | "@nodelib/fs.stat": "2.0.5", 91 | "run-parallel": "^1.1.9" 92 | }, 93 | "engines": { 94 | "node": ">= 8" 95 | } 96 | }, 97 | "node_modules/@nodelib/fs.stat": { 98 | "version": "2.0.5", 99 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 100 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 101 | "dev": true, 102 | "engines": { 103 | "node": ">= 8" 104 | } 105 | }, 106 | "node_modules/@nodelib/fs.walk": { 107 | "version": "1.2.8", 108 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 109 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 110 | "dev": true, 111 | "dependencies": { 112 | "@nodelib/fs.scandir": "2.1.5", 113 | "fastq": "^1.6.0" 114 | }, 115 | "engines": { 116 | "node": ">= 8" 117 | } 118 | }, 119 | "node_modules/@tootallnate/once": { 120 | "version": "1.1.2", 121 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 122 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 123 | "dev": true, 124 | "engines": { 125 | "node": ">= 6" 126 | } 127 | }, 128 | "node_modules/@types/glob": { 129 | "version": "8.0.0", 130 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", 131 | "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", 132 | "dev": true, 133 | "dependencies": { 134 | "@types/minimatch": "*", 135 | "@types/node": "*" 136 | } 137 | }, 138 | "node_modules/@types/minimatch": { 139 | "version": "5.1.2", 140 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 141 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", 142 | "dev": true 143 | }, 144 | "node_modules/@types/mocha": { 145 | "version": "10.0.1", 146 | "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", 147 | "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", 148 | "dev": true 149 | }, 150 | "node_modules/@types/node": { 151 | "version": "16.18.10", 152 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.10.tgz", 153 | "integrity": "sha512-XU1+v7h81p7145ddPfjv7jtWvkSilpcnON3mQ+bDi9Yuf7OI56efOglXRyXWgQ57xH3fEQgh7WOJMncRHVew5w==", 154 | "dev": true 155 | }, 156 | "node_modules/@types/vscode": { 157 | "version": "1.74.0", 158 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.74.0.tgz", 159 | "integrity": "sha512-LyeCIU3jb9d38w0MXFwta9r0Jx23ugujkAxdwLTNCyspdZTKUc43t7ppPbCiPoQ/Ivd/pnDFZrb4hWd45wrsgA==", 160 | "dev": true 161 | }, 162 | "node_modules/@vscode/test-electron": { 163 | "version": "2.2.1", 164 | "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.2.1.tgz", 165 | "integrity": "sha512-DUdwSYVc9p/PbGveaq20dbAAXHfvdq4zQ24ILp6PKizOBxrOfMsOq8Vts5nMzeIo0CxtA/RxZLFyDv001PiUSg==", 166 | "dev": true, 167 | "dependencies": { 168 | "http-proxy-agent": "^4.0.1", 169 | "https-proxy-agent": "^5.0.0", 170 | "rimraf": "^3.0.2", 171 | "unzipper": "^0.10.11" 172 | }, 173 | "engines": { 174 | "node": ">=16" 175 | } 176 | }, 177 | "node_modules/acorn": { 178 | "version": "8.8.1", 179 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", 180 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", 181 | "dev": true, 182 | "bin": { 183 | "acorn": "bin/acorn" 184 | }, 185 | "engines": { 186 | "node": ">=0.4.0" 187 | } 188 | }, 189 | "node_modules/acorn-jsx": { 190 | "version": "5.3.2", 191 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 192 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 193 | "dev": true, 194 | "peerDependencies": { 195 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 196 | } 197 | }, 198 | "node_modules/agent-base": { 199 | "version": "6.0.2", 200 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 201 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 202 | "dev": true, 203 | "dependencies": { 204 | "debug": "4" 205 | }, 206 | "engines": { 207 | "node": ">= 6.0.0" 208 | } 209 | }, 210 | "node_modules/ajv": { 211 | "version": "6.12.6", 212 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 213 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 214 | "dev": true, 215 | "dependencies": { 216 | "fast-deep-equal": "^3.1.1", 217 | "fast-json-stable-stringify": "^2.0.0", 218 | "json-schema-traverse": "^0.4.1", 219 | "uri-js": "^4.2.2" 220 | }, 221 | "funding": { 222 | "type": "github", 223 | "url": "https://github.com/sponsors/epoberezkin" 224 | } 225 | }, 226 | "node_modules/ansi-colors": { 227 | "version": "4.1.1", 228 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 229 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 230 | "dev": true, 231 | "engines": { 232 | "node": ">=6" 233 | } 234 | }, 235 | "node_modules/ansi-regex": { 236 | "version": "5.0.1", 237 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 238 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 239 | "dev": true, 240 | "engines": { 241 | "node": ">=8" 242 | } 243 | }, 244 | "node_modules/ansi-styles": { 245 | "version": "4.3.0", 246 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 247 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 248 | "dev": true, 249 | "dependencies": { 250 | "color-convert": "^2.0.1" 251 | }, 252 | "engines": { 253 | "node": ">=8" 254 | }, 255 | "funding": { 256 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 257 | } 258 | }, 259 | "node_modules/anymatch": { 260 | "version": "3.1.3", 261 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 262 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 263 | "dev": true, 264 | "dependencies": { 265 | "normalize-path": "^3.0.0", 266 | "picomatch": "^2.0.4" 267 | }, 268 | "engines": { 269 | "node": ">= 8" 270 | } 271 | }, 272 | "node_modules/argparse": { 273 | "version": "2.0.1", 274 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 275 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 276 | "dev": true 277 | }, 278 | "node_modules/asynckit": { 279 | "version": "0.4.0", 280 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 281 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 282 | }, 283 | "node_modules/axios": { 284 | "version": "1.2.1", 285 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", 286 | "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", 287 | "dependencies": { 288 | "follow-redirects": "^1.15.0", 289 | "form-data": "^4.0.0", 290 | "proxy-from-env": "^1.1.0" 291 | } 292 | }, 293 | "node_modules/balanced-match": { 294 | "version": "1.0.2", 295 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 296 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 297 | "dev": true 298 | }, 299 | "node_modules/big-integer": { 300 | "version": "1.6.51", 301 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", 302 | "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", 303 | "dev": true, 304 | "engines": { 305 | "node": ">=0.6" 306 | } 307 | }, 308 | "node_modules/binary": { 309 | "version": "0.3.0", 310 | "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", 311 | "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", 312 | "dev": true, 313 | "dependencies": { 314 | "buffers": "~0.1.1", 315 | "chainsaw": "~0.1.0" 316 | }, 317 | "engines": { 318 | "node": "*" 319 | } 320 | }, 321 | "node_modules/binary-extensions": { 322 | "version": "2.2.0", 323 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 324 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 325 | "dev": true, 326 | "engines": { 327 | "node": ">=8" 328 | } 329 | }, 330 | "node_modules/bluebird": { 331 | "version": "3.4.7", 332 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", 333 | "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", 334 | "dev": true 335 | }, 336 | "node_modules/brace-expansion": { 337 | "version": "1.1.11", 338 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 339 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 340 | "dev": true, 341 | "dependencies": { 342 | "balanced-match": "^1.0.0", 343 | "concat-map": "0.0.1" 344 | } 345 | }, 346 | "node_modules/braces": { 347 | "version": "3.0.2", 348 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 349 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 350 | "dev": true, 351 | "dependencies": { 352 | "fill-range": "^7.0.1" 353 | }, 354 | "engines": { 355 | "node": ">=8" 356 | } 357 | }, 358 | "node_modules/browser-stdout": { 359 | "version": "1.3.1", 360 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 361 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 362 | "dev": true 363 | }, 364 | "node_modules/buffer-indexof-polyfill": { 365 | "version": "1.0.2", 366 | "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", 367 | "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", 368 | "dev": true, 369 | "engines": { 370 | "node": ">=0.10" 371 | } 372 | }, 373 | "node_modules/buffers": { 374 | "version": "0.1.1", 375 | "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", 376 | "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", 377 | "dev": true, 378 | "engines": { 379 | "node": ">=0.2.0" 380 | } 381 | }, 382 | "node_modules/callsites": { 383 | "version": "3.1.0", 384 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 385 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 386 | "dev": true, 387 | "engines": { 388 | "node": ">=6" 389 | } 390 | }, 391 | "node_modules/camelcase": { 392 | "version": "6.3.0", 393 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 394 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 395 | "dev": true, 396 | "engines": { 397 | "node": ">=10" 398 | }, 399 | "funding": { 400 | "url": "https://github.com/sponsors/sindresorhus" 401 | } 402 | }, 403 | "node_modules/chainsaw": { 404 | "version": "0.1.0", 405 | "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", 406 | "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", 407 | "dev": true, 408 | "dependencies": { 409 | "traverse": ">=0.3.0 <0.4" 410 | }, 411 | "engines": { 412 | "node": "*" 413 | } 414 | }, 415 | "node_modules/chalk": { 416 | "version": "4.1.2", 417 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 418 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 419 | "dev": true, 420 | "dependencies": { 421 | "ansi-styles": "^4.1.0", 422 | "supports-color": "^7.1.0" 423 | }, 424 | "engines": { 425 | "node": ">=10" 426 | }, 427 | "funding": { 428 | "url": "https://github.com/chalk/chalk?sponsor=1" 429 | } 430 | }, 431 | "node_modules/chokidar": { 432 | "version": "3.5.3", 433 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 434 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 435 | "dev": true, 436 | "funding": [ 437 | { 438 | "type": "individual", 439 | "url": "https://paulmillr.com/funding/" 440 | } 441 | ], 442 | "dependencies": { 443 | "anymatch": "~3.1.2", 444 | "braces": "~3.0.2", 445 | "glob-parent": "~5.1.2", 446 | "is-binary-path": "~2.1.0", 447 | "is-glob": "~4.0.1", 448 | "normalize-path": "~3.0.0", 449 | "readdirp": "~3.6.0" 450 | }, 451 | "engines": { 452 | "node": ">= 8.10.0" 453 | }, 454 | "optionalDependencies": { 455 | "fsevents": "~2.3.2" 456 | } 457 | }, 458 | "node_modules/chokidar/node_modules/glob-parent": { 459 | "version": "5.1.2", 460 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 461 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 462 | "dev": true, 463 | "dependencies": { 464 | "is-glob": "^4.0.1" 465 | }, 466 | "engines": { 467 | "node": ">= 6" 468 | } 469 | }, 470 | "node_modules/cliui": { 471 | "version": "7.0.4", 472 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 473 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 474 | "dev": true, 475 | "dependencies": { 476 | "string-width": "^4.2.0", 477 | "strip-ansi": "^6.0.0", 478 | "wrap-ansi": "^7.0.0" 479 | } 480 | }, 481 | "node_modules/color-convert": { 482 | "version": "2.0.1", 483 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 484 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 485 | "dev": true, 486 | "dependencies": { 487 | "color-name": "~1.1.4" 488 | }, 489 | "engines": { 490 | "node": ">=7.0.0" 491 | } 492 | }, 493 | "node_modules/color-name": { 494 | "version": "1.1.4", 495 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 496 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 497 | "dev": true 498 | }, 499 | "node_modules/combined-stream": { 500 | "version": "1.0.8", 501 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 502 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 503 | "dependencies": { 504 | "delayed-stream": "~1.0.0" 505 | }, 506 | "engines": { 507 | "node": ">= 0.8" 508 | } 509 | }, 510 | "node_modules/concat-map": { 511 | "version": "0.0.1", 512 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 513 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 514 | "dev": true 515 | }, 516 | "node_modules/core-util-is": { 517 | "version": "1.0.3", 518 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 519 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 520 | "dev": true 521 | }, 522 | "node_modules/cross-spawn": { 523 | "version": "7.0.3", 524 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 525 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 526 | "dev": true, 527 | "dependencies": { 528 | "path-key": "^3.1.0", 529 | "shebang-command": "^2.0.0", 530 | "which": "^2.0.1" 531 | }, 532 | "engines": { 533 | "node": ">= 8" 534 | } 535 | }, 536 | "node_modules/debug": { 537 | "version": "4.3.4", 538 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 539 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 540 | "dev": true, 541 | "dependencies": { 542 | "ms": "2.1.2" 543 | }, 544 | "engines": { 545 | "node": ">=6.0" 546 | }, 547 | "peerDependenciesMeta": { 548 | "supports-color": { 549 | "optional": true 550 | } 551 | } 552 | }, 553 | "node_modules/decamelize": { 554 | "version": "4.0.0", 555 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", 556 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", 557 | "dev": true, 558 | "engines": { 559 | "node": ">=10" 560 | }, 561 | "funding": { 562 | "url": "https://github.com/sponsors/sindresorhus" 563 | } 564 | }, 565 | "node_modules/deep-is": { 566 | "version": "0.1.4", 567 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 568 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 569 | "dev": true 570 | }, 571 | "node_modules/delayed-stream": { 572 | "version": "1.0.0", 573 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 574 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 575 | "engines": { 576 | "node": ">=0.4.0" 577 | } 578 | }, 579 | "node_modules/diff": { 580 | "version": "5.0.0", 581 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 582 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", 583 | "dev": true, 584 | "engines": { 585 | "node": ">=0.3.1" 586 | } 587 | }, 588 | "node_modules/doctrine": { 589 | "version": "3.0.0", 590 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 591 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 592 | "dev": true, 593 | "dependencies": { 594 | "esutils": "^2.0.2" 595 | }, 596 | "engines": { 597 | "node": ">=6.0.0" 598 | } 599 | }, 600 | "node_modules/duplexer2": { 601 | "version": "0.1.4", 602 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 603 | "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", 604 | "dev": true, 605 | "dependencies": { 606 | "readable-stream": "^2.0.2" 607 | } 608 | }, 609 | "node_modules/emoji-regex": { 610 | "version": "8.0.0", 611 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 612 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 613 | "dev": true 614 | }, 615 | "node_modules/escalade": { 616 | "version": "3.1.1", 617 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 618 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 619 | "dev": true, 620 | "engines": { 621 | "node": ">=6" 622 | } 623 | }, 624 | "node_modules/escape-string-regexp": { 625 | "version": "4.0.0", 626 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 627 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 628 | "dev": true, 629 | "engines": { 630 | "node": ">=10" 631 | }, 632 | "funding": { 633 | "url": "https://github.com/sponsors/sindresorhus" 634 | } 635 | }, 636 | "node_modules/eslint": { 637 | "version": "8.30.0", 638 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", 639 | "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", 640 | "dev": true, 641 | "dependencies": { 642 | "@eslint/eslintrc": "^1.4.0", 643 | "@humanwhocodes/config-array": "^0.11.8", 644 | "@humanwhocodes/module-importer": "^1.0.1", 645 | "@nodelib/fs.walk": "^1.2.8", 646 | "ajv": "^6.10.0", 647 | "chalk": "^4.0.0", 648 | "cross-spawn": "^7.0.2", 649 | "debug": "^4.3.2", 650 | "doctrine": "^3.0.0", 651 | "escape-string-regexp": "^4.0.0", 652 | "eslint-scope": "^7.1.1", 653 | "eslint-utils": "^3.0.0", 654 | "eslint-visitor-keys": "^3.3.0", 655 | "espree": "^9.4.0", 656 | "esquery": "^1.4.0", 657 | "esutils": "^2.0.2", 658 | "fast-deep-equal": "^3.1.3", 659 | "file-entry-cache": "^6.0.1", 660 | "find-up": "^5.0.0", 661 | "glob-parent": "^6.0.2", 662 | "globals": "^13.19.0", 663 | "grapheme-splitter": "^1.0.4", 664 | "ignore": "^5.2.0", 665 | "import-fresh": "^3.0.0", 666 | "imurmurhash": "^0.1.4", 667 | "is-glob": "^4.0.0", 668 | "is-path-inside": "^3.0.3", 669 | "js-sdsl": "^4.1.4", 670 | "js-yaml": "^4.1.0", 671 | "json-stable-stringify-without-jsonify": "^1.0.1", 672 | "levn": "^0.4.1", 673 | "lodash.merge": "^4.6.2", 674 | "minimatch": "^3.1.2", 675 | "natural-compare": "^1.4.0", 676 | "optionator": "^0.9.1", 677 | "regexpp": "^3.2.0", 678 | "strip-ansi": "^6.0.1", 679 | "strip-json-comments": "^3.1.0", 680 | "text-table": "^0.2.0" 681 | }, 682 | "bin": { 683 | "eslint": "bin/eslint.js" 684 | }, 685 | "engines": { 686 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 687 | }, 688 | "funding": { 689 | "url": "https://opencollective.com/eslint" 690 | } 691 | }, 692 | "node_modules/eslint-scope": { 693 | "version": "7.1.1", 694 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 695 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 696 | "dev": true, 697 | "dependencies": { 698 | "esrecurse": "^4.3.0", 699 | "estraverse": "^5.2.0" 700 | }, 701 | "engines": { 702 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 703 | } 704 | }, 705 | "node_modules/eslint-utils": { 706 | "version": "3.0.0", 707 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 708 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 709 | "dev": true, 710 | "dependencies": { 711 | "eslint-visitor-keys": "^2.0.0" 712 | }, 713 | "engines": { 714 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 715 | }, 716 | "funding": { 717 | "url": "https://github.com/sponsors/mysticatea" 718 | }, 719 | "peerDependencies": { 720 | "eslint": ">=5" 721 | } 722 | }, 723 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 724 | "version": "2.1.0", 725 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 726 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 727 | "dev": true, 728 | "engines": { 729 | "node": ">=10" 730 | } 731 | }, 732 | "node_modules/eslint-visitor-keys": { 733 | "version": "3.3.0", 734 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 735 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 736 | "dev": true, 737 | "engines": { 738 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 739 | } 740 | }, 741 | "node_modules/espree": { 742 | "version": "9.4.1", 743 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", 744 | "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", 745 | "dev": true, 746 | "dependencies": { 747 | "acorn": "^8.8.0", 748 | "acorn-jsx": "^5.3.2", 749 | "eslint-visitor-keys": "^3.3.0" 750 | }, 751 | "engines": { 752 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 753 | }, 754 | "funding": { 755 | "url": "https://opencollective.com/eslint" 756 | } 757 | }, 758 | "node_modules/esquery": { 759 | "version": "1.4.0", 760 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 761 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 762 | "dev": true, 763 | "dependencies": { 764 | "estraverse": "^5.1.0" 765 | }, 766 | "engines": { 767 | "node": ">=0.10" 768 | } 769 | }, 770 | "node_modules/esrecurse": { 771 | "version": "4.3.0", 772 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 773 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 774 | "dev": true, 775 | "dependencies": { 776 | "estraverse": "^5.2.0" 777 | }, 778 | "engines": { 779 | "node": ">=4.0" 780 | } 781 | }, 782 | "node_modules/estraverse": { 783 | "version": "5.3.0", 784 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 785 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 786 | "dev": true, 787 | "engines": { 788 | "node": ">=4.0" 789 | } 790 | }, 791 | "node_modules/esutils": { 792 | "version": "2.0.3", 793 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 794 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 795 | "dev": true, 796 | "engines": { 797 | "node": ">=0.10.0" 798 | } 799 | }, 800 | "node_modules/fast-deep-equal": { 801 | "version": "3.1.3", 802 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 803 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 804 | "dev": true 805 | }, 806 | "node_modules/fast-json-stable-stringify": { 807 | "version": "2.1.0", 808 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 809 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 810 | "dev": true 811 | }, 812 | "node_modules/fast-levenshtein": { 813 | "version": "2.0.6", 814 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 815 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 816 | "dev": true 817 | }, 818 | "node_modules/fastq": { 819 | "version": "1.14.0", 820 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", 821 | "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", 822 | "dev": true, 823 | "dependencies": { 824 | "reusify": "^1.0.4" 825 | } 826 | }, 827 | "node_modules/file-entry-cache": { 828 | "version": "6.0.1", 829 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 830 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 831 | "dev": true, 832 | "dependencies": { 833 | "flat-cache": "^3.0.4" 834 | }, 835 | "engines": { 836 | "node": "^10.12.0 || >=12.0.0" 837 | } 838 | }, 839 | "node_modules/fill-range": { 840 | "version": "7.0.1", 841 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 842 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 843 | "dev": true, 844 | "dependencies": { 845 | "to-regex-range": "^5.0.1" 846 | }, 847 | "engines": { 848 | "node": ">=8" 849 | } 850 | }, 851 | "node_modules/find-up": { 852 | "version": "5.0.0", 853 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 854 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 855 | "dev": true, 856 | "dependencies": { 857 | "locate-path": "^6.0.0", 858 | "path-exists": "^4.0.0" 859 | }, 860 | "engines": { 861 | "node": ">=10" 862 | }, 863 | "funding": { 864 | "url": "https://github.com/sponsors/sindresorhus" 865 | } 866 | }, 867 | "node_modules/flat": { 868 | "version": "5.0.2", 869 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 870 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 871 | "dev": true, 872 | "bin": { 873 | "flat": "cli.js" 874 | } 875 | }, 876 | "node_modules/flat-cache": { 877 | "version": "3.0.4", 878 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 879 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 880 | "dev": true, 881 | "dependencies": { 882 | "flatted": "^3.1.0", 883 | "rimraf": "^3.0.2" 884 | }, 885 | "engines": { 886 | "node": "^10.12.0 || >=12.0.0" 887 | } 888 | }, 889 | "node_modules/flatted": { 890 | "version": "3.2.7", 891 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", 892 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", 893 | "dev": true 894 | }, 895 | "node_modules/follow-redirects": { 896 | "version": "1.15.2", 897 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 898 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", 899 | "funding": [ 900 | { 901 | "type": "individual", 902 | "url": "https://github.com/sponsors/RubenVerborgh" 903 | } 904 | ], 905 | "engines": { 906 | "node": ">=4.0" 907 | }, 908 | "peerDependenciesMeta": { 909 | "debug": { 910 | "optional": true 911 | } 912 | } 913 | }, 914 | "node_modules/form-data": { 915 | "version": "4.0.0", 916 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 917 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 918 | "dependencies": { 919 | "asynckit": "^0.4.0", 920 | "combined-stream": "^1.0.8", 921 | "mime-types": "^2.1.12" 922 | }, 923 | "engines": { 924 | "node": ">= 6" 925 | } 926 | }, 927 | "node_modules/fs.realpath": { 928 | "version": "1.0.0", 929 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 930 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 931 | "dev": true 932 | }, 933 | "node_modules/fsevents": { 934 | "version": "2.3.2", 935 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 936 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 937 | "dev": true, 938 | "hasInstallScript": true, 939 | "optional": true, 940 | "os": [ 941 | "darwin" 942 | ], 943 | "engines": { 944 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 945 | } 946 | }, 947 | "node_modules/fstream": { 948 | "version": "1.0.12", 949 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", 950 | "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", 951 | "dev": true, 952 | "dependencies": { 953 | "graceful-fs": "^4.1.2", 954 | "inherits": "~2.0.0", 955 | "mkdirp": ">=0.5 0", 956 | "rimraf": "2" 957 | }, 958 | "engines": { 959 | "node": ">=0.6" 960 | } 961 | }, 962 | "node_modules/fstream/node_modules/glob": { 963 | "version": "7.2.3", 964 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 965 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 966 | "dev": true, 967 | "dependencies": { 968 | "fs.realpath": "^1.0.0", 969 | "inflight": "^1.0.4", 970 | "inherits": "2", 971 | "minimatch": "^3.1.1", 972 | "once": "^1.3.0", 973 | "path-is-absolute": "^1.0.0" 974 | }, 975 | "engines": { 976 | "node": "*" 977 | }, 978 | "funding": { 979 | "url": "https://github.com/sponsors/isaacs" 980 | } 981 | }, 982 | "node_modules/fstream/node_modules/rimraf": { 983 | "version": "2.7.1", 984 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 985 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 986 | "dev": true, 987 | "dependencies": { 988 | "glob": "^7.1.3" 989 | }, 990 | "bin": { 991 | "rimraf": "bin.js" 992 | } 993 | }, 994 | "node_modules/get-caller-file": { 995 | "version": "2.0.5", 996 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 997 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 998 | "dev": true, 999 | "engines": { 1000 | "node": "6.* || 8.* || >= 10.*" 1001 | } 1002 | }, 1003 | "node_modules/glob": { 1004 | "version": "8.0.3", 1005 | "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", 1006 | "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", 1007 | "dev": true, 1008 | "dependencies": { 1009 | "fs.realpath": "^1.0.0", 1010 | "inflight": "^1.0.4", 1011 | "inherits": "2", 1012 | "minimatch": "^5.0.1", 1013 | "once": "^1.3.0" 1014 | }, 1015 | "engines": { 1016 | "node": ">=12" 1017 | }, 1018 | "funding": { 1019 | "url": "https://github.com/sponsors/isaacs" 1020 | } 1021 | }, 1022 | "node_modules/glob-parent": { 1023 | "version": "6.0.2", 1024 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1025 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1026 | "dev": true, 1027 | "dependencies": { 1028 | "is-glob": "^4.0.3" 1029 | }, 1030 | "engines": { 1031 | "node": ">=10.13.0" 1032 | } 1033 | }, 1034 | "node_modules/glob/node_modules/brace-expansion": { 1035 | "version": "2.0.1", 1036 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1037 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1038 | "dev": true, 1039 | "dependencies": { 1040 | "balanced-match": "^1.0.0" 1041 | } 1042 | }, 1043 | "node_modules/glob/node_modules/minimatch": { 1044 | "version": "5.1.1", 1045 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", 1046 | "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", 1047 | "dev": true, 1048 | "dependencies": { 1049 | "brace-expansion": "^2.0.1" 1050 | }, 1051 | "engines": { 1052 | "node": ">=10" 1053 | } 1054 | }, 1055 | "node_modules/globals": { 1056 | "version": "13.19.0", 1057 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", 1058 | "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", 1059 | "dev": true, 1060 | "dependencies": { 1061 | "type-fest": "^0.20.2" 1062 | }, 1063 | "engines": { 1064 | "node": ">=8" 1065 | }, 1066 | "funding": { 1067 | "url": "https://github.com/sponsors/sindresorhus" 1068 | } 1069 | }, 1070 | "node_modules/graceful-fs": { 1071 | "version": "4.2.10", 1072 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 1073 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 1074 | "dev": true 1075 | }, 1076 | "node_modules/grapheme-splitter": { 1077 | "version": "1.0.4", 1078 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", 1079 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", 1080 | "dev": true 1081 | }, 1082 | "node_modules/has-flag": { 1083 | "version": "4.0.0", 1084 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1085 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1086 | "dev": true, 1087 | "engines": { 1088 | "node": ">=8" 1089 | } 1090 | }, 1091 | "node_modules/he": { 1092 | "version": "1.2.0", 1093 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1094 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1095 | "dev": true, 1096 | "bin": { 1097 | "he": "bin/he" 1098 | } 1099 | }, 1100 | "node_modules/http-proxy-agent": { 1101 | "version": "4.0.1", 1102 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 1103 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 1104 | "dev": true, 1105 | "dependencies": { 1106 | "@tootallnate/once": "1", 1107 | "agent-base": "6", 1108 | "debug": "4" 1109 | }, 1110 | "engines": { 1111 | "node": ">= 6" 1112 | } 1113 | }, 1114 | "node_modules/https-proxy-agent": { 1115 | "version": "5.0.1", 1116 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 1117 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 1118 | "dev": true, 1119 | "dependencies": { 1120 | "agent-base": "6", 1121 | "debug": "4" 1122 | }, 1123 | "engines": { 1124 | "node": ">= 6" 1125 | } 1126 | }, 1127 | "node_modules/ignore": { 1128 | "version": "5.2.1", 1129 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", 1130 | "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", 1131 | "dev": true, 1132 | "engines": { 1133 | "node": ">= 4" 1134 | } 1135 | }, 1136 | "node_modules/import-fresh": { 1137 | "version": "3.3.0", 1138 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1139 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1140 | "dev": true, 1141 | "dependencies": { 1142 | "parent-module": "^1.0.0", 1143 | "resolve-from": "^4.0.0" 1144 | }, 1145 | "engines": { 1146 | "node": ">=6" 1147 | }, 1148 | "funding": { 1149 | "url": "https://github.com/sponsors/sindresorhus" 1150 | } 1151 | }, 1152 | "node_modules/imurmurhash": { 1153 | "version": "0.1.4", 1154 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1155 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1156 | "dev": true, 1157 | "engines": { 1158 | "node": ">=0.8.19" 1159 | } 1160 | }, 1161 | "node_modules/inflight": { 1162 | "version": "1.0.6", 1163 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1164 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1165 | "dev": true, 1166 | "dependencies": { 1167 | "once": "^1.3.0", 1168 | "wrappy": "1" 1169 | } 1170 | }, 1171 | "node_modules/inherits": { 1172 | "version": "2.0.4", 1173 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1174 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1175 | "dev": true 1176 | }, 1177 | "node_modules/is-binary-path": { 1178 | "version": "2.1.0", 1179 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1180 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1181 | "dev": true, 1182 | "dependencies": { 1183 | "binary-extensions": "^2.0.0" 1184 | }, 1185 | "engines": { 1186 | "node": ">=8" 1187 | } 1188 | }, 1189 | "node_modules/is-extglob": { 1190 | "version": "2.1.1", 1191 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1192 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1193 | "dev": true, 1194 | "engines": { 1195 | "node": ">=0.10.0" 1196 | } 1197 | }, 1198 | "node_modules/is-fullwidth-code-point": { 1199 | "version": "3.0.0", 1200 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1201 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1202 | "dev": true, 1203 | "engines": { 1204 | "node": ">=8" 1205 | } 1206 | }, 1207 | "node_modules/is-glob": { 1208 | "version": "4.0.3", 1209 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1210 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1211 | "dev": true, 1212 | "dependencies": { 1213 | "is-extglob": "^2.1.1" 1214 | }, 1215 | "engines": { 1216 | "node": ">=0.10.0" 1217 | } 1218 | }, 1219 | "node_modules/is-number": { 1220 | "version": "7.0.0", 1221 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1222 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1223 | "dev": true, 1224 | "engines": { 1225 | "node": ">=0.12.0" 1226 | } 1227 | }, 1228 | "node_modules/is-path-inside": { 1229 | "version": "3.0.3", 1230 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 1231 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 1232 | "dev": true, 1233 | "engines": { 1234 | "node": ">=8" 1235 | } 1236 | }, 1237 | "node_modules/is-plain-obj": { 1238 | "version": "2.1.0", 1239 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", 1240 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", 1241 | "dev": true, 1242 | "engines": { 1243 | "node": ">=8" 1244 | } 1245 | }, 1246 | "node_modules/is-unicode-supported": { 1247 | "version": "0.1.0", 1248 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 1249 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 1250 | "dev": true, 1251 | "engines": { 1252 | "node": ">=10" 1253 | }, 1254 | "funding": { 1255 | "url": "https://github.com/sponsors/sindresorhus" 1256 | } 1257 | }, 1258 | "node_modules/isarray": { 1259 | "version": "1.0.0", 1260 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1261 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 1262 | "dev": true 1263 | }, 1264 | "node_modules/isexe": { 1265 | "version": "2.0.0", 1266 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1267 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1268 | "dev": true 1269 | }, 1270 | "node_modules/js-sdsl": { 1271 | "version": "4.2.0", 1272 | "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", 1273 | "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", 1274 | "dev": true, 1275 | "funding": { 1276 | "type": "opencollective", 1277 | "url": "https://opencollective.com/js-sdsl" 1278 | } 1279 | }, 1280 | "node_modules/js-yaml": { 1281 | "version": "4.1.0", 1282 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1283 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1284 | "dev": true, 1285 | "dependencies": { 1286 | "argparse": "^2.0.1" 1287 | }, 1288 | "bin": { 1289 | "js-yaml": "bin/js-yaml.js" 1290 | } 1291 | }, 1292 | "node_modules/json-schema-traverse": { 1293 | "version": "0.4.1", 1294 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1295 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1296 | "dev": true 1297 | }, 1298 | "node_modules/json-stable-stringify-without-jsonify": { 1299 | "version": "1.0.1", 1300 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1301 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1302 | "dev": true 1303 | }, 1304 | "node_modules/levn": { 1305 | "version": "0.4.1", 1306 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1307 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1308 | "dev": true, 1309 | "dependencies": { 1310 | "prelude-ls": "^1.2.1", 1311 | "type-check": "~0.4.0" 1312 | }, 1313 | "engines": { 1314 | "node": ">= 0.8.0" 1315 | } 1316 | }, 1317 | "node_modules/listenercount": { 1318 | "version": "1.0.1", 1319 | "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", 1320 | "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", 1321 | "dev": true 1322 | }, 1323 | "node_modules/locate-path": { 1324 | "version": "6.0.0", 1325 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1326 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1327 | "dev": true, 1328 | "dependencies": { 1329 | "p-locate": "^5.0.0" 1330 | }, 1331 | "engines": { 1332 | "node": ">=10" 1333 | }, 1334 | "funding": { 1335 | "url": "https://github.com/sponsors/sindresorhus" 1336 | } 1337 | }, 1338 | "node_modules/lodash.merge": { 1339 | "version": "4.6.2", 1340 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1341 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1342 | "dev": true 1343 | }, 1344 | "node_modules/log-symbols": { 1345 | "version": "4.1.0", 1346 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 1347 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 1348 | "dev": true, 1349 | "dependencies": { 1350 | "chalk": "^4.1.0", 1351 | "is-unicode-supported": "^0.1.0" 1352 | }, 1353 | "engines": { 1354 | "node": ">=10" 1355 | }, 1356 | "funding": { 1357 | "url": "https://github.com/sponsors/sindresorhus" 1358 | } 1359 | }, 1360 | "node_modules/mime-db": { 1361 | "version": "1.52.0", 1362 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1363 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1364 | "engines": { 1365 | "node": ">= 0.6" 1366 | } 1367 | }, 1368 | "node_modules/mime-types": { 1369 | "version": "2.1.35", 1370 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1371 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1372 | "dependencies": { 1373 | "mime-db": "1.52.0" 1374 | }, 1375 | "engines": { 1376 | "node": ">= 0.6" 1377 | } 1378 | }, 1379 | "node_modules/minimatch": { 1380 | "version": "3.1.2", 1381 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1382 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1383 | "dev": true, 1384 | "dependencies": { 1385 | "brace-expansion": "^1.1.7" 1386 | }, 1387 | "engines": { 1388 | "node": "*" 1389 | } 1390 | }, 1391 | "node_modules/minimist": { 1392 | "version": "1.2.7", 1393 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 1394 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 1395 | "dev": true, 1396 | "funding": { 1397 | "url": "https://github.com/sponsors/ljharb" 1398 | } 1399 | }, 1400 | "node_modules/mkdirp": { 1401 | "version": "0.5.6", 1402 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 1403 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 1404 | "dev": true, 1405 | "dependencies": { 1406 | "minimist": "^1.2.6" 1407 | }, 1408 | "bin": { 1409 | "mkdirp": "bin/cmd.js" 1410 | } 1411 | }, 1412 | "node_modules/mocha": { 1413 | "version": "10.2.0", 1414 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", 1415 | "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", 1416 | "dev": true, 1417 | "dependencies": { 1418 | "ansi-colors": "4.1.1", 1419 | "browser-stdout": "1.3.1", 1420 | "chokidar": "3.5.3", 1421 | "debug": "4.3.4", 1422 | "diff": "5.0.0", 1423 | "escape-string-regexp": "4.0.0", 1424 | "find-up": "5.0.0", 1425 | "glob": "7.2.0", 1426 | "he": "1.2.0", 1427 | "js-yaml": "4.1.0", 1428 | "log-symbols": "4.1.0", 1429 | "minimatch": "5.0.1", 1430 | "ms": "2.1.3", 1431 | "nanoid": "3.3.3", 1432 | "serialize-javascript": "6.0.0", 1433 | "strip-json-comments": "3.1.1", 1434 | "supports-color": "8.1.1", 1435 | "workerpool": "6.2.1", 1436 | "yargs": "16.2.0", 1437 | "yargs-parser": "20.2.4", 1438 | "yargs-unparser": "2.0.0" 1439 | }, 1440 | "bin": { 1441 | "_mocha": "bin/_mocha", 1442 | "mocha": "bin/mocha.js" 1443 | }, 1444 | "engines": { 1445 | "node": ">= 14.0.0" 1446 | }, 1447 | "funding": { 1448 | "type": "opencollective", 1449 | "url": "https://opencollective.com/mochajs" 1450 | } 1451 | }, 1452 | "node_modules/mocha/node_modules/glob": { 1453 | "version": "7.2.0", 1454 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1455 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1456 | "dev": true, 1457 | "dependencies": { 1458 | "fs.realpath": "^1.0.0", 1459 | "inflight": "^1.0.4", 1460 | "inherits": "2", 1461 | "minimatch": "^3.0.4", 1462 | "once": "^1.3.0", 1463 | "path-is-absolute": "^1.0.0" 1464 | }, 1465 | "engines": { 1466 | "node": "*" 1467 | }, 1468 | "funding": { 1469 | "url": "https://github.com/sponsors/isaacs" 1470 | } 1471 | }, 1472 | "node_modules/mocha/node_modules/glob/node_modules/minimatch": { 1473 | "version": "3.1.2", 1474 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1475 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1476 | "dev": true, 1477 | "dependencies": { 1478 | "brace-expansion": "^1.1.7" 1479 | }, 1480 | "engines": { 1481 | "node": "*" 1482 | } 1483 | }, 1484 | "node_modules/mocha/node_modules/minimatch": { 1485 | "version": "5.0.1", 1486 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", 1487 | "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", 1488 | "dev": true, 1489 | "dependencies": { 1490 | "brace-expansion": "^2.0.1" 1491 | }, 1492 | "engines": { 1493 | "node": ">=10" 1494 | } 1495 | }, 1496 | "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { 1497 | "version": "2.0.1", 1498 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1499 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1500 | "dev": true, 1501 | "dependencies": { 1502 | "balanced-match": "^1.0.0" 1503 | } 1504 | }, 1505 | "node_modules/mocha/node_modules/ms": { 1506 | "version": "2.1.3", 1507 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1508 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1509 | "dev": true 1510 | }, 1511 | "node_modules/mocha/node_modules/supports-color": { 1512 | "version": "8.1.1", 1513 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 1514 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 1515 | "dev": true, 1516 | "dependencies": { 1517 | "has-flag": "^4.0.0" 1518 | }, 1519 | "engines": { 1520 | "node": ">=10" 1521 | }, 1522 | "funding": { 1523 | "url": "https://github.com/chalk/supports-color?sponsor=1" 1524 | } 1525 | }, 1526 | "node_modules/ms": { 1527 | "version": "2.1.2", 1528 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1529 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1530 | "dev": true 1531 | }, 1532 | "node_modules/nanoid": { 1533 | "version": "3.3.3", 1534 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", 1535 | "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", 1536 | "dev": true, 1537 | "bin": { 1538 | "nanoid": "bin/nanoid.cjs" 1539 | }, 1540 | "engines": { 1541 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1542 | } 1543 | }, 1544 | "node_modules/natural-compare": { 1545 | "version": "1.4.0", 1546 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1547 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1548 | "dev": true 1549 | }, 1550 | "node_modules/normalize-path": { 1551 | "version": "3.0.0", 1552 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1553 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1554 | "dev": true, 1555 | "engines": { 1556 | "node": ">=0.10.0" 1557 | } 1558 | }, 1559 | "node_modules/once": { 1560 | "version": "1.4.0", 1561 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1562 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1563 | "dev": true, 1564 | "dependencies": { 1565 | "wrappy": "1" 1566 | } 1567 | }, 1568 | "node_modules/optionator": { 1569 | "version": "0.9.1", 1570 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1571 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1572 | "dev": true, 1573 | "dependencies": { 1574 | "deep-is": "^0.1.3", 1575 | "fast-levenshtein": "^2.0.6", 1576 | "levn": "^0.4.1", 1577 | "prelude-ls": "^1.2.1", 1578 | "type-check": "^0.4.0", 1579 | "word-wrap": "^1.2.3" 1580 | }, 1581 | "engines": { 1582 | "node": ">= 0.8.0" 1583 | } 1584 | }, 1585 | "node_modules/p-limit": { 1586 | "version": "3.1.0", 1587 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1588 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1589 | "dev": true, 1590 | "dependencies": { 1591 | "yocto-queue": "^0.1.0" 1592 | }, 1593 | "engines": { 1594 | "node": ">=10" 1595 | }, 1596 | "funding": { 1597 | "url": "https://github.com/sponsors/sindresorhus" 1598 | } 1599 | }, 1600 | "node_modules/p-locate": { 1601 | "version": "5.0.0", 1602 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1603 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1604 | "dev": true, 1605 | "dependencies": { 1606 | "p-limit": "^3.0.2" 1607 | }, 1608 | "engines": { 1609 | "node": ">=10" 1610 | }, 1611 | "funding": { 1612 | "url": "https://github.com/sponsors/sindresorhus" 1613 | } 1614 | }, 1615 | "node_modules/parent-module": { 1616 | "version": "1.0.1", 1617 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1618 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1619 | "dev": true, 1620 | "dependencies": { 1621 | "callsites": "^3.0.0" 1622 | }, 1623 | "engines": { 1624 | "node": ">=6" 1625 | } 1626 | }, 1627 | "node_modules/path-exists": { 1628 | "version": "4.0.0", 1629 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1630 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1631 | "dev": true, 1632 | "engines": { 1633 | "node": ">=8" 1634 | } 1635 | }, 1636 | "node_modules/path-is-absolute": { 1637 | "version": "1.0.1", 1638 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1639 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1640 | "dev": true, 1641 | "engines": { 1642 | "node": ">=0.10.0" 1643 | } 1644 | }, 1645 | "node_modules/path-key": { 1646 | "version": "3.1.1", 1647 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1648 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1649 | "dev": true, 1650 | "engines": { 1651 | "node": ">=8" 1652 | } 1653 | }, 1654 | "node_modules/picomatch": { 1655 | "version": "2.3.1", 1656 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1657 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1658 | "dev": true, 1659 | "engines": { 1660 | "node": ">=8.6" 1661 | }, 1662 | "funding": { 1663 | "url": "https://github.com/sponsors/jonschlinkert" 1664 | } 1665 | }, 1666 | "node_modules/prelude-ls": { 1667 | "version": "1.2.1", 1668 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1669 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1670 | "dev": true, 1671 | "engines": { 1672 | "node": ">= 0.8.0" 1673 | } 1674 | }, 1675 | "node_modules/process-nextick-args": { 1676 | "version": "2.0.1", 1677 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1678 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 1679 | "dev": true 1680 | }, 1681 | "node_modules/proxy-from-env": { 1682 | "version": "1.1.0", 1683 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 1684 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 1685 | }, 1686 | "node_modules/punycode": { 1687 | "version": "2.1.1", 1688 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1689 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1690 | "dev": true, 1691 | "engines": { 1692 | "node": ">=6" 1693 | } 1694 | }, 1695 | "node_modules/queue-microtask": { 1696 | "version": "1.2.3", 1697 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1698 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1699 | "dev": true, 1700 | "funding": [ 1701 | { 1702 | "type": "github", 1703 | "url": "https://github.com/sponsors/feross" 1704 | }, 1705 | { 1706 | "type": "patreon", 1707 | "url": "https://www.patreon.com/feross" 1708 | }, 1709 | { 1710 | "type": "consulting", 1711 | "url": "https://feross.org/support" 1712 | } 1713 | ] 1714 | }, 1715 | "node_modules/randombytes": { 1716 | "version": "2.1.0", 1717 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 1718 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 1719 | "dev": true, 1720 | "dependencies": { 1721 | "safe-buffer": "^5.1.0" 1722 | } 1723 | }, 1724 | "node_modules/readable-stream": { 1725 | "version": "2.3.7", 1726 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1727 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1728 | "dev": true, 1729 | "dependencies": { 1730 | "core-util-is": "~1.0.0", 1731 | "inherits": "~2.0.3", 1732 | "isarray": "~1.0.0", 1733 | "process-nextick-args": "~2.0.0", 1734 | "safe-buffer": "~5.1.1", 1735 | "string_decoder": "~1.1.1", 1736 | "util-deprecate": "~1.0.1" 1737 | } 1738 | }, 1739 | "node_modules/readable-stream/node_modules/safe-buffer": { 1740 | "version": "5.1.2", 1741 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1742 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1743 | "dev": true 1744 | }, 1745 | "node_modules/readdirp": { 1746 | "version": "3.6.0", 1747 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1748 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1749 | "dev": true, 1750 | "dependencies": { 1751 | "picomatch": "^2.2.1" 1752 | }, 1753 | "engines": { 1754 | "node": ">=8.10.0" 1755 | } 1756 | }, 1757 | "node_modules/regexpp": { 1758 | "version": "3.2.0", 1759 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1760 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1761 | "dev": true, 1762 | "engines": { 1763 | "node": ">=8" 1764 | }, 1765 | "funding": { 1766 | "url": "https://github.com/sponsors/mysticatea" 1767 | } 1768 | }, 1769 | "node_modules/require-directory": { 1770 | "version": "2.1.1", 1771 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1772 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1773 | "dev": true, 1774 | "engines": { 1775 | "node": ">=0.10.0" 1776 | } 1777 | }, 1778 | "node_modules/resolve-from": { 1779 | "version": "4.0.0", 1780 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1781 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1782 | "dev": true, 1783 | "engines": { 1784 | "node": ">=4" 1785 | } 1786 | }, 1787 | "node_modules/reusify": { 1788 | "version": "1.0.4", 1789 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1790 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1791 | "dev": true, 1792 | "engines": { 1793 | "iojs": ">=1.0.0", 1794 | "node": ">=0.10.0" 1795 | } 1796 | }, 1797 | "node_modules/rimraf": { 1798 | "version": "3.0.2", 1799 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1800 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1801 | "dev": true, 1802 | "dependencies": { 1803 | "glob": "^7.1.3" 1804 | }, 1805 | "bin": { 1806 | "rimraf": "bin.js" 1807 | }, 1808 | "funding": { 1809 | "url": "https://github.com/sponsors/isaacs" 1810 | } 1811 | }, 1812 | "node_modules/rimraf/node_modules/glob": { 1813 | "version": "7.2.3", 1814 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1815 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1816 | "dev": true, 1817 | "dependencies": { 1818 | "fs.realpath": "^1.0.0", 1819 | "inflight": "^1.0.4", 1820 | "inherits": "2", 1821 | "minimatch": "^3.1.1", 1822 | "once": "^1.3.0", 1823 | "path-is-absolute": "^1.0.0" 1824 | }, 1825 | "engines": { 1826 | "node": "*" 1827 | }, 1828 | "funding": { 1829 | "url": "https://github.com/sponsors/isaacs" 1830 | } 1831 | }, 1832 | "node_modules/run-parallel": { 1833 | "version": "1.2.0", 1834 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1835 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1836 | "dev": true, 1837 | "funding": [ 1838 | { 1839 | "type": "github", 1840 | "url": "https://github.com/sponsors/feross" 1841 | }, 1842 | { 1843 | "type": "patreon", 1844 | "url": "https://www.patreon.com/feross" 1845 | }, 1846 | { 1847 | "type": "consulting", 1848 | "url": "https://feross.org/support" 1849 | } 1850 | ], 1851 | "dependencies": { 1852 | "queue-microtask": "^1.2.2" 1853 | } 1854 | }, 1855 | "node_modules/safe-buffer": { 1856 | "version": "5.2.1", 1857 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1858 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1859 | "dev": true, 1860 | "funding": [ 1861 | { 1862 | "type": "github", 1863 | "url": "https://github.com/sponsors/feross" 1864 | }, 1865 | { 1866 | "type": "patreon", 1867 | "url": "https://www.patreon.com/feross" 1868 | }, 1869 | { 1870 | "type": "consulting", 1871 | "url": "https://feross.org/support" 1872 | } 1873 | ] 1874 | }, 1875 | "node_modules/serialize-javascript": { 1876 | "version": "6.0.0", 1877 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", 1878 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", 1879 | "dev": true, 1880 | "dependencies": { 1881 | "randombytes": "^2.1.0" 1882 | } 1883 | }, 1884 | "node_modules/setimmediate": { 1885 | "version": "1.0.5", 1886 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 1887 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 1888 | "dev": true 1889 | }, 1890 | "node_modules/shebang-command": { 1891 | "version": "2.0.0", 1892 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1893 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1894 | "dev": true, 1895 | "dependencies": { 1896 | "shebang-regex": "^3.0.0" 1897 | }, 1898 | "engines": { 1899 | "node": ">=8" 1900 | } 1901 | }, 1902 | "node_modules/shebang-regex": { 1903 | "version": "3.0.0", 1904 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1905 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1906 | "dev": true, 1907 | "engines": { 1908 | "node": ">=8" 1909 | } 1910 | }, 1911 | "node_modules/string_decoder": { 1912 | "version": "1.1.1", 1913 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1914 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1915 | "dev": true, 1916 | "dependencies": { 1917 | "safe-buffer": "~5.1.0" 1918 | } 1919 | }, 1920 | "node_modules/string_decoder/node_modules/safe-buffer": { 1921 | "version": "5.1.2", 1922 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1923 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1924 | "dev": true 1925 | }, 1926 | "node_modules/string-width": { 1927 | "version": "4.2.3", 1928 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1929 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1930 | "dev": true, 1931 | "dependencies": { 1932 | "emoji-regex": "^8.0.0", 1933 | "is-fullwidth-code-point": "^3.0.0", 1934 | "strip-ansi": "^6.0.1" 1935 | }, 1936 | "engines": { 1937 | "node": ">=8" 1938 | } 1939 | }, 1940 | "node_modules/strip-ansi": { 1941 | "version": "6.0.1", 1942 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1943 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1944 | "dev": true, 1945 | "dependencies": { 1946 | "ansi-regex": "^5.0.1" 1947 | }, 1948 | "engines": { 1949 | "node": ">=8" 1950 | } 1951 | }, 1952 | "node_modules/strip-json-comments": { 1953 | "version": "3.1.1", 1954 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1955 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1956 | "dev": true, 1957 | "engines": { 1958 | "node": ">=8" 1959 | }, 1960 | "funding": { 1961 | "url": "https://github.com/sponsors/sindresorhus" 1962 | } 1963 | }, 1964 | "node_modules/supports-color": { 1965 | "version": "7.2.0", 1966 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1967 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1968 | "dev": true, 1969 | "dependencies": { 1970 | "has-flag": "^4.0.0" 1971 | }, 1972 | "engines": { 1973 | "node": ">=8" 1974 | } 1975 | }, 1976 | "node_modules/text-table": { 1977 | "version": "0.2.0", 1978 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1979 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 1980 | "dev": true 1981 | }, 1982 | "node_modules/to-regex-range": { 1983 | "version": "5.0.1", 1984 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1985 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1986 | "dev": true, 1987 | "dependencies": { 1988 | "is-number": "^7.0.0" 1989 | }, 1990 | "engines": { 1991 | "node": ">=8.0" 1992 | } 1993 | }, 1994 | "node_modules/traverse": { 1995 | "version": "0.3.9", 1996 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", 1997 | "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", 1998 | "dev": true, 1999 | "engines": { 2000 | "node": "*" 2001 | } 2002 | }, 2003 | "node_modules/type-check": { 2004 | "version": "0.4.0", 2005 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2006 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2007 | "dev": true, 2008 | "dependencies": { 2009 | "prelude-ls": "^1.2.1" 2010 | }, 2011 | "engines": { 2012 | "node": ">= 0.8.0" 2013 | } 2014 | }, 2015 | "node_modules/type-fest": { 2016 | "version": "0.20.2", 2017 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2018 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2019 | "dev": true, 2020 | "engines": { 2021 | "node": ">=10" 2022 | }, 2023 | "funding": { 2024 | "url": "https://github.com/sponsors/sindresorhus" 2025 | } 2026 | }, 2027 | "node_modules/typescript": { 2028 | "version": "4.9.4", 2029 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", 2030 | "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", 2031 | "dev": true, 2032 | "bin": { 2033 | "tsc": "bin/tsc", 2034 | "tsserver": "bin/tsserver" 2035 | }, 2036 | "engines": { 2037 | "node": ">=4.2.0" 2038 | } 2039 | }, 2040 | "node_modules/unzipper": { 2041 | "version": "0.10.11", 2042 | "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz", 2043 | "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", 2044 | "dev": true, 2045 | "dependencies": { 2046 | "big-integer": "^1.6.17", 2047 | "binary": "~0.3.0", 2048 | "bluebird": "~3.4.1", 2049 | "buffer-indexof-polyfill": "~1.0.0", 2050 | "duplexer2": "~0.1.4", 2051 | "fstream": "^1.0.12", 2052 | "graceful-fs": "^4.2.2", 2053 | "listenercount": "~1.0.1", 2054 | "readable-stream": "~2.3.6", 2055 | "setimmediate": "~1.0.4" 2056 | } 2057 | }, 2058 | "node_modules/uri-js": { 2059 | "version": "4.4.1", 2060 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2061 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2062 | "dev": true, 2063 | "dependencies": { 2064 | "punycode": "^2.1.0" 2065 | } 2066 | }, 2067 | "node_modules/util-deprecate": { 2068 | "version": "1.0.2", 2069 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2070 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2071 | "dev": true 2072 | }, 2073 | "node_modules/which": { 2074 | "version": "2.0.2", 2075 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2076 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2077 | "dev": true, 2078 | "dependencies": { 2079 | "isexe": "^2.0.0" 2080 | }, 2081 | "bin": { 2082 | "node-which": "bin/node-which" 2083 | }, 2084 | "engines": { 2085 | "node": ">= 8" 2086 | } 2087 | }, 2088 | "node_modules/word-wrap": { 2089 | "version": "1.2.3", 2090 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2091 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2092 | "dev": true, 2093 | "engines": { 2094 | "node": ">=0.10.0" 2095 | } 2096 | }, 2097 | "node_modules/workerpool": { 2098 | "version": "6.2.1", 2099 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", 2100 | "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", 2101 | "dev": true 2102 | }, 2103 | "node_modules/wrap-ansi": { 2104 | "version": "7.0.0", 2105 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2106 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2107 | "dev": true, 2108 | "dependencies": { 2109 | "ansi-styles": "^4.0.0", 2110 | "string-width": "^4.1.0", 2111 | "strip-ansi": "^6.0.0" 2112 | }, 2113 | "engines": { 2114 | "node": ">=10" 2115 | }, 2116 | "funding": { 2117 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2118 | } 2119 | }, 2120 | "node_modules/wrappy": { 2121 | "version": "1.0.2", 2122 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2123 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2124 | "dev": true 2125 | }, 2126 | "node_modules/y18n": { 2127 | "version": "5.0.8", 2128 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2129 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 2130 | "dev": true, 2131 | "engines": { 2132 | "node": ">=10" 2133 | } 2134 | }, 2135 | "node_modules/yargs": { 2136 | "version": "16.2.0", 2137 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 2138 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 2139 | "dev": true, 2140 | "dependencies": { 2141 | "cliui": "^7.0.2", 2142 | "escalade": "^3.1.1", 2143 | "get-caller-file": "^2.0.5", 2144 | "require-directory": "^2.1.1", 2145 | "string-width": "^4.2.0", 2146 | "y18n": "^5.0.5", 2147 | "yargs-parser": "^20.2.2" 2148 | }, 2149 | "engines": { 2150 | "node": ">=10" 2151 | } 2152 | }, 2153 | "node_modules/yargs-parser": { 2154 | "version": "20.2.4", 2155 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", 2156 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", 2157 | "dev": true, 2158 | "engines": { 2159 | "node": ">=10" 2160 | } 2161 | }, 2162 | "node_modules/yargs-unparser": { 2163 | "version": "2.0.0", 2164 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", 2165 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", 2166 | "dev": true, 2167 | "dependencies": { 2168 | "camelcase": "^6.0.0", 2169 | "decamelize": "^4.0.0", 2170 | "flat": "^5.0.2", 2171 | "is-plain-obj": "^2.1.0" 2172 | }, 2173 | "engines": { 2174 | "node": ">=10" 2175 | } 2176 | }, 2177 | "node_modules/yocto-queue": { 2178 | "version": "0.1.0", 2179 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2180 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2181 | "dev": true, 2182 | "engines": { 2183 | "node": ">=10" 2184 | }, 2185 | "funding": { 2186 | "url": "https://github.com/sponsors/sindresorhus" 2187 | } 2188 | } 2189 | }, 2190 | "dependencies": { 2191 | "@eslint/eslintrc": { 2192 | "version": "1.4.0", 2193 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.0.tgz", 2194 | "integrity": "sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==", 2195 | "dev": true, 2196 | "requires": { 2197 | "ajv": "^6.12.4", 2198 | "debug": "^4.3.2", 2199 | "espree": "^9.4.0", 2200 | "globals": "^13.19.0", 2201 | "ignore": "^5.2.0", 2202 | "import-fresh": "^3.2.1", 2203 | "js-yaml": "^4.1.0", 2204 | "minimatch": "^3.1.2", 2205 | "strip-json-comments": "^3.1.1" 2206 | } 2207 | }, 2208 | "@humanwhocodes/config-array": { 2209 | "version": "0.11.8", 2210 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", 2211 | "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", 2212 | "dev": true, 2213 | "requires": { 2214 | "@humanwhocodes/object-schema": "^1.2.1", 2215 | "debug": "^4.1.1", 2216 | "minimatch": "^3.0.5" 2217 | } 2218 | }, 2219 | "@humanwhocodes/module-importer": { 2220 | "version": "1.0.1", 2221 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 2222 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 2223 | "dev": true 2224 | }, 2225 | "@humanwhocodes/object-schema": { 2226 | "version": "1.2.1", 2227 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 2228 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 2229 | "dev": true 2230 | }, 2231 | "@nodelib/fs.scandir": { 2232 | "version": "2.1.5", 2233 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 2234 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 2235 | "dev": true, 2236 | "requires": { 2237 | "@nodelib/fs.stat": "2.0.5", 2238 | "run-parallel": "^1.1.9" 2239 | } 2240 | }, 2241 | "@nodelib/fs.stat": { 2242 | "version": "2.0.5", 2243 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 2244 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 2245 | "dev": true 2246 | }, 2247 | "@nodelib/fs.walk": { 2248 | "version": "1.2.8", 2249 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2250 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2251 | "dev": true, 2252 | "requires": { 2253 | "@nodelib/fs.scandir": "2.1.5", 2254 | "fastq": "^1.6.0" 2255 | } 2256 | }, 2257 | "@tootallnate/once": { 2258 | "version": "1.1.2", 2259 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 2260 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 2261 | "dev": true 2262 | }, 2263 | "@types/glob": { 2264 | "version": "8.0.0", 2265 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", 2266 | "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", 2267 | "dev": true, 2268 | "requires": { 2269 | "@types/minimatch": "*", 2270 | "@types/node": "*" 2271 | } 2272 | }, 2273 | "@types/minimatch": { 2274 | "version": "5.1.2", 2275 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", 2276 | "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", 2277 | "dev": true 2278 | }, 2279 | "@types/mocha": { 2280 | "version": "10.0.1", 2281 | "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", 2282 | "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", 2283 | "dev": true 2284 | }, 2285 | "@types/node": { 2286 | "version": "16.18.10", 2287 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.10.tgz", 2288 | "integrity": "sha512-XU1+v7h81p7145ddPfjv7jtWvkSilpcnON3mQ+bDi9Yuf7OI56efOglXRyXWgQ57xH3fEQgh7WOJMncRHVew5w==", 2289 | "dev": true 2290 | }, 2291 | "@types/vscode": { 2292 | "version": "1.74.0", 2293 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.74.0.tgz", 2294 | "integrity": "sha512-LyeCIU3jb9d38w0MXFwta9r0Jx23ugujkAxdwLTNCyspdZTKUc43t7ppPbCiPoQ/Ivd/pnDFZrb4hWd45wrsgA==", 2295 | "dev": true 2296 | }, 2297 | "@vscode/test-electron": { 2298 | "version": "2.2.1", 2299 | "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.2.1.tgz", 2300 | "integrity": "sha512-DUdwSYVc9p/PbGveaq20dbAAXHfvdq4zQ24ILp6PKizOBxrOfMsOq8Vts5nMzeIo0CxtA/RxZLFyDv001PiUSg==", 2301 | "dev": true, 2302 | "requires": { 2303 | "http-proxy-agent": "^4.0.1", 2304 | "https-proxy-agent": "^5.0.0", 2305 | "rimraf": "^3.0.2", 2306 | "unzipper": "^0.10.11" 2307 | } 2308 | }, 2309 | "acorn": { 2310 | "version": "8.8.1", 2311 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", 2312 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", 2313 | "dev": true 2314 | }, 2315 | "acorn-jsx": { 2316 | "version": "5.3.2", 2317 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2318 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2319 | "dev": true, 2320 | "requires": {} 2321 | }, 2322 | "agent-base": { 2323 | "version": "6.0.2", 2324 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 2325 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 2326 | "dev": true, 2327 | "requires": { 2328 | "debug": "4" 2329 | } 2330 | }, 2331 | "ajv": { 2332 | "version": "6.12.6", 2333 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2334 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2335 | "dev": true, 2336 | "requires": { 2337 | "fast-deep-equal": "^3.1.1", 2338 | "fast-json-stable-stringify": "^2.0.0", 2339 | "json-schema-traverse": "^0.4.1", 2340 | "uri-js": "^4.2.2" 2341 | } 2342 | }, 2343 | "ansi-colors": { 2344 | "version": "4.1.1", 2345 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 2346 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 2347 | "dev": true 2348 | }, 2349 | "ansi-regex": { 2350 | "version": "5.0.1", 2351 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2352 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2353 | "dev": true 2354 | }, 2355 | "ansi-styles": { 2356 | "version": "4.3.0", 2357 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2358 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2359 | "dev": true, 2360 | "requires": { 2361 | "color-convert": "^2.0.1" 2362 | } 2363 | }, 2364 | "anymatch": { 2365 | "version": "3.1.3", 2366 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 2367 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 2368 | "dev": true, 2369 | "requires": { 2370 | "normalize-path": "^3.0.0", 2371 | "picomatch": "^2.0.4" 2372 | } 2373 | }, 2374 | "argparse": { 2375 | "version": "2.0.1", 2376 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2377 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2378 | "dev": true 2379 | }, 2380 | "asynckit": { 2381 | "version": "0.4.0", 2382 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 2383 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" 2384 | }, 2385 | "axios": { 2386 | "version": "1.2.1", 2387 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", 2388 | "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", 2389 | "requires": { 2390 | "follow-redirects": "^1.15.0", 2391 | "form-data": "^4.0.0", 2392 | "proxy-from-env": "^1.1.0" 2393 | } 2394 | }, 2395 | "balanced-match": { 2396 | "version": "1.0.2", 2397 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2398 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2399 | "dev": true 2400 | }, 2401 | "big-integer": { 2402 | "version": "1.6.51", 2403 | "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", 2404 | "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", 2405 | "dev": true 2406 | }, 2407 | "binary": { 2408 | "version": "0.3.0", 2409 | "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", 2410 | "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", 2411 | "dev": true, 2412 | "requires": { 2413 | "buffers": "~0.1.1", 2414 | "chainsaw": "~0.1.0" 2415 | } 2416 | }, 2417 | "binary-extensions": { 2418 | "version": "2.2.0", 2419 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 2420 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 2421 | "dev": true 2422 | }, 2423 | "bluebird": { 2424 | "version": "3.4.7", 2425 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", 2426 | "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", 2427 | "dev": true 2428 | }, 2429 | "brace-expansion": { 2430 | "version": "1.1.11", 2431 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2432 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2433 | "dev": true, 2434 | "requires": { 2435 | "balanced-match": "^1.0.0", 2436 | "concat-map": "0.0.1" 2437 | } 2438 | }, 2439 | "braces": { 2440 | "version": "3.0.2", 2441 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2442 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2443 | "dev": true, 2444 | "requires": { 2445 | "fill-range": "^7.0.1" 2446 | } 2447 | }, 2448 | "browser-stdout": { 2449 | "version": "1.3.1", 2450 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 2451 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 2452 | "dev": true 2453 | }, 2454 | "buffer-indexof-polyfill": { 2455 | "version": "1.0.2", 2456 | "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", 2457 | "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", 2458 | "dev": true 2459 | }, 2460 | "buffers": { 2461 | "version": "0.1.1", 2462 | "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", 2463 | "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", 2464 | "dev": true 2465 | }, 2466 | "callsites": { 2467 | "version": "3.1.0", 2468 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2469 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2470 | "dev": true 2471 | }, 2472 | "camelcase": { 2473 | "version": "6.3.0", 2474 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 2475 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 2476 | "dev": true 2477 | }, 2478 | "chainsaw": { 2479 | "version": "0.1.0", 2480 | "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", 2481 | "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", 2482 | "dev": true, 2483 | "requires": { 2484 | "traverse": ">=0.3.0 <0.4" 2485 | } 2486 | }, 2487 | "chalk": { 2488 | "version": "4.1.2", 2489 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2490 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2491 | "dev": true, 2492 | "requires": { 2493 | "ansi-styles": "^4.1.0", 2494 | "supports-color": "^7.1.0" 2495 | } 2496 | }, 2497 | "chokidar": { 2498 | "version": "3.5.3", 2499 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 2500 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 2501 | "dev": true, 2502 | "requires": { 2503 | "anymatch": "~3.1.2", 2504 | "braces": "~3.0.2", 2505 | "fsevents": "~2.3.2", 2506 | "glob-parent": "~5.1.2", 2507 | "is-binary-path": "~2.1.0", 2508 | "is-glob": "~4.0.1", 2509 | "normalize-path": "~3.0.0", 2510 | "readdirp": "~3.6.0" 2511 | }, 2512 | "dependencies": { 2513 | "glob-parent": { 2514 | "version": "5.1.2", 2515 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2516 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2517 | "dev": true, 2518 | "requires": { 2519 | "is-glob": "^4.0.1" 2520 | } 2521 | } 2522 | } 2523 | }, 2524 | "cliui": { 2525 | "version": "7.0.4", 2526 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 2527 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 2528 | "dev": true, 2529 | "requires": { 2530 | "string-width": "^4.2.0", 2531 | "strip-ansi": "^6.0.0", 2532 | "wrap-ansi": "^7.0.0" 2533 | } 2534 | }, 2535 | "color-convert": { 2536 | "version": "2.0.1", 2537 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2538 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2539 | "dev": true, 2540 | "requires": { 2541 | "color-name": "~1.1.4" 2542 | } 2543 | }, 2544 | "color-name": { 2545 | "version": "1.1.4", 2546 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2547 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2548 | "dev": true 2549 | }, 2550 | "combined-stream": { 2551 | "version": "1.0.8", 2552 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 2553 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 2554 | "requires": { 2555 | "delayed-stream": "~1.0.0" 2556 | } 2557 | }, 2558 | "concat-map": { 2559 | "version": "0.0.1", 2560 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2561 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2562 | "dev": true 2563 | }, 2564 | "core-util-is": { 2565 | "version": "1.0.3", 2566 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 2567 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 2568 | "dev": true 2569 | }, 2570 | "cross-spawn": { 2571 | "version": "7.0.3", 2572 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 2573 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 2574 | "dev": true, 2575 | "requires": { 2576 | "path-key": "^3.1.0", 2577 | "shebang-command": "^2.0.0", 2578 | "which": "^2.0.1" 2579 | } 2580 | }, 2581 | "debug": { 2582 | "version": "4.3.4", 2583 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2584 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2585 | "dev": true, 2586 | "requires": { 2587 | "ms": "2.1.2" 2588 | } 2589 | }, 2590 | "decamelize": { 2591 | "version": "4.0.0", 2592 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", 2593 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", 2594 | "dev": true 2595 | }, 2596 | "deep-is": { 2597 | "version": "0.1.4", 2598 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2599 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2600 | "dev": true 2601 | }, 2602 | "delayed-stream": { 2603 | "version": "1.0.0", 2604 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 2605 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" 2606 | }, 2607 | "diff": { 2608 | "version": "5.0.0", 2609 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 2610 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", 2611 | "dev": true 2612 | }, 2613 | "doctrine": { 2614 | "version": "3.0.0", 2615 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2616 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2617 | "dev": true, 2618 | "requires": { 2619 | "esutils": "^2.0.2" 2620 | } 2621 | }, 2622 | "duplexer2": { 2623 | "version": "0.1.4", 2624 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", 2625 | "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", 2626 | "dev": true, 2627 | "requires": { 2628 | "readable-stream": "^2.0.2" 2629 | } 2630 | }, 2631 | "emoji-regex": { 2632 | "version": "8.0.0", 2633 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2634 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2635 | "dev": true 2636 | }, 2637 | "escalade": { 2638 | "version": "3.1.1", 2639 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2640 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 2641 | "dev": true 2642 | }, 2643 | "escape-string-regexp": { 2644 | "version": "4.0.0", 2645 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2646 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2647 | "dev": true 2648 | }, 2649 | "eslint": { 2650 | "version": "8.30.0", 2651 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.30.0.tgz", 2652 | "integrity": "sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==", 2653 | "dev": true, 2654 | "requires": { 2655 | "@eslint/eslintrc": "^1.4.0", 2656 | "@humanwhocodes/config-array": "^0.11.8", 2657 | "@humanwhocodes/module-importer": "^1.0.1", 2658 | "@nodelib/fs.walk": "^1.2.8", 2659 | "ajv": "^6.10.0", 2660 | "chalk": "^4.0.0", 2661 | "cross-spawn": "^7.0.2", 2662 | "debug": "^4.3.2", 2663 | "doctrine": "^3.0.0", 2664 | "escape-string-regexp": "^4.0.0", 2665 | "eslint-scope": "^7.1.1", 2666 | "eslint-utils": "^3.0.0", 2667 | "eslint-visitor-keys": "^3.3.0", 2668 | "espree": "^9.4.0", 2669 | "esquery": "^1.4.0", 2670 | "esutils": "^2.0.2", 2671 | "fast-deep-equal": "^3.1.3", 2672 | "file-entry-cache": "^6.0.1", 2673 | "find-up": "^5.0.0", 2674 | "glob-parent": "^6.0.2", 2675 | "globals": "^13.19.0", 2676 | "grapheme-splitter": "^1.0.4", 2677 | "ignore": "^5.2.0", 2678 | "import-fresh": "^3.0.0", 2679 | "imurmurhash": "^0.1.4", 2680 | "is-glob": "^4.0.0", 2681 | "is-path-inside": "^3.0.3", 2682 | "js-sdsl": "^4.1.4", 2683 | "js-yaml": "^4.1.0", 2684 | "json-stable-stringify-without-jsonify": "^1.0.1", 2685 | "levn": "^0.4.1", 2686 | "lodash.merge": "^4.6.2", 2687 | "minimatch": "^3.1.2", 2688 | "natural-compare": "^1.4.0", 2689 | "optionator": "^0.9.1", 2690 | "regexpp": "^3.2.0", 2691 | "strip-ansi": "^6.0.1", 2692 | "strip-json-comments": "^3.1.0", 2693 | "text-table": "^0.2.0" 2694 | } 2695 | }, 2696 | "eslint-scope": { 2697 | "version": "7.1.1", 2698 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 2699 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 2700 | "dev": true, 2701 | "requires": { 2702 | "esrecurse": "^4.3.0", 2703 | "estraverse": "^5.2.0" 2704 | } 2705 | }, 2706 | "eslint-utils": { 2707 | "version": "3.0.0", 2708 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 2709 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 2710 | "dev": true, 2711 | "requires": { 2712 | "eslint-visitor-keys": "^2.0.0" 2713 | }, 2714 | "dependencies": { 2715 | "eslint-visitor-keys": { 2716 | "version": "2.1.0", 2717 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 2718 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 2719 | "dev": true 2720 | } 2721 | } 2722 | }, 2723 | "eslint-visitor-keys": { 2724 | "version": "3.3.0", 2725 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 2726 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 2727 | "dev": true 2728 | }, 2729 | "espree": { 2730 | "version": "9.4.1", 2731 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", 2732 | "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", 2733 | "dev": true, 2734 | "requires": { 2735 | "acorn": "^8.8.0", 2736 | "acorn-jsx": "^5.3.2", 2737 | "eslint-visitor-keys": "^3.3.0" 2738 | } 2739 | }, 2740 | "esquery": { 2741 | "version": "1.4.0", 2742 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 2743 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2744 | "dev": true, 2745 | "requires": { 2746 | "estraverse": "^5.1.0" 2747 | } 2748 | }, 2749 | "esrecurse": { 2750 | "version": "4.3.0", 2751 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2752 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2753 | "dev": true, 2754 | "requires": { 2755 | "estraverse": "^5.2.0" 2756 | } 2757 | }, 2758 | "estraverse": { 2759 | "version": "5.3.0", 2760 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2761 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2762 | "dev": true 2763 | }, 2764 | "esutils": { 2765 | "version": "2.0.3", 2766 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2767 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2768 | "dev": true 2769 | }, 2770 | "fast-deep-equal": { 2771 | "version": "3.1.3", 2772 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2773 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2774 | "dev": true 2775 | }, 2776 | "fast-json-stable-stringify": { 2777 | "version": "2.1.0", 2778 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2779 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2780 | "dev": true 2781 | }, 2782 | "fast-levenshtein": { 2783 | "version": "2.0.6", 2784 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2785 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2786 | "dev": true 2787 | }, 2788 | "fastq": { 2789 | "version": "1.14.0", 2790 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", 2791 | "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", 2792 | "dev": true, 2793 | "requires": { 2794 | "reusify": "^1.0.4" 2795 | } 2796 | }, 2797 | "file-entry-cache": { 2798 | "version": "6.0.1", 2799 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2800 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2801 | "dev": true, 2802 | "requires": { 2803 | "flat-cache": "^3.0.4" 2804 | } 2805 | }, 2806 | "fill-range": { 2807 | "version": "7.0.1", 2808 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2809 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2810 | "dev": true, 2811 | "requires": { 2812 | "to-regex-range": "^5.0.1" 2813 | } 2814 | }, 2815 | "find-up": { 2816 | "version": "5.0.0", 2817 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2818 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2819 | "dev": true, 2820 | "requires": { 2821 | "locate-path": "^6.0.0", 2822 | "path-exists": "^4.0.0" 2823 | } 2824 | }, 2825 | "flat": { 2826 | "version": "5.0.2", 2827 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 2828 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 2829 | "dev": true 2830 | }, 2831 | "flat-cache": { 2832 | "version": "3.0.4", 2833 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 2834 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 2835 | "dev": true, 2836 | "requires": { 2837 | "flatted": "^3.1.0", 2838 | "rimraf": "^3.0.2" 2839 | } 2840 | }, 2841 | "flatted": { 2842 | "version": "3.2.7", 2843 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", 2844 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", 2845 | "dev": true 2846 | }, 2847 | "follow-redirects": { 2848 | "version": "1.15.2", 2849 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", 2850 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" 2851 | }, 2852 | "form-data": { 2853 | "version": "4.0.0", 2854 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 2855 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 2856 | "requires": { 2857 | "asynckit": "^0.4.0", 2858 | "combined-stream": "^1.0.8", 2859 | "mime-types": "^2.1.12" 2860 | } 2861 | }, 2862 | "fs.realpath": { 2863 | "version": "1.0.0", 2864 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2865 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2866 | "dev": true 2867 | }, 2868 | "fsevents": { 2869 | "version": "2.3.2", 2870 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2871 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2872 | "dev": true, 2873 | "optional": true 2874 | }, 2875 | "fstream": { 2876 | "version": "1.0.12", 2877 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", 2878 | "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", 2879 | "dev": true, 2880 | "requires": { 2881 | "graceful-fs": "^4.1.2", 2882 | "inherits": "~2.0.0", 2883 | "mkdirp": ">=0.5 0", 2884 | "rimraf": "2" 2885 | }, 2886 | "dependencies": { 2887 | "glob": { 2888 | "version": "7.2.3", 2889 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2890 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2891 | "dev": true, 2892 | "requires": { 2893 | "fs.realpath": "^1.0.0", 2894 | "inflight": "^1.0.4", 2895 | "inherits": "2", 2896 | "minimatch": "^3.1.1", 2897 | "once": "^1.3.0", 2898 | "path-is-absolute": "^1.0.0" 2899 | } 2900 | }, 2901 | "rimraf": { 2902 | "version": "2.7.1", 2903 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 2904 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 2905 | "dev": true, 2906 | "requires": { 2907 | "glob": "^7.1.3" 2908 | } 2909 | } 2910 | } 2911 | }, 2912 | "get-caller-file": { 2913 | "version": "2.0.5", 2914 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2915 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 2916 | "dev": true 2917 | }, 2918 | "glob": { 2919 | "version": "8.0.3", 2920 | "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", 2921 | "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", 2922 | "dev": true, 2923 | "requires": { 2924 | "fs.realpath": "^1.0.0", 2925 | "inflight": "^1.0.4", 2926 | "inherits": "2", 2927 | "minimatch": "^5.0.1", 2928 | "once": "^1.3.0" 2929 | }, 2930 | "dependencies": { 2931 | "brace-expansion": { 2932 | "version": "2.0.1", 2933 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2934 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2935 | "dev": true, 2936 | "requires": { 2937 | "balanced-match": "^1.0.0" 2938 | } 2939 | }, 2940 | "minimatch": { 2941 | "version": "5.1.1", 2942 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", 2943 | "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", 2944 | "dev": true, 2945 | "requires": { 2946 | "brace-expansion": "^2.0.1" 2947 | } 2948 | } 2949 | } 2950 | }, 2951 | "glob-parent": { 2952 | "version": "6.0.2", 2953 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2954 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2955 | "dev": true, 2956 | "requires": { 2957 | "is-glob": "^4.0.3" 2958 | } 2959 | }, 2960 | "globals": { 2961 | "version": "13.19.0", 2962 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", 2963 | "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", 2964 | "dev": true, 2965 | "requires": { 2966 | "type-fest": "^0.20.2" 2967 | } 2968 | }, 2969 | "graceful-fs": { 2970 | "version": "4.2.10", 2971 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 2972 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 2973 | "dev": true 2974 | }, 2975 | "grapheme-splitter": { 2976 | "version": "1.0.4", 2977 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", 2978 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", 2979 | "dev": true 2980 | }, 2981 | "has-flag": { 2982 | "version": "4.0.0", 2983 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2984 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2985 | "dev": true 2986 | }, 2987 | "he": { 2988 | "version": "1.2.0", 2989 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 2990 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 2991 | "dev": true 2992 | }, 2993 | "http-proxy-agent": { 2994 | "version": "4.0.1", 2995 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 2996 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 2997 | "dev": true, 2998 | "requires": { 2999 | "@tootallnate/once": "1", 3000 | "agent-base": "6", 3001 | "debug": "4" 3002 | } 3003 | }, 3004 | "https-proxy-agent": { 3005 | "version": "5.0.1", 3006 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 3007 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 3008 | "dev": true, 3009 | "requires": { 3010 | "agent-base": "6", 3011 | "debug": "4" 3012 | } 3013 | }, 3014 | "ignore": { 3015 | "version": "5.2.1", 3016 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", 3017 | "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", 3018 | "dev": true 3019 | }, 3020 | "import-fresh": { 3021 | "version": "3.3.0", 3022 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 3023 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 3024 | "dev": true, 3025 | "requires": { 3026 | "parent-module": "^1.0.0", 3027 | "resolve-from": "^4.0.0" 3028 | } 3029 | }, 3030 | "imurmurhash": { 3031 | "version": "0.1.4", 3032 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3033 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3034 | "dev": true 3035 | }, 3036 | "inflight": { 3037 | "version": "1.0.6", 3038 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3039 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 3040 | "dev": true, 3041 | "requires": { 3042 | "once": "^1.3.0", 3043 | "wrappy": "1" 3044 | } 3045 | }, 3046 | "inherits": { 3047 | "version": "2.0.4", 3048 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3049 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3050 | "dev": true 3051 | }, 3052 | "is-binary-path": { 3053 | "version": "2.1.0", 3054 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 3055 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 3056 | "dev": true, 3057 | "requires": { 3058 | "binary-extensions": "^2.0.0" 3059 | } 3060 | }, 3061 | "is-extglob": { 3062 | "version": "2.1.1", 3063 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3064 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3065 | "dev": true 3066 | }, 3067 | "is-fullwidth-code-point": { 3068 | "version": "3.0.0", 3069 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3070 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 3071 | "dev": true 3072 | }, 3073 | "is-glob": { 3074 | "version": "4.0.3", 3075 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3076 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3077 | "dev": true, 3078 | "requires": { 3079 | "is-extglob": "^2.1.1" 3080 | } 3081 | }, 3082 | "is-number": { 3083 | "version": "7.0.0", 3084 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3085 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3086 | "dev": true 3087 | }, 3088 | "is-path-inside": { 3089 | "version": "3.0.3", 3090 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 3091 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 3092 | "dev": true 3093 | }, 3094 | "is-plain-obj": { 3095 | "version": "2.1.0", 3096 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", 3097 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", 3098 | "dev": true 3099 | }, 3100 | "is-unicode-supported": { 3101 | "version": "0.1.0", 3102 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 3103 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 3104 | "dev": true 3105 | }, 3106 | "isarray": { 3107 | "version": "1.0.0", 3108 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3109 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 3110 | "dev": true 3111 | }, 3112 | "isexe": { 3113 | "version": "2.0.0", 3114 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3115 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3116 | "dev": true 3117 | }, 3118 | "js-sdsl": { 3119 | "version": "4.2.0", 3120 | "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", 3121 | "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", 3122 | "dev": true 3123 | }, 3124 | "js-yaml": { 3125 | "version": "4.1.0", 3126 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3127 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3128 | "dev": true, 3129 | "requires": { 3130 | "argparse": "^2.0.1" 3131 | } 3132 | }, 3133 | "json-schema-traverse": { 3134 | "version": "0.4.1", 3135 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3136 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3137 | "dev": true 3138 | }, 3139 | "json-stable-stringify-without-jsonify": { 3140 | "version": "1.0.1", 3141 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3142 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 3143 | "dev": true 3144 | }, 3145 | "levn": { 3146 | "version": "0.4.1", 3147 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3148 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3149 | "dev": true, 3150 | "requires": { 3151 | "prelude-ls": "^1.2.1", 3152 | "type-check": "~0.4.0" 3153 | } 3154 | }, 3155 | "listenercount": { 3156 | "version": "1.0.1", 3157 | "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", 3158 | "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", 3159 | "dev": true 3160 | }, 3161 | "locate-path": { 3162 | "version": "6.0.0", 3163 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 3164 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 3165 | "dev": true, 3166 | "requires": { 3167 | "p-locate": "^5.0.0" 3168 | } 3169 | }, 3170 | "lodash.merge": { 3171 | "version": "4.6.2", 3172 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3173 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3174 | "dev": true 3175 | }, 3176 | "log-symbols": { 3177 | "version": "4.1.0", 3178 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 3179 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 3180 | "dev": true, 3181 | "requires": { 3182 | "chalk": "^4.1.0", 3183 | "is-unicode-supported": "^0.1.0" 3184 | } 3185 | }, 3186 | "mime-db": { 3187 | "version": "1.52.0", 3188 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3189 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" 3190 | }, 3191 | "mime-types": { 3192 | "version": "2.1.35", 3193 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3194 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3195 | "requires": { 3196 | "mime-db": "1.52.0" 3197 | } 3198 | }, 3199 | "minimatch": { 3200 | "version": "3.1.2", 3201 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3202 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3203 | "dev": true, 3204 | "requires": { 3205 | "brace-expansion": "^1.1.7" 3206 | } 3207 | }, 3208 | "minimist": { 3209 | "version": "1.2.7", 3210 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 3211 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 3212 | "dev": true 3213 | }, 3214 | "mkdirp": { 3215 | "version": "0.5.6", 3216 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 3217 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 3218 | "dev": true, 3219 | "requires": { 3220 | "minimist": "^1.2.6" 3221 | } 3222 | }, 3223 | "mocha": { 3224 | "version": "10.2.0", 3225 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", 3226 | "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", 3227 | "dev": true, 3228 | "requires": { 3229 | "ansi-colors": "4.1.1", 3230 | "browser-stdout": "1.3.1", 3231 | "chokidar": "3.5.3", 3232 | "debug": "4.3.4", 3233 | "diff": "5.0.0", 3234 | "escape-string-regexp": "4.0.0", 3235 | "find-up": "5.0.0", 3236 | "glob": "7.2.0", 3237 | "he": "1.2.0", 3238 | "js-yaml": "4.1.0", 3239 | "log-symbols": "4.1.0", 3240 | "minimatch": "5.0.1", 3241 | "ms": "2.1.3", 3242 | "nanoid": "3.3.3", 3243 | "serialize-javascript": "6.0.0", 3244 | "strip-json-comments": "3.1.1", 3245 | "supports-color": "8.1.1", 3246 | "workerpool": "6.2.1", 3247 | "yargs": "16.2.0", 3248 | "yargs-parser": "20.2.4", 3249 | "yargs-unparser": "2.0.0" 3250 | }, 3251 | "dependencies": { 3252 | "glob": { 3253 | "version": "7.2.0", 3254 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 3255 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3256 | "dev": true, 3257 | "requires": { 3258 | "fs.realpath": "^1.0.0", 3259 | "inflight": "^1.0.4", 3260 | "inherits": "2", 3261 | "minimatch": "^3.0.4", 3262 | "once": "^1.3.0", 3263 | "path-is-absolute": "^1.0.0" 3264 | }, 3265 | "dependencies": { 3266 | "minimatch": { 3267 | "version": "3.1.2", 3268 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3269 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3270 | "dev": true, 3271 | "requires": { 3272 | "brace-expansion": "^1.1.7" 3273 | } 3274 | } 3275 | } 3276 | }, 3277 | "minimatch": { 3278 | "version": "5.0.1", 3279 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", 3280 | "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", 3281 | "dev": true, 3282 | "requires": { 3283 | "brace-expansion": "^2.0.1" 3284 | }, 3285 | "dependencies": { 3286 | "brace-expansion": { 3287 | "version": "2.0.1", 3288 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 3289 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 3290 | "dev": true, 3291 | "requires": { 3292 | "balanced-match": "^1.0.0" 3293 | } 3294 | } 3295 | } 3296 | }, 3297 | "ms": { 3298 | "version": "2.1.3", 3299 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 3300 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 3301 | "dev": true 3302 | }, 3303 | "supports-color": { 3304 | "version": "8.1.1", 3305 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3306 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3307 | "dev": true, 3308 | "requires": { 3309 | "has-flag": "^4.0.0" 3310 | } 3311 | } 3312 | } 3313 | }, 3314 | "ms": { 3315 | "version": "2.1.2", 3316 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3317 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3318 | "dev": true 3319 | }, 3320 | "nanoid": { 3321 | "version": "3.3.3", 3322 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", 3323 | "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", 3324 | "dev": true 3325 | }, 3326 | "natural-compare": { 3327 | "version": "1.4.0", 3328 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3329 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3330 | "dev": true 3331 | }, 3332 | "normalize-path": { 3333 | "version": "3.0.0", 3334 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3335 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3336 | "dev": true 3337 | }, 3338 | "once": { 3339 | "version": "1.4.0", 3340 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3341 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 3342 | "dev": true, 3343 | "requires": { 3344 | "wrappy": "1" 3345 | } 3346 | }, 3347 | "optionator": { 3348 | "version": "0.9.1", 3349 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 3350 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 3351 | "dev": true, 3352 | "requires": { 3353 | "deep-is": "^0.1.3", 3354 | "fast-levenshtein": "^2.0.6", 3355 | "levn": "^0.4.1", 3356 | "prelude-ls": "^1.2.1", 3357 | "type-check": "^0.4.0", 3358 | "word-wrap": "^1.2.3" 3359 | } 3360 | }, 3361 | "p-limit": { 3362 | "version": "3.1.0", 3363 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 3364 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 3365 | "dev": true, 3366 | "requires": { 3367 | "yocto-queue": "^0.1.0" 3368 | } 3369 | }, 3370 | "p-locate": { 3371 | "version": "5.0.0", 3372 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 3373 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 3374 | "dev": true, 3375 | "requires": { 3376 | "p-limit": "^3.0.2" 3377 | } 3378 | }, 3379 | "parent-module": { 3380 | "version": "1.0.1", 3381 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3382 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3383 | "dev": true, 3384 | "requires": { 3385 | "callsites": "^3.0.0" 3386 | } 3387 | }, 3388 | "path-exists": { 3389 | "version": "4.0.0", 3390 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3391 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 3392 | "dev": true 3393 | }, 3394 | "path-is-absolute": { 3395 | "version": "1.0.1", 3396 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3397 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 3398 | "dev": true 3399 | }, 3400 | "path-key": { 3401 | "version": "3.1.1", 3402 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3403 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3404 | "dev": true 3405 | }, 3406 | "picomatch": { 3407 | "version": "2.3.1", 3408 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3409 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3410 | "dev": true 3411 | }, 3412 | "prelude-ls": { 3413 | "version": "1.2.1", 3414 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 3415 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 3416 | "dev": true 3417 | }, 3418 | "process-nextick-args": { 3419 | "version": "2.0.1", 3420 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3421 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 3422 | "dev": true 3423 | }, 3424 | "proxy-from-env": { 3425 | "version": "1.1.0", 3426 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3427 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 3428 | }, 3429 | "punycode": { 3430 | "version": "2.1.1", 3431 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3432 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3433 | "dev": true 3434 | }, 3435 | "queue-microtask": { 3436 | "version": "1.2.3", 3437 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3438 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3439 | "dev": true 3440 | }, 3441 | "randombytes": { 3442 | "version": "2.1.0", 3443 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 3444 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 3445 | "dev": true, 3446 | "requires": { 3447 | "safe-buffer": "^5.1.0" 3448 | } 3449 | }, 3450 | "readable-stream": { 3451 | "version": "2.3.7", 3452 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 3453 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 3454 | "dev": true, 3455 | "requires": { 3456 | "core-util-is": "~1.0.0", 3457 | "inherits": "~2.0.3", 3458 | "isarray": "~1.0.0", 3459 | "process-nextick-args": "~2.0.0", 3460 | "safe-buffer": "~5.1.1", 3461 | "string_decoder": "~1.1.1", 3462 | "util-deprecate": "~1.0.1" 3463 | }, 3464 | "dependencies": { 3465 | "safe-buffer": { 3466 | "version": "5.1.2", 3467 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3468 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3469 | "dev": true 3470 | } 3471 | } 3472 | }, 3473 | "readdirp": { 3474 | "version": "3.6.0", 3475 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3476 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3477 | "dev": true, 3478 | "requires": { 3479 | "picomatch": "^2.2.1" 3480 | } 3481 | }, 3482 | "regexpp": { 3483 | "version": "3.2.0", 3484 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 3485 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 3486 | "dev": true 3487 | }, 3488 | "require-directory": { 3489 | "version": "2.1.1", 3490 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3491 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 3492 | "dev": true 3493 | }, 3494 | "resolve-from": { 3495 | "version": "4.0.0", 3496 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3497 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3498 | "dev": true 3499 | }, 3500 | "reusify": { 3501 | "version": "1.0.4", 3502 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3503 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3504 | "dev": true 3505 | }, 3506 | "rimraf": { 3507 | "version": "3.0.2", 3508 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3509 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3510 | "dev": true, 3511 | "requires": { 3512 | "glob": "^7.1.3" 3513 | }, 3514 | "dependencies": { 3515 | "glob": { 3516 | "version": "7.2.3", 3517 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 3518 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 3519 | "dev": true, 3520 | "requires": { 3521 | "fs.realpath": "^1.0.0", 3522 | "inflight": "^1.0.4", 3523 | "inherits": "2", 3524 | "minimatch": "^3.1.1", 3525 | "once": "^1.3.0", 3526 | "path-is-absolute": "^1.0.0" 3527 | } 3528 | } 3529 | } 3530 | }, 3531 | "run-parallel": { 3532 | "version": "1.2.0", 3533 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3534 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3535 | "dev": true, 3536 | "requires": { 3537 | "queue-microtask": "^1.2.2" 3538 | } 3539 | }, 3540 | "safe-buffer": { 3541 | "version": "5.2.1", 3542 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3543 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 3544 | "dev": true 3545 | }, 3546 | "serialize-javascript": { 3547 | "version": "6.0.0", 3548 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", 3549 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", 3550 | "dev": true, 3551 | "requires": { 3552 | "randombytes": "^2.1.0" 3553 | } 3554 | }, 3555 | "setimmediate": { 3556 | "version": "1.0.5", 3557 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 3558 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 3559 | "dev": true 3560 | }, 3561 | "shebang-command": { 3562 | "version": "2.0.0", 3563 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3564 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3565 | "dev": true, 3566 | "requires": { 3567 | "shebang-regex": "^3.0.0" 3568 | } 3569 | }, 3570 | "shebang-regex": { 3571 | "version": "3.0.0", 3572 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3573 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3574 | "dev": true 3575 | }, 3576 | "string_decoder": { 3577 | "version": "1.1.1", 3578 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3579 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3580 | "dev": true, 3581 | "requires": { 3582 | "safe-buffer": "~5.1.0" 3583 | }, 3584 | "dependencies": { 3585 | "safe-buffer": { 3586 | "version": "5.1.2", 3587 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3588 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3589 | "dev": true 3590 | } 3591 | } 3592 | }, 3593 | "string-width": { 3594 | "version": "4.2.3", 3595 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3596 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3597 | "dev": true, 3598 | "requires": { 3599 | "emoji-regex": "^8.0.0", 3600 | "is-fullwidth-code-point": "^3.0.0", 3601 | "strip-ansi": "^6.0.1" 3602 | } 3603 | }, 3604 | "strip-ansi": { 3605 | "version": "6.0.1", 3606 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3607 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3608 | "dev": true, 3609 | "requires": { 3610 | "ansi-regex": "^5.0.1" 3611 | } 3612 | }, 3613 | "strip-json-comments": { 3614 | "version": "3.1.1", 3615 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 3616 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 3617 | "dev": true 3618 | }, 3619 | "supports-color": { 3620 | "version": "7.2.0", 3621 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3622 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3623 | "dev": true, 3624 | "requires": { 3625 | "has-flag": "^4.0.0" 3626 | } 3627 | }, 3628 | "text-table": { 3629 | "version": "0.2.0", 3630 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3631 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 3632 | "dev": true 3633 | }, 3634 | "to-regex-range": { 3635 | "version": "5.0.1", 3636 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3637 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3638 | "dev": true, 3639 | "requires": { 3640 | "is-number": "^7.0.0" 3641 | } 3642 | }, 3643 | "traverse": { 3644 | "version": "0.3.9", 3645 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", 3646 | "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", 3647 | "dev": true 3648 | }, 3649 | "type-check": { 3650 | "version": "0.4.0", 3651 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 3652 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 3653 | "dev": true, 3654 | "requires": { 3655 | "prelude-ls": "^1.2.1" 3656 | } 3657 | }, 3658 | "type-fest": { 3659 | "version": "0.20.2", 3660 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 3661 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 3662 | "dev": true 3663 | }, 3664 | "typescript": { 3665 | "version": "4.9.4", 3666 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", 3667 | "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", 3668 | "dev": true 3669 | }, 3670 | "unzipper": { 3671 | "version": "0.10.11", 3672 | "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz", 3673 | "integrity": "sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw==", 3674 | "dev": true, 3675 | "requires": { 3676 | "big-integer": "^1.6.17", 3677 | "binary": "~0.3.0", 3678 | "bluebird": "~3.4.1", 3679 | "buffer-indexof-polyfill": "~1.0.0", 3680 | "duplexer2": "~0.1.4", 3681 | "fstream": "^1.0.12", 3682 | "graceful-fs": "^4.2.2", 3683 | "listenercount": "~1.0.1", 3684 | "readable-stream": "~2.3.6", 3685 | "setimmediate": "~1.0.4" 3686 | } 3687 | }, 3688 | "uri-js": { 3689 | "version": "4.4.1", 3690 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3691 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3692 | "dev": true, 3693 | "requires": { 3694 | "punycode": "^2.1.0" 3695 | } 3696 | }, 3697 | "util-deprecate": { 3698 | "version": "1.0.2", 3699 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3700 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3701 | "dev": true 3702 | }, 3703 | "which": { 3704 | "version": "2.0.2", 3705 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3706 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3707 | "dev": true, 3708 | "requires": { 3709 | "isexe": "^2.0.0" 3710 | } 3711 | }, 3712 | "word-wrap": { 3713 | "version": "1.2.3", 3714 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3715 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3716 | "dev": true 3717 | }, 3718 | "workerpool": { 3719 | "version": "6.2.1", 3720 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", 3721 | "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", 3722 | "dev": true 3723 | }, 3724 | "wrap-ansi": { 3725 | "version": "7.0.0", 3726 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3727 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3728 | "dev": true, 3729 | "requires": { 3730 | "ansi-styles": "^4.0.0", 3731 | "string-width": "^4.1.0", 3732 | "strip-ansi": "^6.0.0" 3733 | } 3734 | }, 3735 | "wrappy": { 3736 | "version": "1.0.2", 3737 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3738 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 3739 | "dev": true 3740 | }, 3741 | "y18n": { 3742 | "version": "5.0.8", 3743 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 3744 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 3745 | "dev": true 3746 | }, 3747 | "yargs": { 3748 | "version": "16.2.0", 3749 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 3750 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 3751 | "dev": true, 3752 | "requires": { 3753 | "cliui": "^7.0.2", 3754 | "escalade": "^3.1.1", 3755 | "get-caller-file": "^2.0.5", 3756 | "require-directory": "^2.1.1", 3757 | "string-width": "^4.2.0", 3758 | "y18n": "^5.0.5", 3759 | "yargs-parser": "^20.2.2" 3760 | } 3761 | }, 3762 | "yargs-parser": { 3763 | "version": "20.2.4", 3764 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", 3765 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", 3766 | "dev": true 3767 | }, 3768 | "yargs-unparser": { 3769 | "version": "2.0.0", 3770 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", 3771 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", 3772 | "dev": true, 3773 | "requires": { 3774 | "camelcase": "^6.0.0", 3775 | "decamelize": "^4.0.0", 3776 | "flat": "^5.0.2", 3777 | "is-plain-obj": "^2.1.0" 3778 | } 3779 | }, 3780 | "yocto-queue": { 3781 | "version": "0.1.0", 3782 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 3783 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 3784 | "dev": true 3785 | } 3786 | } 3787 | } 3788 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "coderjr", 3 | "icon": "coderjr-logo.png", 4 | "displayName": "Coder Jr", 5 | "description": "Designed to streamline your coding workflow, this Visual Studio Code extension offers a range of helpful features and tools.", 6 | "version": "1.0.3", 7 | "author": "Prantik", 8 | "repository": "https://github.com/prantiknoor/coderjr", 9 | "publisher": "Prantik", 10 | "engines": { 11 | "vscode": "^1.50.0" 12 | }, 13 | "categories": [ 14 | "Other" 15 | ], 16 | "activationEvents": [ 17 | "onStartupFinished" 18 | ], 19 | "main": "./extension.js", 20 | "contributes": { 21 | "keybindings": [ 22 | { 23 | "command": "coderjr.command", 24 | "key": "Shift+Enter", 25 | "when": "editorTextFocus" 26 | } 27 | ], 28 | "configuration": { 29 | "title": "Coder Jr", 30 | "properties": { 31 | "openAi.apiKey": { 32 | "type": "string", 33 | "description": "The API key for accessing OpenAI services" 34 | } 35 | } 36 | } 37 | }, 38 | "scripts": { 39 | "lint": "eslint .", 40 | "pretest": "npm run lint", 41 | "test": "node ./test/runTest.js" 42 | }, 43 | "devDependencies": { 44 | "@types/glob": "^8.0.0", 45 | "@types/mocha": "^10.0.1", 46 | "@types/node": "16.x", 47 | "@types/vscode": "^1.50.0", 48 | "@vscode/test-electron": "^2.2.0", 49 | "eslint": "^8.28.0", 50 | "glob": "^8.0.3", 51 | "mocha": "^10.1.0", 52 | "typescript": "^4.9.3" 53 | }, 54 | "dependencies": { 55 | "axios": "^1.2.1" 56 | } 57 | } -------------------------------------------------------------------------------- /test/runTest.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | const { runTests } = require('@vscode/test-electron'); 4 | 5 | async function main() { 6 | try { 7 | // The folder containing the Extension Manifest package.json 8 | // Passed to `--extensionDevelopmentPath` 9 | const extensionDevelopmentPath = path.resolve(__dirname, '../'); 10 | 11 | // The path to the extension test script 12 | // Passed to --extensionTestsPath 13 | const extensionTestsPath = path.resolve(__dirname, './suite/index'); 14 | 15 | // Download VS Code, unzip it and run the integration test 16 | await runTests({ extensionDevelopmentPath, extensionTestsPath }); 17 | } catch (err) { 18 | console.error('Failed to run tests'); 19 | process.exit(1); 20 | } 21 | } 22 | 23 | main(); 24 | -------------------------------------------------------------------------------- /test/suite/extension.test.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert'); 2 | 3 | // You can import and use all API from the 'vscode' module 4 | // as well as import your extension to test it 5 | const vscode = require('vscode'); 6 | // const myExtension = require('../extension'); 7 | 8 | suite('Extension Test Suite', () => { 9 | vscode.window.showInformationMessage('Start all tests.'); 10 | 11 | test('Sample test', () => { 12 | assert.strictEqual(-1, [1, 2, 3].indexOf(5)); 13 | assert.strictEqual(-1, [1, 2, 3].indexOf(0)); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /test/suite/index.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const Mocha = require('mocha'); 3 | const glob = require('glob'); 4 | 5 | function run() { 6 | // Create the mocha test 7 | const mocha = new Mocha({ 8 | ui: 'tdd', 9 | color: true 10 | }); 11 | 12 | const testsRoot = path.resolve(__dirname, '..'); 13 | 14 | return new Promise((c, e) => { 15 | glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { 16 | if (err) { 17 | return e(err); 18 | } 19 | 20 | // Add files to the test suite 21 | files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); 22 | 23 | try { 24 | // Run the mocha test 25 | mocha.run(failures => { 26 | if (failures > 0) { 27 | e(new Error(`${failures} tests failed.`)); 28 | } else { 29 | c(); 30 | } 31 | }); 32 | } catch (err) { 33 | console.error(err); 34 | e(err); 35 | } 36 | }); 37 | }); 38 | } 39 | 40 | module.exports = { 41 | run 42 | }; 43 | --------------------------------------------------------------------------------