From 92467ea06c6c544e314ee9d8940cec993ad21fc7 Mon Sep 17 00:00:00 2001 From: Serban Ghita Date: Tue, 4 Jun 2024 23:06:46 +0300 Subject: [PATCH] Now working on animation, rendering and hitbox of the main characters. --- package-lock.json | 5536 +++++----------- packages/assets/.gitignore | 2 + packages/assets/package.json | 19 +- packages/assets/src/index.ts | 6 +- packages/component/src/index.ts | 2 +- packages/demo/.gitignore | 3 +- packages/demo/{build => dist}/index.html | 0 packages/demo/package-lock.json | 5123 --------------- packages/demo/package.json | 23 +- .../assets/sprites/dino-boss.animations.json | 32 +- .../demo/src/assets/sprites/dino-boss.png | Bin 123251 -> 0 bytes packages/demo/src/assets/sprites/kil.png | Bin 224945 -> 0 bytes packages/demo/src/component/CurrentState.ts | 2 +- .../demo/src/component/IsAttackingWithClub.ts | 2 +- packages/demo/src/component/IsIdle.ts | 2 +- packages/demo/src/component/IsWalking.ts | 4 +- packages/demo/src/index.ts | 32 +- .../src/system/AttackingWithClubSystem.ts | 6 +- packages/demo/src/system/IdleSystem.ts | 5 +- .../demo/src/system/PlayerKeyboardSystem.ts | 13 +- packages/demo/src/system/PreRenderSystem.ts | 5 +- packages/demo/src/system/RenderSystem.ts | 24 +- packages/demo/src/system/WalkingSystem.ts | 5 +- packages/demo/tsconfig.json | 13 +- packages/demo/vite.config.ts | 17 + packages/demo/webpack.config.js | 53 - packages/ecs/package.json | 1 + packages/ecs/src/Component.ts | 4 +- packages/ecs/src/Entity.ts | 2 +- packages/ecs/src/Query.test.ts | 17 +- packages/ecs/src/Query.ts | 15 +- packages/ecs/src/System.ts | 2 +- packages/ecs/src/World.test.ts | 4 +- packages/ecs/src/World.ts | 2 +- packages/ecs/tsconfig.json | 3 +- packages/ecs/vite.config.ts | 1 + packages/input/.gitignore | 2 + packages/input/jest.config.js | 22 - packages/input/package-lock.json | 5552 ----------------- packages/input/package.json | 28 +- packages/input/src/Keyboard.ts | 14 +- packages/input/src/index.ts | 2 +- packages/input/tsconfig.json | 6 +- packages/renderer/dist/main.js | 14 - packages/renderer/package.json | 22 +- packages/renderer/src/animation.ts | 2 +- packages/renderer/src/canvas.ts | 20 + packages/renderer/src/index.ts | 3 + packages/renderer/tsconfig.json | 5 +- 49 files changed, 1801 insertions(+), 14871 deletions(-) create mode 100644 packages/assets/.gitignore rename packages/demo/{build => dist}/index.html (100%) delete mode 100644 packages/demo/package-lock.json delete mode 100644 packages/demo/src/assets/sprites/dino-boss.png delete mode 100644 packages/demo/src/assets/sprites/kil.png create mode 100644 packages/demo/vite.config.ts delete mode 100644 packages/demo/webpack.config.js create mode 100644 packages/input/.gitignore delete mode 100644 packages/input/jest.config.js delete mode 100644 packages/input/package-lock.json delete mode 100644 packages/renderer/dist/main.js create mode 100644 packages/renderer/src/index.ts diff --git a/package-lock.json b/package-lock.json index 006ef17..f95d639 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2020,14 +2020,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -3319,6 +3311,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -3338,12 +3331,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4136,6 +4123,14 @@ "resolved": "packages/ecs", "link": true }, + "node_modules/@serbanghita-gamedev/input": { + "resolved": "packages/input", + "link": true + }, + "node_modules/@serbanghita-gamedev/renderer": { + "resolved": "packages/renderer", + "link": true + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -4225,44 +4220,6 @@ "@babel/types": "^7.20.7" } }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, "node_modules/@types/eslint": { "version": "8.56.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.6.tgz", @@ -4285,6 +4242,7 @@ "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "peer": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -4295,30 +4253,6 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -4328,21 +4262,6 @@ "@types/node": "*" } }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -4427,12 +4346,6 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, "node_modules/@types/node": { "version": "20.11.30", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", @@ -4441,15 +4354,6 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/parse-json": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", @@ -4462,83 +4366,17 @@ "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true }, - "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "dev": true }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/yargs": { "version": "17.0.32", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", @@ -5025,6 +4863,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -5033,22 +4872,26 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -5058,12 +4901,14 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5075,6 +4920,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -5083,6 +4929,7 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -5090,12 +4937,14 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5111,6 +4960,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -5123,6 +4973,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -5134,6 +4985,7 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -5147,53 +4999,23 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "peer": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -5254,19 +5076,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", @@ -5282,6 +5091,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, "peerDependencies": { "acorn": "^8" } @@ -5327,49 +5137,11 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -5398,18 +5170,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -5456,12 +5216,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -5716,24 +5470,6 @@ } ] }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -5745,64 +5481,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5913,15 +5591,6 @@ "semver": "^7.0.0" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -5931,25 +5600,6 @@ "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -6040,34 +5690,11 @@ "node": "*" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true, "engines": { "node": ">=6.0" } @@ -6157,30 +5784,6 @@ "node": ">=0.8" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -6213,11 +5816,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, "node_modules/columnify": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz", @@ -6246,63 +5844,13 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/confbox": { "version": "0.1.7", @@ -6310,57 +5858,12 @@ "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "dev": true }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, "node_modules/core-js-compat": { "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", @@ -6374,12 +5877,6 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", @@ -6539,18 +6036,6 @@ "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -6563,23 +6048,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -6598,25 +6066,6 @@ "node": ">=0.4.0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -6626,12 +6075,6 @@ "node": ">=8" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, "node_modules/detect-port": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", @@ -6678,18 +6121,6 @@ "node": ">=8" } }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -6728,12 +6159,6 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, "node_modules/ejs": { "version": "3.1.9", "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", @@ -6772,15 +6197,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -6814,17 +6230,6 @@ "node": ">=8.6" } }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -6834,31 +6239,11 @@ "is-arrayish": "^0.2.1" } }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-module-lexer": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.2.tgz", - "integrity": "sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==" + "integrity": "sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==", + "peer": true }, "node_modules/esbuild": { "version": "0.19.12", @@ -6906,12 +6291,6 @@ "node": ">=6" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -7156,25 +6535,11 @@ "node": ">=0.10.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true, "engines": { "node": ">=0.8.x" } @@ -7236,63 +6601,6 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/express": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.0.tgz", - "integrity": "sha512-/ERliX0l7UuHEgAy7HU2FRsiz3ScIKNl/iwnoYzHTJC0Sqj3ctWDD3MQ9CbUEfjshvxXImWaeukD0Xo7a2lWLA==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7323,14 +6631,6 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -7339,18 +6639,6 @@ "reusify": "^1.0.4" } }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", @@ -7427,43 +6715,11 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -7476,6 +6732,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, "bin": { "flat": "cli.js" } @@ -7532,24 +6789,6 @@ "node": ">= 6" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", @@ -7570,12 +6809,6 @@ "node": ">=14.14" } }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -7599,6 +6832,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7630,25 +6864,6 @@ "node": "*" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -7678,14 +6893,6 @@ "resolved": "packages/fsm", "link": true }, - "node_modules/glhf-input": { - "resolved": "packages/input", - "link": true - }, - "node_modules/glhf-renderer": { - "resolved": "packages/renderer", - "link": true - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -7720,7 +6927,8 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true }, "node_modules/globals": { "version": "13.24.0", @@ -7772,18 +6980,6 @@ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", "dev": true }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -7794,12 +6990,6 @@ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7808,46 +6998,11 @@ "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -7855,178 +7010,30 @@ "node": ">= 0.4" } }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=10.17.0" } }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" + "url": "https://github.com/sponsors/feross" }, { "type": "patreon", @@ -8073,6 +7080,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -8109,45 +7117,17 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -8265,20 +7245,6 @@ "node": ">=8" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -9861,14 +8827,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -9878,16 +8836,6 @@ "node": ">=6" } }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -9922,6 +8870,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true, "engines": { "node": ">=6.11.5" } @@ -9946,6 +8895,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -10045,33 +8995,6 @@ "tmpl": "1.0.5" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -10085,15 +9008,6 @@ "node": ">= 8" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -10106,18 +9020,6 @@ "node": ">=8.6" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -10146,12 +9048,6 @@ "node": ">=6" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -10189,19 +9085,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -10230,28 +9113,11 @@ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true }, "node_modules/node-int64": { "version": "0.4.0", @@ -10407,42 +9273,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -10503,6 +9333,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -10517,39 +9348,19 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "p-limit": "^2.2.0" }, "engines": { "node": ">=8" } }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { "node": ">=6" } @@ -10589,15 +9400,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -10625,12 +9427,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-type": { @@ -10685,6 +9482,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, "dependencies": { "find-up": "^4.0.0" }, @@ -10774,12 +9572,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -10793,28 +9585,6 @@ "node": ">= 6" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -10845,21 +9615,6 @@ } ] }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -10883,43 +9638,11 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -10940,29 +9663,6 @@ "node": ">= 6" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -11043,25 +9743,11 @@ "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -11078,6 +9764,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, "dependencies": { "resolve-from": "^5.0.0" }, @@ -11089,6 +9776,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, "engines": { "node": ">=8" } @@ -11224,6 +9912,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "peer": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11237,25 +9926,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", @@ -11270,186 +9940,15 @@ "node": ">=10" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/serialize-javascript": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "peer": true, "dependencies": { "randombytes": "^2.1.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -11469,33 +9968,6 @@ "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/siginfo": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", @@ -11522,26 +9994,6 @@ "node": ">=8" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -11598,36 +10050,6 @@ "source-map": "^0.6.0" } }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", @@ -11655,15 +10077,6 @@ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/std-env": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", @@ -11809,6 +10222,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -11860,6 +10274,7 @@ "version": "5.29.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", + "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -11877,6 +10292,7 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -11910,6 +10326,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -11923,6 +10340,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11937,6 +10355,7 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11967,12 +10386,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, "node_modules/tinybench": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", @@ -12032,15 +10445,6 @@ "node": ">=8.0" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/ts-api-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", @@ -12200,20 +10604,6 @@ "node": ">=6" } }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", - "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -12280,19 +10670,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -12578,15 +10955,6 @@ "node": ">= 10.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/update-browserslist-db": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", @@ -12630,15 +10998,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -12671,15 +11030,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/vite": { "version": "5.2.12", "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", @@ -13394,6 +11744,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -13402,15 +11753,6 @@ "node": ">=10.13.0" } }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", @@ -13424,6 +11766,7 @@ "version": "5.91.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -13466,276 +11809,23 @@ } } }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "peer": true, "engines": { "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" } }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "dev": true, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "peer": true, "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { "node": ">=8.0.0" @@ -13745,33 +11835,11 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true, "engines": { "node": ">=4.0" } }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/why-is-node-running": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", @@ -13788,11 +11856,6 @@ "node": ">=8" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -13811,27 +11874,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -13904,200 +11946,457 @@ }, "packages/assets": { "name": "@serbanghita-gamedev/assets", - "version": "1.0.0", - "license": "MIT" - }, - "packages/bitmask": { - "name": "@serbanghita-gamedev/bitmask", - "version": "1.0.0", + "version": "0.0.1", "license": "MIT", "devDependencies": { "@eslint/js": "^9.4.0", "@types/eslint__js": "^8.42.3", - "esbuild": "0.21.4", "eslint": "^9.4.0", "typescript": "^5.4.5", - "typescript-eslint": "^7.11.0", - "vitest": "^1.6.0" - } - }, - "packages/bitmask/node_modules/@esbuild/aix-ppc64": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", - "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" + "typescript-eslint": "^7.11.0" } }, - "packages/bitmask/node_modules/@esbuild/android-arm": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", - "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", - "cpu": [ - "arm" - ], + "packages/assets/node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/bitmask/node_modules/@esbuild/android-arm64": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", - "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", - "cpu": [ - "arm64" - ], + "packages/assets/node_modules/@eslint/js": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "packages/bitmask/node_modules/@esbuild/android-x64": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", - "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", - "cpu": [ - "x64" - ], + "packages/assets/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/bitmask/node_modules/@esbuild/darwin-arm64": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", - "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", - "cpu": [ - "arm64" - ], + "packages/assets/node_modules/eslint": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", + "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "packages/bitmask/node_modules/@esbuild/darwin-x64": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", - "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", - "cpu": [ - "x64" - ], + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.15.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.4.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/assets/node_modules/eslint-scope": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/bitmask/node_modules/@esbuild/freebsd-arm64": { + "packages/assets/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/assets/node_modules/espree": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "packages/assets/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "packages/assets/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/assets/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "packages/assets/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "packages/assets/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/assets/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/assets/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/assets/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "packages/bitmask": { + "name": "@serbanghita-gamedev/bitmask", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "esbuild": "0.21.4", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0", + "vitest": "^1.6.0" + } + }, + "packages/bitmask/node_modules/@esbuild/aix-ppc64": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", - "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", + "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", "cpu": [ - "arm64" + "ppc64" ], "dev": true, "optional": true, "os": [ - "freebsd" + "aix" ], "engines": { "node": ">=12" } }, - "packages/bitmask/node_modules/@esbuild/freebsd-x64": { + "packages/bitmask/node_modules/@esbuild/android-arm": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", - "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", + "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", "cpu": [ - "x64" + "arm" ], "dev": true, "optional": true, "os": [ - "freebsd" + "android" ], "engines": { "node": ">=12" } }, - "packages/bitmask/node_modules/@esbuild/linux-arm": { + "packages/bitmask/node_modules/@esbuild/android-arm64": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", - "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", + "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", "cpu": [ - "arm" + "arm64" ], "dev": true, "optional": true, "os": [ - "linux" + "android" ], "engines": { "node": ">=12" } }, - "packages/bitmask/node_modules/@esbuild/linux-arm64": { + "packages/bitmask/node_modules/@esbuild/android-x64": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", - "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", + "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", "cpu": [ - "arm64" + "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "android" ], "engines": { "node": ">=12" } }, - "packages/bitmask/node_modules/@esbuild/linux-ia32": { + "packages/bitmask/node_modules/@esbuild/darwin-arm64": { "version": "0.21.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", - "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", + "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "optional": true, "os": [ - "linux" + "darwin" ], "engines": { "node": ">=12" } }, - "packages/bitmask/node_modules/@esbuild/linux-loong64": { + "packages/bitmask/node_modules/@esbuild/darwin-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", + "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", + "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", + "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/linux-arm": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", + "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/linux-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", + "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/linux-ia32": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", + "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "packages/bitmask/node_modules/@esbuild/linux-loong64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz", "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==", @@ -15250,37 +13549,17 @@ "packages/demo": { "name": "glhf-demo", "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "^5.3.3", - "webpack": "^5.89.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.15.1" - } - }, - "packages/ecs": { - "name": "@serbanghita-gamedev/ecs", - "version": "1.0.0", - "license": "MIT", + "license": "All code is MIT, the assets are copywritten.", "devDependencies": { - "@eslint/js": "^9.3.0", + "@eslint/js": "^9.4.0", "@types/eslint__js": "^8.42.3", "esbuild": "0.21.4", - "eslint": "^9.3.0", + "eslint": "^9.4.0", "typescript": "^5.4.5", - "typescript-eslint": "^7.11.0", - "vite-tsconfig-paths": "^4.3.2", - "vitest": "^1.6.0" + "typescript-eslint": "^7.11.0" } }, - "packages/ecs/node_modules/@esbuild/aix-ppc64": { + "packages/demo/node_modules/@esbuild/aix-ppc64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", @@ -15296,7 +13575,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/android-arm": { + "packages/demo/node_modules/@esbuild/android-arm": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", @@ -15312,7 +13591,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/android-arm64": { + "packages/demo/node_modules/@esbuild/android-arm64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", @@ -15328,7 +13607,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/android-x64": { + "packages/demo/node_modules/@esbuild/android-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", @@ -15344,7 +13623,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/darwin-arm64": { + "packages/demo/node_modules/@esbuild/darwin-arm64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", @@ -15360,7 +13639,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/darwin-x64": { + "packages/demo/node_modules/@esbuild/darwin-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", @@ -15376,7 +13655,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/freebsd-arm64": { + "packages/demo/node_modules/@esbuild/freebsd-arm64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", @@ -15392,7 +13671,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/freebsd-x64": { + "packages/demo/node_modules/@esbuild/freebsd-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", @@ -15408,7 +13687,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-arm": { + "packages/demo/node_modules/@esbuild/linux-arm": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", @@ -15424,7 +13703,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-arm64": { + "packages/demo/node_modules/@esbuild/linux-arm64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", @@ -15440,7 +13719,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-ia32": { + "packages/demo/node_modules/@esbuild/linux-ia32": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", @@ -15456,7 +13735,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-loong64": { + "packages/demo/node_modules/@esbuild/linux-loong64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz", "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==", @@ -15472,7 +13751,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-mips64el": { + "packages/demo/node_modules/@esbuild/linux-mips64el": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz", "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==", @@ -15488,7 +13767,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-ppc64": { + "packages/demo/node_modules/@esbuild/linux-ppc64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz", "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==", @@ -15504,7 +13783,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-riscv64": { + "packages/demo/node_modules/@esbuild/linux-riscv64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz", "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==", @@ -15520,7 +13799,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-s390x": { + "packages/demo/node_modules/@esbuild/linux-s390x": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz", "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==", @@ -15536,7 +13815,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/linux-x64": { + "packages/demo/node_modules/@esbuild/linux-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz", "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==", @@ -15552,7 +13831,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/netbsd-x64": { + "packages/demo/node_modules/@esbuild/netbsd-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz", "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==", @@ -15568,7 +13847,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/openbsd-x64": { + "packages/demo/node_modules/@esbuild/openbsd-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz", "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==", @@ -15584,7 +13863,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/sunos-x64": { + "packages/demo/node_modules/@esbuild/sunos-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz", "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==", @@ -15600,7 +13879,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/win32-arm64": { + "packages/demo/node_modules/@esbuild/win32-arm64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz", "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==", @@ -15616,7 +13895,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/win32-ia32": { + "packages/demo/node_modules/@esbuild/win32-ia32": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz", "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==", @@ -15632,7 +13911,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@esbuild/win32-x64": { + "packages/demo/node_modules/@esbuild/win32-x64": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz", "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==", @@ -15648,7 +13927,7 @@ "node": ">=12" } }, - "packages/ecs/node_modules/@eslint/eslintrc": { + "packages/demo/node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", @@ -15671,7 +13950,7 @@ "url": "https://opencollective.com/eslint" } }, - "packages/ecs/node_modules/@eslint/js": { + "packages/demo/node_modules/@eslint/js": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", @@ -15680,7 +13959,7 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "packages/ecs/node_modules/esbuild": { + "packages/demo/node_modules/esbuild": { "version": "0.21.4", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz", "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==", @@ -15718,7 +13997,7 @@ "@esbuild/win32-x64": "0.21.4" } }, - "packages/ecs/node_modules/escape-string-regexp": { + "packages/demo/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", @@ -15730,7 +14009,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/ecs/node_modules/eslint": { + "packages/demo/node_modules/eslint": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", @@ -15781,7 +14060,7 @@ "url": "https://opencollective.com/eslint" } }, - "packages/ecs/node_modules/eslint-scope": { + "packages/demo/node_modules/eslint-scope": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", @@ -15797,7 +14076,7 @@ "url": "https://opencollective.com/eslint" } }, - "packages/ecs/node_modules/eslint-visitor-keys": { + "packages/demo/node_modules/eslint-visitor-keys": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", @@ -15809,7 +14088,7 @@ "url": "https://opencollective.com/eslint" } }, - "packages/ecs/node_modules/espree": { + "packages/demo/node_modules/espree": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", @@ -15826,7 +14105,7 @@ "url": "https://opencollective.com/eslint" } }, - "packages/ecs/node_modules/file-entry-cache": { + "packages/demo/node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", @@ -15838,7 +14117,7 @@ "node": ">=16.0.0" } }, - "packages/ecs/node_modules/find-up": { + "packages/demo/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", @@ -15854,7 +14133,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/ecs/node_modules/flat-cache": { + "packages/demo/node_modules/flat-cache": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", @@ -15867,7 +14146,7 @@ "node": ">=16" } }, - "packages/ecs/node_modules/glob-parent": { + "packages/demo/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", @@ -15879,7 +14158,7 @@ "node": ">=10.13.0" } }, - "packages/ecs/node_modules/globals": { + "packages/demo/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", @@ -15891,7 +14170,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/ecs/node_modules/locate-path": { + "packages/demo/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", @@ -15906,7 +14185,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/ecs/node_modules/p-limit": { + "packages/demo/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", @@ -15921,7 +14200,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/ecs/node_modules/p-locate": { + "packages/demo/node_modules/p-locate": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", @@ -15936,868 +14215,587 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/fsm": { - "name": "glhf-fsm", + "packages/ecs": { + "name": "@serbanghita-gamedev/ecs", "version": "1.0.0", "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^4.7.4" - }, "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" + "@eslint/js": "^9.3.0", + "@types/eslint__js": "^8.42.3", + "esbuild": "0.21.4", + "eslint": "^9.3.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0", + "vite-tsconfig-paths": "^4.3.2", + "vitest": "^1.6.0" } }, - "packages/fsm/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "packages/ecs/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz", + "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "packages/ecs/node_modules/@esbuild/android-arm": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz", + "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "packages/ecs/node_modules/@esbuild/android-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz", + "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "packages/ecs/node_modules/@esbuild/android-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz", + "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "packages/ecs/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz", + "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "packages/ecs/node_modules/@esbuild/darwin-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz", + "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "packages/ecs/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz", + "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "packages/ecs/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz", + "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "packages/ecs/node_modules/@esbuild/linux-arm": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz", + "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "packages/ecs/node_modules/@esbuild/linux-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz", + "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "packages/ecs/node_modules/@esbuild/linux-ia32": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz", + "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "packages/ecs/node_modules/@esbuild/linux-loong64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz", + "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "packages/fsm/node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "packages/ecs/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz", + "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "packages/fsm/node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "packages/ecs/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz", + "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "packages/fsm/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "packages/ecs/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz", + "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==", + "cpu": [ + "riscv64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "packages/fsm/node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "packages/ecs/node_modules/@esbuild/linux-s390x": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz", + "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=12" } }, - "packages/fsm/node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "packages/ecs/node_modules/@esbuild/linux-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz", + "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "packages/ecs/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz", + "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "packages/ecs/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz", + "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "packages/fsm/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "packages/fsm/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "packages/ecs/node_modules/@esbuild/sunos-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz", + "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "packages/ecs/node_modules/@esbuild/win32-arm64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz", + "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "packages/fsm/node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "packages/ecs/node_modules/@esbuild/win32-ia32": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz", + "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - }, - "bin": { - "jest": "bin/jest.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/fsm/node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" } }, - "packages/fsm/node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "packages/ecs/node_modules/@esbuild/win32-x64": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz", + "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=12" } }, - "packages/fsm/node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "packages/ecs/node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "packages/fsm/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/fsm/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "packages/ecs/node_modules/@eslint/js": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "packages/fsm/node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "packages/ecs/node_modules/esbuild": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz", + "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==", "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" }, "optionalDependencies": { - "fsevents": "^2.3.2" + "@esbuild/aix-ppc64": "0.21.4", + "@esbuild/android-arm": "0.21.4", + "@esbuild/android-arm64": "0.21.4", + "@esbuild/android-x64": "0.21.4", + "@esbuild/darwin-arm64": "0.21.4", + "@esbuild/darwin-x64": "0.21.4", + "@esbuild/freebsd-arm64": "0.21.4", + "@esbuild/freebsd-x64": "0.21.4", + "@esbuild/linux-arm": "0.21.4", + "@esbuild/linux-arm64": "0.21.4", + "@esbuild/linux-ia32": "0.21.4", + "@esbuild/linux-loong64": "0.21.4", + "@esbuild/linux-mips64el": "0.21.4", + "@esbuild/linux-ppc64": "0.21.4", + "@esbuild/linux-riscv64": "0.21.4", + "@esbuild/linux-s390x": "0.21.4", + "@esbuild/linux-x64": "0.21.4", + "@esbuild/netbsd-x64": "0.21.4", + "@esbuild/openbsd-x64": "0.21.4", + "@esbuild/sunos-x64": "0.21.4", + "@esbuild/win32-arm64": "0.21.4", + "@esbuild/win32-ia32": "0.21.4", + "@esbuild/win32-x64": "0.21.4" } }, - "packages/fsm/node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "packages/ecs/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" + "node": ">=10" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/fsm/node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "packages/ecs/node_modules/eslint": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", + "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.15.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.4.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/fsm/node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "packages/ecs/node_modules/eslint-scope": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/fsm/node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/fsm/node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "packages/ecs/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/fsm/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "packages/ecs/node_modules/espree": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" + "acorn": "^8.11.3", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/fsm/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "packages/ecs/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=16.0.0" } }, - "packages/fsm/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "packages/ecs/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" @@ -16806,179 +14804,90 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/fsm/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "packages/ecs/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=16" } }, - "packages/fsm/node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "packages/ecs/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">=10" + "node": ">=10.13.0" } }, - "packages/fsm/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "packages/ecs/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/fsm/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "packages/ecs/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" }, "engines": { - "node": ">=4.2.0" - } - }, - "packages/glhf-assets": { - "version": "1.0.0", - "extraneous": true, - "license": "MIT" - }, - "packages/glhf-bitmask": { - "name": "@serbanghita-gamedev/bitmask", - "version": "1.0.0", - "extraneous": true, - "license": "MIT", - "devDependencies": { - "@eslint/js": "^9.4.0", - "@types/eslint__js": "^8.42.3", - "esbuild": "0.21.4", - "eslint": "^9.4.0", - "typescript": "^5.4.5", - "typescript-eslint": "^7.11.0", - "vitest": "^1.6.0" - } - }, - "packages/glhf-component": { - "version": "1.0.0", - "extraneous": true, - "license": "MIT" - }, - "packages/glhf-demo": { - "version": "1.0.0", - "extraneous": true, - "license": "ISC", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "^5.3.3", - "webpack": "^5.89.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.15.1" - } - }, - "packages/glhf-ecs": { - "name": "@serbanghita-gamedev/ecs", - "version": "1.0.0", - "extraneous": true, - "license": "MIT", - "devDependencies": { - "@eslint/js": "^9.3.0", - "@types/eslint__js": "^8.42.3", - "esbuild": "0.21.4", - "eslint": "^9.3.0", - "typescript": "^5.4.5", - "typescript-eslint": "^7.11.0", - "vite-tsconfig-paths": "^4.3.2", - "vitest": "^1.6.0" - } - }, - "packages/glhf-fsm": { - "version": "1.0.0", - "extraneous": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^4.7.4" + "node": ">=10" }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/glhf-input": { - "version": "1.0.0", - "extraneous": true, - "license": "MIT", + "packages/ecs/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" + "yocto-queue": "^0.1.0" }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/glhf-renderer": { - "version": "1.0.0", - "extraneous": true, - "license": "MIT", + "packages/ecs/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" + "p-limit": "^3.0.2" }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/input": { - "name": "glhf-input", + "packages/fsm": { + "name": "glhf-fsm", "version": "1.0.0", "license": "MIT", "dependencies": { @@ -16987,9 +14896,7 @@ "eslint": "^8.22.0", "source-map-loader": "^4.0.0", "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" + "typescript": "^4.7.4" }, "devDependencies": { "@types/jest": "^28.1.7", @@ -16998,7 +14905,7 @@ "ts-node": "^10.9.1" } }, - "packages/input/node_modules/@jest/console": { + "packages/fsm/node_modules/@jest/console": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", @@ -17015,7 +14922,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/core": { + "packages/fsm/node_modules/@jest/core": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", @@ -17063,7 +14970,7 @@ } } }, - "packages/input/node_modules/@jest/environment": { + "packages/fsm/node_modules/@jest/environment": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", @@ -17078,7 +14985,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/expect": { + "packages/fsm/node_modules/@jest/expect": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", @@ -17091,7 +14998,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/fake-timers": { + "packages/fsm/node_modules/@jest/fake-timers": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", @@ -17108,7 +15015,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/globals": { + "packages/fsm/node_modules/@jest/globals": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", @@ -17122,7 +15029,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/reporters": { + "packages/fsm/node_modules/@jest/reporters": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", @@ -17166,7 +15073,7 @@ } } }, - "packages/input/node_modules/@jest/schemas": { + "packages/fsm/node_modules/@jest/schemas": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", @@ -17178,7 +15085,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/source-map": { + "packages/fsm/node_modules/@jest/source-map": { "version": "28.1.2", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", @@ -17192,7 +15099,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/test-result": { + "packages/fsm/node_modules/@jest/test-result": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", @@ -17207,7 +15114,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/test-sequencer": { + "packages/fsm/node_modules/@jest/test-sequencer": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", @@ -17222,7 +15129,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@jest/transform": { + "packages/fsm/node_modules/@jest/transform": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", @@ -17248,13 +15155,13 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/@sinclair/typebox": { + "packages/fsm/node_modules/@sinclair/typebox": { "version": "0.24.51", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", "dev": true }, - "packages/input/node_modules/@sinonjs/commons": { + "packages/fsm/node_modules/@sinonjs/commons": { "version": "1.8.6", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", @@ -17263,7 +15170,7 @@ "type-detect": "4.0.8" } }, - "packages/input/node_modules/@sinonjs/fake-timers": { + "packages/fsm/node_modules/@sinonjs/fake-timers": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", @@ -17272,7 +15179,7 @@ "@sinonjs/commons": "^1.7.0" } }, - "packages/input/node_modules/ansi-styles": { + "packages/fsm/node_modules/ansi-styles": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", @@ -17284,7 +15191,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/input/node_modules/babel-jest": { + "packages/fsm/node_modules/babel-jest": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", @@ -17305,7 +15212,7 @@ "@babel/core": "^7.8.0" } }, - "packages/input/node_modules/babel-plugin-jest-hoist": { + "packages/fsm/node_modules/babel-plugin-jest-hoist": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", @@ -17320,7 +15227,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/babel-preset-jest": { + "packages/fsm/node_modules/babel-preset-jest": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", @@ -17336,7 +15243,7 @@ "@babel/core": "^7.0.0" } }, - "packages/input/node_modules/camelcase": { + "packages/fsm/node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", @@ -17348,13 +15255,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/input/node_modules/convert-source-map": { + "packages/fsm/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "packages/input/node_modules/diff-sequences": { + "packages/fsm/node_modules/diff-sequences": { "version": "28.1.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", @@ -17363,7 +15270,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/emittery": { + "packages/fsm/node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", @@ -17375,7 +15282,7 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "packages/input/node_modules/jest": { + "packages/fsm/node_modules/jest": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", @@ -17401,7 +15308,7 @@ } } }, - "packages/input/node_modules/jest-changed-files": { + "packages/fsm/node_modules/jest-changed-files": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", @@ -17414,7 +15321,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-circus": { + "packages/fsm/node_modules/jest-circus": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", @@ -17444,7 +15351,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-cli": { + "packages/fsm/node_modules/jest-cli": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", @@ -17478,7 +15385,7 @@ } } }, - "packages/input/node_modules/jest-config": { + "packages/fsm/node_modules/jest-config": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", @@ -17523,7 +15430,7 @@ } } }, - "packages/input/node_modules/jest-diff": { + "packages/fsm/node_modules/jest-diff": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", @@ -17538,7 +15445,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-docblock": { + "packages/fsm/node_modules/jest-docblock": { "version": "28.1.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", @@ -17550,7 +15457,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-each": { + "packages/fsm/node_modules/jest-each": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", @@ -17566,7 +15473,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-environment-node": { + "packages/fsm/node_modules/jest-environment-node": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", @@ -17583,7 +15490,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-get-type": { + "packages/fsm/node_modules/jest-get-type": { "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", @@ -17592,7 +15499,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-haste-map": { + "packages/fsm/node_modules/jest-haste-map": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", @@ -17617,7 +15524,7 @@ "fsevents": "^2.3.2" } }, - "packages/input/node_modules/jest-leak-detector": { + "packages/fsm/node_modules/jest-leak-detector": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", @@ -17630,7 +15537,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-mock": { + "packages/fsm/node_modules/jest-mock": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", @@ -17643,7 +15550,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-regex-util": { + "packages/fsm/node_modules/jest-regex-util": { "version": "28.0.2", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", @@ -17652,7 +15559,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-resolve": { + "packages/fsm/node_modules/jest-resolve": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", @@ -17672,7 +15579,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-resolve-dependencies": { + "packages/fsm/node_modules/jest-resolve-dependencies": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", @@ -17685,7 +15592,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-runner": { + "packages/fsm/node_modules/jest-runner": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", @@ -17717,7 +15624,7 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/input/node_modules/jest-runtime": { + "packages/fsm/node_modules/jest-runtime": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", @@ -17742,1007 +15649,776 @@ "jest-regex-util": "^28.0.2", "jest-resolve": "^28.1.3", "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/input/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/input/node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "packages/input/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "packages/renderer": { - "name": "glhf-renderer", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" - }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" - } - }, - "packages/renderer/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/renderer/node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "packages/renderer/node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/renderer/node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", - "dev": true, - "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" + "jest-util": "^28.1.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/renderer/node_modules/@jest/fake-timers": { + "packages/fsm/node_modules/jest-snapshot": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", "dev": true, "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-util": "^28.1.3", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.3", + "semver": "^7.3.5" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/renderer/node_modules/@jest/globals": { + "packages/fsm/node_modules/jest-validate": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "@jest/types": "^28.1.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "leven": "^3.1.0", + "pretty-format": "^28.1.3" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/renderer/node_modules/@jest/reporters": { + "packages/fsm/node_modules/jest-watcher": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", "@types/node": "*", + "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", + "emittery": "^0.10.2", "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" + "string-length": "^4.0.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } } }, - "packages/renderer/node_modules/@jest/schemas": { + "packages/fsm/node_modules/jest-worker": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.24.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/renderer/node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "packages/fsm/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "yocto-queue": "^0.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/@jest/test-result": { + "packages/fsm/node_modules/pretty-format": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "packages/renderer/node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "packages/fsm/node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "packages/fsm/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "packages/fsm/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "packages/glhf-assets": { + "version": "1.0.0", + "extraneous": true, + "license": "MIT" + }, + "packages/glhf-bitmask": { + "name": "@serbanghita-gamedev/bitmask", + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "esbuild": "0.21.4", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0", + "vitest": "^1.6.0" + } + }, + "packages/glhf-component": { + "version": "1.0.0", + "extraneous": true, + "license": "MIT" + }, + "packages/glhf-demo": { + "version": "1.0.0", + "extraneous": true, + "license": "ISC", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.33.1", + "@typescript-eslint/parser": "^5.33.1", + "eslint": "^8.22.0", + "source-map-loader": "^4.0.0", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "tsconfig-paths-webpack-plugin": "^4.1.0", + "typescript": "^5.3.3", + "webpack": "^5.89.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.15.1" + } + }, + "packages/glhf-ecs": { + "name": "@serbanghita-gamedev/ecs", + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.3.0", + "@types/eslint__js": "^8.42.3", + "esbuild": "0.21.4", + "eslint": "^9.3.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0", + "vite-tsconfig-paths": "^4.3.2", + "vitest": "^1.6.0" + } + }, + "packages/glhf-fsm": { + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.33.1", + "@typescript-eslint/parser": "^5.33.1", + "eslint": "^8.22.0", + "source-map-loader": "^4.0.0", + "ts-loader": "^9.3.1", + "typescript": "^4.7.4" + }, + "devDependencies": { + "@types/jest": "^28.1.7", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node": "^10.9.1" + } + }, + "packages/glhf-input": { + "version": "1.0.0", + "extraneous": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.33.1", + "@typescript-eslint/parser": "^5.33.1", + "eslint": "^8.22.0", + "source-map-loader": "^4.0.0", + "ts-loader": "^9.3.1", + "typescript": "^5.3.3", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0" + }, + "devDependencies": { + "@types/jest": "^28.1.7", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node": "^10.9.1" } }, - "packages/renderer/node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", - "dev": true, + "packages/glhf-renderer": { + "version": "1.0.0", + "extraneous": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "@typescript-eslint/eslint-plugin": "^5.33.1", + "@typescript-eslint/parser": "^5.33.1", + "eslint": "^8.22.0", + "source-map-loader": "^4.0.0", + "ts-loader": "^9.3.1", + "typescript": "^5.3.3", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "devDependencies": { + "@types/jest": "^28.1.7", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node": "^10.9.1" } }, - "packages/renderer/node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true + "packages/input": { + "name": "@serbanghita-gamedev/input", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" + } }, - "packages/renderer/node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "packages/input/node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "dependencies": { - "type-detect": "4.0.8" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "packages/input/node_modules/@eslint/js": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "packages/renderer/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "packages/input/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "packages/input/node_modules/eslint": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", + "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", "dev": true, "dependencies": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.15.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.4.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "packages/renderer/node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "packages/input/node_modules/eslint-scope": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "packages/input/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "packages/renderer/node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "packages/input/node_modules/espree": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "packages/input/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "flat-cache": "^4.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">=16.0.0" } }, - "packages/renderer/node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "packages/input/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - }, - "bin": { - "jest": "bin/jest.js" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "packages/input/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=16" } }, - "packages/renderer/node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "packages/input/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "is-glob": "^4.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10.13.0" } }, - "packages/renderer/node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "packages/input/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=18" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "packages/input/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "p-locate": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "packages/input/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "yocto-queue": "^0.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "packages/input/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "packages/renderer": { + "name": "@serbanghita-gamedev/renderer", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" + } + }, + "packages/renderer/node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "packages/renderer/node_modules/@eslint/js": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "packages/renderer/node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "packages/renderer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "packages/renderer/node_modules/eslint": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz", + "integrity": "sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/config-array": "^0.15.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.4.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "packages/renderer/node_modules/eslint-scope": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz", + "integrity": "sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/renderer/node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "packages/renderer/node_modules/eslint-visitor-keys": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/renderer/node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "packages/renderer/node_modules/espree": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", + "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", "dev": true, "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "acorn": "^8.11.3", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "packages/renderer/node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "packages/renderer/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=16.0.0" } }, - "packages/renderer/node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "packages/renderer/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "packages/renderer/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=16" } }, - "packages/renderer/node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "packages/renderer/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "is-glob": "^4.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10.13.0" } }, - "packages/renderer/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "packages/renderer/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "packages/renderer/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "packages/renderer/node_modules/p-limit": { @@ -18760,43 +16436,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/renderer/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "packages/renderer/node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "packages/renderer/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "packages/renderer/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "p-limit": "^3.0.2" }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } } } diff --git a/packages/assets/.gitignore b/packages/assets/.gitignore new file mode 100644 index 0000000..34977ee --- /dev/null +++ b/packages/assets/.gitignore @@ -0,0 +1,2 @@ +node_modules +.idea \ No newline at end of file diff --git a/packages/assets/package.json b/packages/assets/package.json index 6d86f81..8bdc5ec 100644 --- a/packages/assets/package.json +++ b/packages/assets/package.json @@ -1,12 +1,23 @@ { "name": "@serbanghita-gamedev/assets", - "version": "1.0.0", - "description": "", + "description": "Asset related utils (JSON, Images, etc)", + "version": "0.0.1", + "author": "Serban Ghita (https://ghita.org)", + "license": "MIT", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, "main": "src/index.ts", "scripts": { "build": "echo \"Error: no build specified for glhf-assets yet.\"", "test": "echo \"Error: no test specified for glhf-assets yet.\"" }, - "author": "Serban Ghita (https://ghita.org)", - "license": "MIT" + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" + } } diff --git a/packages/assets/src/index.ts b/packages/assets/src/index.ts index 64e609b..c20c09f 100644 --- a/packages/assets/src/index.ts +++ b/packages/assets/src/index.ts @@ -1,7 +1,7 @@ export function loadLocalImage(data: string) { - let img = new Image(); - let test1 = data.match(/([a-z0-9-_]+).(png|gif|jpg)$/i); - let test2 = data.match(/^data\:image\//i); + const img = new Image(); + const test1 = data.match(/([a-z0-9-_]+).(png|gif|jpg)$/i); + const test2 = data.match(/^data:image\//i); if (!test1 && !test2) { throw new Error(`Trying to an load an invalid image ${data}.`); } diff --git a/packages/component/src/index.ts b/packages/component/src/index.ts index 4b9e60c..de8cec4 100644 --- a/packages/component/src/index.ts +++ b/packages/component/src/index.ts @@ -3,5 +3,5 @@ export {default as Direction, Directions} from './Direction'; export {default as Keyboard} from './Keyboard'; export {default as Position} from './Position'; export {default as Renderable} from './Renderable'; -export {default as SpriteSheet} from './SpriteSheet'; +export {default as SpriteSheet, ISpriteSheetAnimation, ISpriteSheetProperties, IAnimation, IAnimationFrame} from './SpriteSheet'; export {default as State} from './State'; \ No newline at end of file diff --git a/packages/demo/.gitignore b/packages/demo/.gitignore index 42a4589..4f7adee 100644 --- a/packages/demo/.gitignore +++ b/packages/demo/.gitignore @@ -1,2 +1,3 @@ src/*.js -src/*.js.map \ No newline at end of file +src/*.js.map +src/assets/sprites/*.png \ No newline at end of file diff --git a/packages/demo/build/index.html b/packages/demo/dist/index.html similarity index 100% rename from packages/demo/build/index.html rename to packages/demo/dist/index.html diff --git a/packages/demo/package-lock.json b/packages/demo/package-lock.json deleted file mode 100644 index 115566e..0000000 --- a/packages/demo/package-lock.json +++ /dev/null @@ -1,5123 +0,0 @@ -{ - "name": "glhf-demo", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "glhf-demo", - "version": "1.0.0", - "license": "ISC", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "^5.3.3", - "webpack": "^5.89.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.15.1" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.6.tgz", - "integrity": "sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.11.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.30.tgz", - "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001599", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001599.tgz", - "integrity": "sha512-LRAQHZ4yT1+f9LemSMeqdMpMxZcc4RMWdj4tiFe3G8tNkWK+E58g+/tzotb5cU6TbcVJLr4fySiAW7XmxQvZQA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.712", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.712.tgz", - "integrity": "sha512-ncfPC8UnGIyGFrPE03J5Xn6yTZ6R+clkcZbuG1PJbjAaZBFS4Kn3UKfzu8eilzru6SfC8TPsHuwv0p0eYVu+ww==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.2.tgz", - "integrity": "sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.0.tgz", - "integrity": "sha512-/ERliX0l7UuHEgAy7HU2FRsiz3ScIKNl/iwnoYzHTJC0Sqj3ctWDD3MQ9CbUEfjshvxXImWaeukD0Xo7a2lWLA==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", - "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.2.tgz", - "integrity": "sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==", - "dev": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.29.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz", - "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", - "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.12.1", - "@webassemblyjs/wasm-edit": "^1.12.1", - "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/packages/demo/package.json b/packages/demo/package.json index 4968b45..ef3c433 100644 --- a/packages/demo/package.json +++ b/packages/demo/package.json @@ -3,23 +3,18 @@ "version": "1.0.0", "description": "", "scripts": { - "build": "webpack --mode development", - "dev": "npm i --workspaces=false && webpack serve --mode development", + "build": "esbuild ./src/index.ts --bundle --sourcemap --loader:.png=dataurl --outfile=dist/demo.js", + "dev": "esbuild ./src/index.ts --bundle --sourcemap --watch --loader:.png=dataurl --outfile=dist/demo.js --servedir=dist", "test": "echo \"Error: no test specified for glhf-demo yet.\"" }, "author": "Serban Ghita (https://ghita.org)", - "license": "ISC", + "license": "All code is MIT, the assets are copywritten.", "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "ts-node": "^10.9.1", - "tsconfig-paths-webpack-plugin": "^4.1.0", - "typescript": "^5.3.3", - "webpack": "^5.89.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.15.1" + "esbuild": "0.21.4", + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" } } diff --git a/packages/demo/src/assets/sprites/dino-boss.animations.json b/packages/demo/src/assets/sprites/dino-boss.animations.json index 9442014..b3898e9 100644 --- a/packages/demo/src/assets/sprites/dino-boss.animations.json +++ b/packages/demo/src/assets/sprites/dino-boss.animations.json @@ -1,20 +1,20 @@ [ { "name": "idle", - "parent": "idle_down", "defaultAnimation": true, "width": 64, "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "speedTicks": 3, - "hitboxOffset": {"x": 24, "y": 48} + "speedTicks": 1, + "hitboxOffset": {"x": 24, "y": 68} }, { - "name": "idle_up", + "name": "idle_down", + "parent": "idle", "width": 64, "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "speedTicks": 3, + "speedTicks": 1, "hitboxOffset": {"x": 24, "y": 68} }, { @@ -22,24 +22,24 @@ "width": 128, "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "speedTicks": 3, - "hitboxOffset": {"x": 56, "y": 48} + "speedTicks": 1, + "hitboxOffset": {"x": 56, "y": 68} }, { "name": "idle_right", "width": 128, "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "speedTicks": 3, - "hitboxOffset": {"x": 56, "y": 48} + "speedTicks": 1, + "hitboxOffset": {"x": 56, "y": 68} }, { - "name": "idle_down", + "name": "idle_up", "width": 64, "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "speedTicks": 3, - "hitboxOffset": {"x": 24, "y": 48} + "speedTicks": 1, + "hitboxOffset": {"x": 24, "y": 68} }, { "name": "walk_left", @@ -47,7 +47,7 @@ "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7], "speedTicks": 1, - "hitboxOffset": {"x": 26, "y": 68} + "hitboxOffset": {"x": 56, "y": 68} }, { "name": "walk_right", @@ -55,7 +55,7 @@ "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7], "speedTicks": 1, - "hitboxOffset": {"x": 56, "y": 48} + "hitboxOffset": {"x": 56, "y": 68} }, { "name": "walk_up", @@ -63,7 +63,7 @@ "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7], "speedTicks": 1, - "hitboxOffset": {"x": 24, "y": 48} + "hitboxOffset": {"x": 24, "y": 68} }, { "name": "walk_down", @@ -71,7 +71,7 @@ "height": 96, "frames": [0, 1, 2, 3, 4, 5, 6, 7], "speedTicks": 1, - "hitboxOffset": {"x": 24, "y": 48} + "hitboxOffset": {"x": 24, "y": 68} }, { "name": "bite_attack_left", diff --git a/packages/demo/src/assets/sprites/dino-boss.png b/packages/demo/src/assets/sprites/dino-boss.png deleted file mode 100644 index fc4f5e96f4974e47ab483824de467f8afda0e0b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123251 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

o!>EF_n?H$e*KiZGbk|PpB-7Pwo_&!qg(6g z%jlUxg%l#u-q7py$SGeMCnG5auBKf&i1Gob1K8uPvuE?uk_0XMkdaJ= z=y3JutI_vx!p7#C1`O8t+sVbn(b~HU62fB2>UyMkSMcPYOSJWqh#ysPKSOl3nDb4h z!+GtLTVJw--ulo$PCv>|-VDo}Xq@-8X@#5jx9Zn9oC}zLUaIkdIVF3%DJ+m=DH~T7 z>xBtLd#z>&<>O5Sbqup2u$$oIs&+PB?e{RjAGV~gV+uUf8J42hsr~^8vQ;YDXJJ_e z`|kk8==pOn2LiXtWa+y}7dko=>J^0Bx1Ec8rUfKYptDY?Z*P)yEf z#&L@3F`ht%azda`o$%dB^o;ftdW*XnUvFDs^7Itk{_lyYzgWm1_3w-9Qull2{cyT* z7Cn1D^+-rhvvuYUZbbm?0Vb$(fXZ(|T3rNVeNDd1>pR-<8I6zrvs-f{B zX~`jbE5oBWRq(<;=G$ZGzW%L}jk;7NMv0FOGe}DhZ|+*YJo_ZiiCkb;KnW%wO*CG; zqBkYU7Ty52!rz|lQxWXpyFl39-~BI8bAZWW-kpf2`>wR(0OH88id&8=IAYI;M)ZTl zX};pF(y8YLFja;8sM5GLDZhd-X}FY_9QG&@Z6rotD?qiFwVjjId&q#CeIsga@4KumN1%HE}(ch0MO`*5HT=Fn+ zA+XyM#Kms|Bu(PBDxbpSdw6K(`TeBn-9JDe7jwZr;s(e?Oy_au54RP+#c5$WS-+BH zgrW9=`(U19eeFF~f(Kz8`TW6lnxed`r|qe>JjIU8EcBnMIVZu2ft!&u$W^Ga!NOt{ zfZ+qUeS4dOa_q1ah|9a8xBKP7s)g_$Ef~ft`7+e&w}?>Ph7?`hNW;{Sy^B%%zrX}J z%lD*NNRg9o_VzqYhQ(Uq@4^k=~M20zlwp3LlFRE@dMhA&N&hT+Y$BShItV}){< zjlm-AXMh-dv85^6od1o-G_Yx1DmQL|@L8%!nj!noOw5ypf2De_uCOs-u#2Qc8FGSa z0ZXgXE8htOg&emEDL*g&IYqhYr7B06;{Qb&?MMiLj8c|0?5mV8(vg}R-BI&&dnIn$ zYma%ZCG*u~_sjEfV<)gX;vkLB0^|PWs49q8g>^Df*`|UqV=A%Py579#tLo~*ZmDN* zM((#r*)sG2v&h#kU4sgg^?RlGTHIK5H!J9PyOS!@R7Gq;o@~e z<{6uOG^3SFwyVj&7BeSg$&|0F^uU?o<48abJz8x{Avy>Qw`FvgG3`zWL-gQB1co_v zy=-<9IxzHD&%Vgar3YPSt1IyWq{Vz~^6kh>ipZ&bVvAFwx1*pzUB~{}sswi}bm#!e zbBrigdQa&V^8whzN3vq@Dj+u+#%W>O&%uo&bvu^uAj7(xSRtFJB>VRNHFC@X zerD`b3q}qniWOeZ>F7L%bpJ?9605WbL#roIxNj5_JQ|}~yNUfOe`IlEX!Kb;OFyaG1(KG+hVN(%+ ziqf1iop+mJ%TLb7=8M~OY6u<_zk1a*MK|y){3=2ZXxoZ_w>9BXL9&%X-+Z{taP{(H zfKdKA^i(+^xO7CZbMYtZ)4IMjzeer1+5ctv_6E&)_-UBdVa7*kD~2H6k!G(+Ygv&q zTtyL_^*f`V+idXhNV@l*i%^<9me5qX&^*Gz6RB~}h$FzBu#Xx&-bk8S{pfU}d1`cl z`{-efbOhbl#VXL>he6Pz5C+%<#&Mq-k6o6=LQ@MubXKc6lpTJR>@^pIWPSwvkCco| zbIx3G`+%+bf){@2T(deh@i4b3otPg)j`<6O}e~!O|idALNnqU}Xer2Y01X zvE>05w?5L4`*Y20s*}>{!RCN;LCLD6`+UZN<cL9=K0#(U~0xvnKve-GB!Rvp0|=~@WUVG0)(3{_9ws!6!9c7{e|fb=>q0p z)!@zwUKTz~U?BvB#rlFNam2?z#rw?$04u$vuX`D;QXR2zmBHAU=B;afr^@fzApqIr zQNrE%=@AHIUd?uzFjbvZWFlVi>uS55W!#EV^-y#gd)$4%aGvkAm}Ncy1;L-#bD*Om z_9qr7boK_@%8br;XRDBd(eQ!^qSgqt<=Iu3&O``(G(up|w?~(S17KRTjNcvq)r!&e zjgi2a{$y2kn+B$pPmG;d&7SW;c|XY#D&=?Ie6E$Ps?KGgRW@d4jRe_e#jkQ)@Ap+E zZ_LUy8^BOG<@6b${Gntj5g}?RX0@*9*PzZ_z#znggo4rTP8#>D`0WJ`Le{9EVr7mn z9MRrmSCGnf8vYMq1c=^8cLsK9N|ea3^$H?za8=TWAXhrO`*Y>-M9zDgza@=Eq^MJB zM*jC=mnQnNft6)K4)l1Wd5?Nexz&E;Fg@)5{W@;F$w+T#dWv}?h@Xs178<~-+~_Nm zz>4Bj?zc3u-KU3sd%EwyX(+5uw)JV8xQ$gddfh*r5`{MhsSrm2 zOeNDO5=NWMqa$xu^&|kgra>%dNFI;@ceTBb;YHT6vtx)_tb=%qR=@f=CL`o|kqBcl zV#$LCjDvv)D4$!=7JN5GO|ty)m_YVpdz`k$Aue)py?S_yZPl%R$nQMam5WjqkC$PV zJ2mr2-aOCSC?^qX*A=i&TWzm$P@oL&=ZfCoJNkOSjUnfBAj74E;@3e1zw6}~p zx<3gF#~A191V%$SZtKbq!2OH80l&A0^M)Tt9G{R8XU%7*&6tr=%HqaP?{Er};j^o2 z^7HQc?U~7uS}*CK2;N%bv1>VdY&U@YgA2&m10?iobsysEPVf8TJwzw@tJ5tjxr!9Q znx_D4?~)c4o18FQknrcOopWCFS>Je#Or>G8Ub@N-U;U72(xwXJ#Lu|ZUs4q`qU zqP1r_Z!+fPzw-pIKAPup~knU2Mv{<$-8Q|Kv>NRx0sS7Ad!9=vz zxF@+azj*ek*LOC#DXG(B^b^LNx7Lc-0~TT71G)t>XX9akpf%P*E#SP}K}3HgCzv4E zkm%f59y4%tfveoyGxt8`&1PkSEjDNUZ-yhXL4cU|&%*q<<4gRtdj3XT#_dBuxJ@__mJ z-HG>Vo8_?&iN`Wu$=*g_NklBcIWZlK^>o}J8p1n@snaJE-jZG zigAgNWEa$M+3qJu{pwgStcbvZG&eD@Z*V5@!4=|6s z`_-`*a=^#iVFM`Lq$(|<05Dh)mC54y{%Y2?=M3L1%?|L(+wt^bF7L@mmZBCs7XHUT zt36#I9YW$bHK&ky5&fYZ|D|Xw(slMq24mvmM(sjq_CF#xK z4rqC1RSB8wCBGNwLke#&2epTBd{gKDhtwTRZTwuH(CI!Sv$RBdqgIr#q>=6m*~`q? zyYH7AezJT-5Lm6CPA4c_#5RR3MJrYZ(!H@^ew|*oWBB1EL3tQq@4W&A1=P z)%8v(=-`%E-5Ld{YC*CHD`z08M-!axu-A<2_WqY~4%1~uGB>!YW%?*iZt~1wylT*S zdxhjlwhBTptf(rtbS7ObiRBs8CBL{EfK|`WQvk$itf$Y@r{Sqs?j(qPP>&juLDQbj= z8e=t+UlS@P^MG1r1yXo`>H-|XsERZObE0tlPxykhpiA-AioCAXkVSisgEE^3}3hL0q!`WS@ zl73gWgk98@-pHJ!kCX)he&)!?A;Tq}Dk7W+y6EYXiE3^AFmiezw;mu|f&mU^g?NSv z{iO{UGKoe=>m2{ol!6zjVBUXiMKVwWebfn4xe<2)DCWaFM24Bqb8$|U3VaLynV(w_2M*@vA3y&MY+^`0&rGvXWx!WivX=@?coM1Xs7mXl{WhUyCYMMLSdsXj(6T-K$vcfX~%*HqBRmYEnW!Oe7}I z2^dtSY59jNuu6rNQOVOt-;t5Tv|&+ukDN)?SwH8LoZT;B19+>zJPL=Tf%_nNfv~;b z1sHIbasiNR%nsO5EgqqZqk!}6)Df6J52z0#Hxm;Y5X6(Eep8c#Bgl=c9yaC4UHxZ8 ziNvm8n@22};B3Y{M%nV(UDHH+OTgG4?Q3_lFtUw{QV{Y$H8YWk#vkoVNXHy{49wyq zcfZ{5ck}>UR%k$A=ejl$ic;bGhk{HjKdyFOQUBD0%e@oc^3q0=zO!NTnGYhFiGjd> zr?!zCqd9B!;1SmhgMnJvqkX`3M&3g-MYp4h7V+HMKQOKgFqFzkNWa>Lv>3S6f)aA5 z!Ft1IbrEHKKF#7!dw>#mGF?w(fD*Hv(}___H=mEbDl#IbkfxK(ha|wc20$aAhnFX5 z{0Tch3nCTII&=f3N+Lh^C&-mHf6%=7x2*kJ%BWaqz@ea@5~htzb?@_nUGwV@etaZe zB#_-gIO~BnTq7*6O!zn-v>0`JTR>0+;67)udj<~T&6%%bU8W1DMt8?b0a(}hS^I*J z)y8M5Res941C@V(h8Zf)Di1qUdn+lJ)LKPWsV}Ugs^QeEdg>qa4;u~aJ7Q7lyykyb z$N%hcI6y);>X0@;&q*K(D3{u-K_%N#hw_buym{^s73N{^f}TI0n)x^?8Z&s_q{H@x z-u}QSHnnm34=mJ?>?0QTr(PlObPU8sz+7xv8MLy4_eHHYfVRTUA&^} zX_m#AJucUIBj44!1Q=^FM7U}0xS|-Hfklj(YK5t0QV(-g3#FUvpBQhb*fe~IN}-PM z$Dd{6zeETQ7Eu-#7@|}pT{XGWhR-;nT+cUBSmXvkN+30F?`eGakMw7l+L~iqA?ZQ6 zHgSaepiElFu=mVpc)?e$nEv}Y?gP6@6Qh;R`7RY>V5p1ismBem4+`bOIT=*~6;mku zt0Jep5_f<^%Udp_Wcar@rEBdYi5{01MlU^cA8grh_}=h z^&3w5lDo+!eTbx$UTxo$k%}b)p?vU;%`8$s-x?*aWBj=Qo%79`pw{?Pr_C(|^_W#m zF(AT~BP?%Zg!LE-eVS%On_2KLo}IP?+6kqJp*A^}rZBLw?|xYz*}V7T)REM|k?L%= z-NI3~!VYje2xw*;{RDf;NE3TlOr1f~4CGKWInEjyyme%z2$x1nM{u*}aeI+TdU#EU zaag&o@4b8X?wao5wY;S+KDy5JtO2t*37U#DSdn`&%63x)EO-X6&C}6vpteq{&eiq#ns#wJp97jQ2b_;=(SCA*(c&*~8<6EOv zw0z&#@DX>Dg}Z{1HLY%y+YrMIym;a}ryufD&4NlS(B2wX&QRMv*V~lhk3^6-_abwh zds6hV3Va?d_NuuH?u$donfJ#Qn-?2#&5LcFHa-=w-66Su`p^JJFI#Jz zmApW*(~N_BVzE3bb^S#gwRTX;Xv;4_b{v(NYu`~gy?#H;Z7LqZGfGMjT_Usue_YUI zvgxCF6MN8cOKr_>aHQ!kJ*U=b5|~nhp9iWdTi&tt2hV$-dvxAD712@=bIECHRNjU0 zbJWmeAe)O~c!9MA(G zR?`mx=nGhNT9*6|%gM0gmST7iy2ICf^ggH^Ob=9-=*gH($|XG5Ra@iIQ@Ddz$V8Apb!F zR#nLT_J2M|yFdcIC$cIn8FgsD^I)D}jU3*jKbwB7yCG7#?2Ck_faj-Ts36a1D={VF z|D={oPl?zw9;Yof?IBn~JEg30ODsc^2ebv}6yT1w_3PTAK} z{buz+Y<+u_yU!L(c&SorFnLT%qOx}YIH1erbUC(=)9#Ja7V`R-r>v3*n zcYrD|0Z5L@Pu5}=kmwbHKqZG8=5F;Q4JwcU;%eu6>B_F|%0ED&u|Lo|U4#KFNz;_1 z?6D7iC9{ZXrv?Vvm&gV?y}rsfldH-co`C0Y*NfCr5OaI3?;Cp6d|z&X*Iy z%`5&W_aeY@VCvo^m^!D##W_s~(VT^|EA;#3f>qqlKn>-)zE?;npDUc)^TraoogO<# zh&LFLj0J-)ijGJj{3&@md^vJqhTgx+Y=}mYn+;403a}$BSEZGj+s|_fBPi(B!^!LC zW|Mh_E)ARvaQ`~J?a9qraS#kEF*x8YgXLQl<#-f7PNV4TXfdi5boeu%AG$}mnyM5{ zVT~2mlOHVv95r&6mSLyr{!$^3hNUF#j=xb|ow~V-x_ijwP9x?Q8p-xwCD0?yUHuCT zJ{KC5C1xD`O`G@6wg(E$dQ{MXYYI&x4$SIHpJOi!m;Oe(FXvBet?%&KNI1lz0u4ks ziNREKoE~i}8Y%F(1f~+$2UL}Q07kMi`~m4`Xu;pZkxPy4Waw|HI$UaQ*oL{`cwvmb z;Y#y-v!y`3mjw`k4GUCabB#FAsHe{ge6*RCt5a`A%Qi;WpB=NVcRIyO6&3ozcjMBa z5)j#~YUMl)ogskI8)qjovg=01YYD@zngU~U)8v8f#9=(Tiu@BjMHVaWYTHEt-AT?= z*XK$J>T(qACQJ`v%&RKGTU~+Gi~41TXMam%9AdY+nB==n_q|+yIuN3`DmtvYPh?R0 zz*$g|M1Vp7GR%mAzs;C!D+Df?Kjg@m%X6L5BqIQHX#eZjeokPc``XuoZcm?Jg^##! z=JcOwXcG6JNz+G#5xD;M8)n(IB_74E{H;y_QHcwudR+RXAZN0hR=fVYB`14+wxYtU z@8&U#a~0nYTUCR`XB%I5KI{+s#VVcY-Y!wxtS~wR#O08E2HjkZ4DWa@Kl)tK|7;KUww)l(v$eN;2d?K&T30MA zYfe#0hD&9CGK49qu&j~(8$+w**TVc@Y~bEpd1w{p%p8|u@LMZ?->gOy)Ftd^-#~JK z#rPT8aIWyiO{UY`i2Yn1uUs)w`z7luE!|W<$>I!0<5ksKttMiv_Q~DZp|&C??b&ok zFH9Px`1+_-mWS61t4caf^TX4g+C1K{jEveKYzPvRJh*ZMFW>d02KhIht%vK`Vo7-+ zn0d<=6!@#^JkN++$BkxoB>a^J!sUhH_Erp-id}DZ-*S{Uo-u$8FMA4lR|FQ;v8Y5V zbyabmh3&4!hf*A-P?K5eg}&+WdQkt!e(tIQhh4;dI*_(zuIxW+pjs^!g;%{{(x)G{ zbcLs(@>UBB>_K2JOk%2iXTWZbl1XnhihH-#mT*=1cQEr}7F167rQ7LamgbTXz>-TJ z^{h1%jE*EqjqrCbvjVP@=EhQ1nJmNJ7@nc>kLs*XpPJ_vZ>`2jfuXqI zwb7RFII1_RHwLfNZ}&Ha#hsC_oky4}Wc5a8E{!dR@BVwK%|`$fHuy-OPuf(`lC$VB z9wG%a?YO1J>0@Ht2F1tl0FMo^zy}Y|)b-0f!zX!*OalU~pAZ4f(Dk=_3ko9SJYk3gP& zZLT+&!uI!GVj+NP5RVFTLnO1%6hT=)8(sRgpe)S=iJo2lMalAd#qw;j5Y}kT{(l5`%k#DMD-gmcDk^)m!^n;p@%oMd^b&o)@sOsLMOq(sHce?aF)9Kf+us+#v|E}hH1nzn?1%DtLemc~oXaWM;8$CVl?eFckGA z%|zt!PYFc@ocX=CjWTE2^xZaU^c*xbL^w-SO^K_s)Ck5v=K@FY8vnO+fHw*)+Y$wm~*A?cVj-YHaYdf+`t5bI*FO{lh;wp znU6Eie|q0Rn5DqoI>Wec_dy%b)m0-qbuZW1Uik-EB*vR9Kh$*W+Yjh&DwvdKr&BcJ zA5=M5OezjHcX@5lqUPi|&AdB1?Asmzfv&);Tlo2wdz{ztEB5I;a{To0v`hc|2;f42 z-qlw`_4oFqC3y~ej3pMdRiP_rYGO2h+-Z80ZwV;ke08UQ*D^s!5)_=6(PjjnlOeK! z*^0+b0}JTGdH&Z|QNF)!^Q3$idqZk#F<@>5;(*2F zirLql5Mzt&bPi(t%w&1t1eGHIpZg%|qjMZ^CDsAoTlQLe)AIgqY$qg3W_zWD$aaCo zrqKJ^qPk4GgF#w#4e|ZMtm9Dukf4emJDdk@hSF*Izwo&G4{Sgc^28CK&vV@7$G8(y@kgj5BGD-eG3{Ow%7v1YI&JMMWLWBuP-%!+2j5r_pM9X>vslOlAyl{_57*f z=^?=&r)Ume9q5!OKCXI9<;h*f@f{FZ%ytBTpfa*ztyodS2IfNJF-=e^28&mz$mxIc zH{npBwyvFEn1mT#4HjT&l(QEoXTEizp`(eXp(CGRmp2A;9m~r~eEsQYw1W68FxI+k zqoV)#_KTngjkR!`rF6xHR5?zc5p;TxXe&uz=^ze*zf3K_z>)q&Ge_n?j2$Jj$2-~v zY)vbNaL}UwwfpW24T?JNvLhM5T{*{;4oT+f^zi@JV;E|iy_Jxe>ItCcgI*$3t+m_~ z)wE9EZXmHj%23aoVNhYuiqJkf+f& z)C zjvxHQHC*yAn@IAGX1zgsUr^k2TbNi}>m4Bf(@!GWj$`IZhIW5yl^?osZ-3?Wt|x!5 zUVme~Q|hGSpEZ7B^~L>duv+W4C#*$or#}1rl3mBYjQ$;|lY8GH%RJ`ygkMZOWo_ku z6Y#$B>{c%eQ!K_f!$|V!j*mM>==N8SD2AVL?#?RgQAIG<{b@*>>`w`??}iBUmUi!e zfxzYuAt{=O4RyYt>a7tJ41!6`QCU@?qkrWcD&$xmzXS=|G9b$5IkjB4m*;=jdZy9QXc@mr6-xx?eu#DNx1Sdl5(v4Z{Et^( zDZQx#ldUF*K0BMU_OI?b)(oBgkXyn+fEjp5+{zJfjgX(W^bYb$Tl2DZ%clE3x)=D4 z$mX!B`LZRd_}}`fntK;NB=7D>g_j#Teg=o44!6GLc^$tc^w#%}sRh-N?1-rcEx_iT zrM{GSm8FWjkI(|?e(#o-qUH`xVk_w>cJh-vdXjPg+ONC*Q3;WqDnFZ-3?k&>QzcEG5;LEW!2v%+f{J zuo@1B(>p!jDwm5`cE5VgaRfU%;H`@-nL&M`z+ibm~kpov3 z8T4tE-EE$917>ztP!JtkIGfdR`W~R$AbI%nC61Ftc%^QWo?HU>4am?v`a_}`TjKgrQgeN;p6`mSfBr_`fC=atWd`qx zC@o*zLQ<0g^Gvp*p}wOTKD7jw(@bqG{K^wuv`w5GJ?&cF?cN_B$}Gldk=DCs6_-yrfA zw%>VP*DdB@+L)1;=`vXQA)Z@uiJw8Kv+NXr?>2pCctkUo?_w7m1eG{{97->D(wyLZdP`72Q61mB4Yn_1{PQjtirbqLMrUex5KPW0XABY$*@2LAjYy{+*4>s7{X z44cjF?Nc`0H8di2G8VApL+ULQ-3m7xv7KowYi0I`yH{`+F(mMuoiUdiv*5p}q8QHg zSEGPo)@_t445ixDX7peZj2ox>UBw(69B7T_Enuo^Dq;Nu-ht)DcrbE3Zd(s()KmcB zLYS>Z7pf+mXYB#Ch=j>C93n zG!rNsy#BV2vyz)PIKaE8n{&Q)bD7Q}XkXSXW! z)lL=jWDg-H{fb@%-0{2&vD>oCd%=b%~b8-OeXkJVtC7mpOs2}$!t~9;5$<6;{ zgJ{p_{9%5`bV~HUme+ojzo!#7_b&AhSn8R6*uDn6^F;y0sWVFbt~^b_`AZC7!H4lz z=pNEl&1gIK=yZ$ilGm?Gx!E1K{l4JoPmp~`yYyhH9iB<6OZfwOe#6d`cY|EotaB?@ zvO0F%?G%Bo%wBrQXRT7aOH+D8zhYPpDaPNct248y7|Q!q#w7Yc#gyqJcb@is&Mg?g zph-M!1SQ$rg_a+@-Xr~YIl-2Hy~+J0!c%07eLMiNW&k_ml-si!c)x(^g?B+vDM&bf z@78&yyjYkQPTCVVFq8Ry?o6WTTS;^-d3|);1L+5I)utllN-NhE4qjDDI^tG&MqI$J z1WWjT*wn+{Z=~l^^3dSi5I8o$<5%%J{c`Ay~R5^R` zu@})Zivf+&ry$c?0*FH*y9Ix?8Is<@d*+#B|FITfH^P{KqHYy? zr;*<5YTX@P4Dl9US_twooQ?{A`mFO==_5x!FR+K3xt=o{4RYn~t?l0C%JHz^t5tFx z;@8{}XK6dJ!36VBRS!0+TG5?gRZcw!8wOepgzwDV1xbtqR^47MX2S=P>EIRG5Rch2|&o4~ths&h-5aqjowxQcI zVZ#cH3M-$1#j;xrzP|c~QV3#1qlHVg|cfT};r(+lqDCS|@ z$Oaj-%NvZ9&M#DVFAKfLAMa+q8=oP{5nlJO3w{SOoair&$1cP*W=_WMI=!jnN}-1X z{Q_?BQ#xkIwck$D)ymaqmg~tnw;NN>N**uhK?f~wDHk?lzqCBNg{>PSX*O#OT54HJ_aO_M#%Ny`txrt?D# z0lYgR!V^@MeZ{6P0!qx0*vcp(sEu^4tu^sqhQ=&^?rwg=SkD)+5LODvCABXrRn3yq zyDO7*Tf36d`^8D=HS&|8et5iE2a!9@;xROSY<(P4vuvz;7MjUvfE7dYp@_zGhM`|*$T zC6%3fuHY;e(jRD?os*frl&bsiReM1|m~dv$A#HaK8!j zUGN_#)AY-^;QUI=VnvTRR7eQtOC&b9;*%QQyM|=!B^kuHn zits9F24NTvFU;5mIbGNLGs-6N>9Y<0IS>a#g_d^#&gjI5+`@A8;3;9T;$0>r4I+F* z#P1A5r=)1pLJ#(b_9nd#HI-}sSiUHx@Yi)y(6Gz)==?y&P%co+6VNZS%IFc#fmpGs zC^XnHiUt?U^;VO;Z20NmP_s?<@Nb|!R#YT;F@PD@64$hcQ!uvD_-$?p7E1a35!KI= z6lCHNMaR{hv@iuRA>^HqX`4UbYP$D$Zz!{<&A`<9y88XD6-#LI`#HkwIlT@Id$e-v zx+Y`r>64YVkOVLxvaY0~M}dZaWgRj6X>|C(`rWU|x_64Ch}Q?$g&}*Ji?euqw_;na zX@Nu(jo>|;4(d91gV}b-B3lA8J-2cUe&;$T$!Uu?WG*aT(3|nBJ)T=(^Oe2esfiRJ zwoWbOL9!bEvkz*|1&T}1F{W4QY#kglJ8vA2_Cwlzq+*N!2cJ?KqV7L%Yu!P;-1KU8 zdb6`!fQN?0;DdFm%Nl-+s2el>4)*fED!rJr``^*FeRz>2SK}N2<2z-#s?p-~#VUug zGM6F;qSm>C0eW?m`{%;PJzUNStzFLm*KQ){#A^N-HaFij*$}(KGspMJ-TG0*hFyii73? zIl#l+&H3*v1zbQYQ-%r8o;=ANT-ck)yjh7}3+@R+TQyR$mZ5ys=MHR@46u#@+1M2qxJU=! zytM>Fx=vuB$Rw*d&*bz`mU_>|E1%+|8?eW(SRYMq$%W+HnHhRrfJo?HJtadc9{V#1 z_xT*(4eWq@L3#pOazpA-jq`K8V$}`^@vpNZj(dWrO4i0}Q`Bn%fm`EKjLIl>?nnm{H8Rsb(zR-) zHJ>Gik&ufazDck52h={4k>T~S#&=x~Z!^ZsX?l@cG)TzyF^bbDFY8R+k$3ldln!@- zi$oiY_SD;O|~{^g6{KD0DE>XJ0fU<1&WuE>qp$G7bhBQKTB`K zR82k3?@1RlKc{kPK`AV;Ytm*?3nl}VMfnCy)RzL8%d{o%(uo9Ek#`Y|2pj})meqk? zSqN`lt;Vh6d0|TY>zEPXdY)7YLaieBt?}PBI})R{N8il}gAGg!++u<0A(DdIXs3Y- zmg}!O3%U13A@E=ROEIFL(kMAH5t?kmx& zWpO8(DDRKIoG=1D?525!tFtB1%5M@Y@l`%N+@n&BOU|X2>OKIpw#YDHb(Ml~8xg@6 z3_!ZKDi&?-%bx8)fcZ)d#*u$VdnyZftosc6l6z+mYt=C22Okrlp--Mr+ziUC9_wm< zmZlY33h*+rYkiCLiBN=01*mW-#!7MvGh{ZW@E1xMP5(20KMZslxvoAcXL{0>0cGFL zdK5`CIfD5F)`&>B$^x5%N3bF{hc4lWkS1W^NE(`YW(+y7YHcDzn{C5_wrMt8j9Wnt z*3M9Ut>MN04{7fK)MVPW4dbr6sH?K-qF8`cDFO;8(%a)&kiMey>e8ec>4X4Lam4~e zdMB$iX^DhhlAtI^%~B%-5|t7lgg^obA&~r6)YW~y`M#O|op;6=W`x|i@9VzGc^=1k z9Or7#4adsKSX*aR_WGEjC-t(&hSXLY|3Fm#55WV?P2AOJ4qzr z29iC$?8hNIiaGV+N)Z1*L3+iBf7p3*$7hpNw2zB)%;qLUs?lJdJOEbz6^lw}h{qgD z%qN&IOCp<>Ut9x)nw6hBlmL``IzD+AOZX?6d4&g zGJvp}x!xgNa;#%ZcUorxh3Ay=chpOQI%5)nM@oZ5n?vdz9vzDeOr`3>);*31%|3uC z2jn#(!l;FG?oYVV2APTrU#f20K$VNxOg1hzAJ1q8296we1+WiTRc4$Iuug;4uHJk* z37EQgW)zjdofIt(a|*i^onKNf7&t7qh(00>N*KmASsU;TwQzG`GFEjaFo~*5ph&~7 zM~R_^>U12}=ZOMuAgHG!Z`eS`c+-ep=xdRRZ>ZHyFij?VBKf(TUcgVjI$#(|GUMpd zIynG>r}*y=z&H#h5AEI8c<7RxK89%GX!++DR2imLX!Z;6Be(;J3jY{bB>}|+tEbj8 zT=au@>cken!o~7(IYk zosYT8xqHA|xg|_rP?6!lNW2zPk5_4=Z%S^|oo<3~ zZmo!%%=tPU{cCh%ib~fOam<<|8cA^@V3AJ%i$3m6S)Kr@EufW-s6DN7Fq+TacphNu znD^)E6Rh}|JIm>`ORyS`kH=xbdUy=-O#c-!eq4q2VSS$_SQZ|@J;Utw5fqA*`j7`| zF(A;;lm%hD6RGVYlKxqo^(mj3etil7=CqM($okt=&o{VA@AHfDH+^EJ!Xwm-Z+-mL z-YxC^>cQ~nNzTi~y2qahT=uNAaVg56 z#Q&O&knbi5=+b6FzMD4vWOs^GZ{Sqfo|Cq0;E^iTsMDcK5j;(zTL|Nbz_X*Prh+CY z4ongMmCz3H7oBo%5 zw|d_mUb(?G8*emb{$-P2`BFMN23qqGsecgj%vDioWA1xtZ15CQTK^C=L9Y)OnCVLX z93056cdQKW=qK-@NHyk?1l$b1$3hHbvu8GZxtlSY(YYsW0w^z~JQ)d`1I7r(=J0I9 ziOr#l1q2>2URs!Vf<3;%w5tqCLv_Hku#li+U>|-(4&KH2bKG^2T1*lIO@$HQZqD@2 zSnX$SPE{)sWa+z=6vM+!PI&&Xq>0~{07(fL)B>?fM=JluudGC;N;KW6s+cz%SjorL*7m{@b7`p_ICq3 zf4N!?U3aaCqtr{F>ep)%1VltWaJsFhgu($^vW}8_X)UL3!qs`t#W_tgctxV;5R6wa^Wpv%UGzwGL z=Qf&hT+%>bBrVSg|CqkqnZ(q}14-xS(yyI~)(&;!#gzjCHgh?)Hjmgb%i{a$yLY&P zT{NMK5S1&SpDFfki>(bfK4v@DK*bef1V7n2sj~ShSS}yDikr>ze~MiivYmUb&=Jeh zM~<=dJI+CI-S>;4Ot0eI-M%dj@USM|buKB1<>(Ny*Z4ue{B0*o7Zd z>47ht0HDyV+<4+xqTCrKI|}qoKqBBXsH9Dh<2O>6f%XZ&)4sODg1vFWu}BHJDJt>V zid6{Jy#IxY91ek?t;4LyD2&?4K7m){hF)$%U}3$G5{JYzmd?6F_OHnp$^FN-JVc8^ zE2?uaQ3PSS7(&?T1Ux;S#s}whpCy8<0@@px-FtC}s~5$qV#&*4m@QOVq~2IAXH3!A zMX=@mHykGOJqRt2AKPu~_qL0&93Exn>HU+IAg2;65=tYQD=K&|4h}Q@P*jCexJ~*>Xn{!EXZNa|eHIrM z(Cfe2Eyn5Qq9RgvLmmAza3f6OX4OQ1R@GTJ5E7idHMTQ4qchp_>rlw#z&UyB_YgwoD}`RRLto0M(1uS-qnS%#jCoxxq1G)-RH^=VeIeU zXl@=+7>eF_zH&01g?DbsXH?936Yg)^gv)6FnRFB)(JZ28totR`r2?1F5KM70!95c@o> zE^s{JSXhT@0}9V1LQ7CSy(;B)=D$CFV>==nr*uwHH|Gub_%v4;OxM+=hE+9lM&g;# z4^fbGFl|#L0pT0cu;tfQ38V zN+Y&y;f++nczfbNZOrKMkP=qUx!WP=Qw?X{K)D2!jAoKJuE>ClF@BE2^g=>G_mjm z75VX0%HfRt<<+YG2z1x?BL1KUjxebeUK+4agqV@n*- z*Q?8wl4>n3UuEB*eMs`%E`~jF|0oO^G9C53>ek4Jv;V%P4UOKPzA#&s{_C8H<)h)` zcOtjx-(W?N!vW;2m*&g`{5z#}8SmY4k7Trqid2Bm9n7mwGsr&`6#tT9DxiKa0&;@^ zz@sS|Qa`MDZ2shQ%*t)I{X(12$bY@6k+Hp!p0bEQd=z)(=d9Frsg3I)G3$^6P2_R<_9xA3;-o zfeIiKp@NtTuOB}qS;nkBt>ScB+jo&Ap-$0~(!eAAUr*;(g!V8}+;=$Z@8`1GO^dD& z#G5C7Z4p`ja+-o|*KEO;@PbaKm;SZI@!}cxOquf{@Bdz0Tr3m2e(K9I2i^uEFP3f6 z7M`5k@{QaEBjjj&G2cMK=&QBB|BZ}xoRkEVcMPiHJCU6^Ush`vo5Qizu6y@zpL~dr z*OhoOF)?8+{mNktmzS5fL}BxVqkn!%Nhs0$U$NK!3*!6BN2w3X4Mgljk=W}H!BF=B zJQU(>-SORHua@scP8x9=%cp|h{jsV8uvvJ7a(Gx`em&p-tBCazE-vu-$z0z7TnUy@ z=a}!hQ3rIjMGR{8gc`gUA>#Y?xg)T9cF4E6%!M7Xq57^WxQp zKn0o_O2ONuo7PS0K4_n|&E{of|Ongg4vvK`Uhu5n5-qs*>k zs_n^u@CCi_sXO!Gw1uN|VqJSF>j?6m5jS(mxHFTm+@A{{U12^qD!`5d09l)6vH$tG%MEVRg-iJNf5e>e>&2c4r z$&Kaj`^w$f%ZcRi=h4!$sy|Ii)>&2tx!Cl805ySnJlY|HBing?|I;IsY1++R%wDsi zG2w__0{lO?hR8^#jk0O?t*LlFN6sS7%c&$fw<01{4K2KohOHwyHam)(L8y<48BwG` zVKz;yW$UK7K@26MX^|5ji{!?5Y^Wt1k)Niqg`{N?UC6cWk38axv^9X6f5RjW7ug(j z9EzundTXfPRpBGhp^+_hS=Qn|7GG~^yOk>5R_Adk$Khi^s(6I4*nXeUG{&{V97Re` z!N!I)j+~B6@g?;taWasE0l|a?YOxCuLsZ-@k5WU_4aYUfxp`Zgj?GZ3 znGMY7LYl8L$>i(Ntzi|=UdzZD3BubOM?_t!wR#$BaFFq$am>csK18;qQvN}qsB?`q z&aX4k)3%kQNNLwi8M5*Af#oT8xL0;q(O0qPLV88{on3ifH+laWhiTsta7{S6Y2{A< zr6rLVM;Z;3wq-bP+zXqPX9Fw|4(Qrz29O!^u|tf>RRbYyBdx1z1Sj%%1!%;yMnJtKODllmJQMiI zjCcyMC;bP?1IR8$0HXV_-3=nKB?%Qy0-Cwo- zT;AQ*&+!#^_WV;d#TD6%ERnYz z`A==WPq^ODM#U-$TCwf#+DfU^&V+0xi};D=ysR8LOj10RlIrSePetFa=ne$;BU0^X zFNU}}9WZ!ytEA@X(~zzLy4KlK&eF9z&V%h!J7qo1G3F>R;0GK?&ion~2MYxfLik5# z-X6tWJslBo0NK#BawH^TsF$EHGXB)lz)pl-X+zY@*L3M{L9e?KTbMjh)r?l0w=>GW z%TI&Y-3wYx584QGPJ1qMz1a?H88IX$B4@s{=ZueP_he0gx4qCYUgCc3{D&>kbAIjW zp3^)!e&v26`+MO=Fb@j8f>u+2brxZ8@X_r{Y~{C8?P&*WO+F|EwIpwxFur@M45#!# z@qLArcD~=kVrHm;3Xy!k%lw_mh=sSp7yD~tA##;P1Y4!|D%Vn7{K3ZV(u219Uq-~O zCSiAW6?Qbqs_(Bnwf)!@jAU`;y%L<_dqv90R{-fHa>W+SUGir0AsU9&-sW8Gic_QD zIV8S@aWDFtP@;y6ct3NSh7=Rc#~$FGYh)!7U1MG*Cwi!*;SC=mt}9TG%;@LEQOGi^ zA(oD$fC4xM*A|kvP5f4Rxl;llusolkY1A@X=dlWn6|kq|&PB-hd4H}`{=}dE-q$+Q z<42138$D$>z0=o`$Y6%i@YOrpbyv_dUzwHjAKf#Vn{yvyy9aGvRezV?gu*>z_MRDz z)ErJl;=2M}ge>=G)?2!fyq2HvbxYf6)z`wWr_5@wvil;K`;I+xX+&8cLV;3uSFeme=^{n)|Ge=e@O z=jlMz8<3&b{UN94?I4&rEJtWbPh+I2RmqC~Fp{*qdr)3`f7*$+UF@pr?7i%?1IX$J zaR*NtBd+_H9-HA=aSg87v{oK!*MTjFQL3dsGmRjyo>UoE3*r^P+4y76qH{~^Q))rZ zKIm^?_w}{-HwG9-)IgW&De6Sl`xP}L$S0_|VKeVYf{)3>b^U6M8A(QIz_?{M>z;j$ zthPHh*&H8EySyjLeJ78AXgI^kO>_Fh1DS?BLOO9>BiUWw`zLbB4WtvNVB519B;&C zG-kq28S$Wi=0c5p2d8Za-Z?E-%yh^bu8lv?s?cf?Y)S(b)DH!nc)Q6TEa@P;FS}8F zxpp~!QZH>%zgK6mBn`oODn{AAM=>TKkA2fx zpSGF}it>k9B>K=!+JpBR5upJ6w=h zLkzV;%z)br1bQI1ik|>A42y^dZTJ!yy+dCHSXk`Y>ZP<#vZGJZHMwaixAUh83h(!; z{W_zkj}D}7RY1^G_?WqMXVY6f^KZ})FMmVs%b6gXhVDn4G_({_f@_Jy`K)Nk8f2bN zz5Tp7nW+=9jlkZ|Y@w6&9)qh22oS$pK!DD5&CmW}vxJKWY zTK7?!Fp88YR6)4p)_u(DNa{qiN&RR}_<>?PVZmazb_NRmR8gmlBGrNYZv%mmo8Gm^ zv#(NJtiO7yzp7Mx1Gd;r{=UR=e9;|0HqI}DFVDWF`*wA?vKQWVx!E5*nTDs-dGt0V zt=K^Vj7us)sJv_3m^6lx{T4iP7_M>*G^Bdb=i8YW)Pjs&g3?Z*adfxtnbjt63c=1! zMBakQtuh%Z?T+v6b@2K9oZdW1hB4S)TR)yU`{DXscP$LliMAuR*gUK!Qs96oyk^r< z9pvozr>yP6%VJRlbN4s;Ip(OLiA~+!t*-XVeT=0vaYk;HK5vwI@t)L==TAd^E1+|& zeRKNJ2^^Z`xYlw^bOLWIywcF6LhATvmGk}d+1YL*z9%cHnP;ep&(8~X)eGX`am()R z3}X691aEP8PvBY$TA$*J7lc~IT#l?LK^d21cchqzW4yQ<0<2Bi(K5G)S z9f9&yOLn#mE>(bqr3S4&%J!Y6*=EDxj&GWKbs_$WRL_C)VzH|uwLw>5F{zVbBQnjUNq#=C0~5h7MCKNXfHrsoj7_N`0VJ8-8x`6j5EA!ExaM`bGgy%iC?s z@da#1gdn7|6-Ra*(O*7Y6Iff?1j?6L$85z-tJzN7R3nNpqK>eIg%gBF!!47gX<*lZ zzdtVI@C}!9jlg7_>u??P!F%rA{Jc%UH{)jlgK|?R{{XIYfNqqDT`{xqSBfx*08L0FE1O6yM9_)?${b5d&th_ zSwYQgp!#M5q={`Bxsy~Uqfi7Nby%IYAa?F|0_+T3B1<;I)q(i{WPSH{?>*76a=8U(xf66jE`rK$d)p?P4<^x6)aGMMD7c-pNu0G78Y(e==`i59D$jg zK22{T4Bo_-Jqoj}UF4NkS|!m2yr-Q8+-t{dj%I6&_J@i;L+SgDfZ1o|d$8u8S^(ck ze5!MI0`Gd#!fXfD)h8w&J~GQQl`{a{r$Cd*2m3eIPx}oNr1!Wn$bBu!jC5 z+)#Ffe{4@8Rm(f9zm(S`8Lll&P5RTWXhJZ-{gZkeUS;zlanL=%OqVY#95?{ga)kJp zf9lVjeo;)!#&;O2J+?rn=fUQuGb~&z_z&t1y4aMT8a-X^K*+|~N;=eBZHEt9Y~Uc$ zHDV0*h35%ya8^HA$UKS9*}Quof$!j(wxH><{OW<$!bR2ch0P@K#WTxQs(xci=Ts2A z1C8G2Je@3gI4A~#^x4;2yOoMn(M1okfBwL@f6@N(Ctr=*)}YyNih~Nmr!w#dm~sF` z|CHynWf82px9QLoA8V{mJlyN(X#aCrk>Ds~!!&69wl@3t(!ML)33?PciaAK2uYf$} zqLAxTJC?{^c`GGq>k`CI;#H*B!$AG4UBVd8DC=IH#@tXCK586`jUlV}GMa0rK*_5p zA!qAc(`F5#kS-h?i^yoy%ofOA_SCdCVQ zpw~v$`{$ix={cIbv_xYR&zWP{0{7`Jw<$CW>B$+&)HoPKuO%)TU2qDY2z6ACp{mn) z9W}-!OlUIav17J0!Vs_60l**5uume|oWu*_YB%^Xq5b7Y>Q3{$)o9cbdqer!1c9N$ z(wg+4e=xOUe`rrM+nYv5iv~@sT93xe%`Lw#1Ypj1-HtH(tZtKh#>}aX`k4je!QnC( zQ9_{F?5Ph2hm^~lv>|P~J13{SCL|i`)sS21OUJDS^Td!?Ww%pI;tm4e9nsAJfeLbMzU5} zxc1@doC^wM`E{?)qqG=tKLIUu(O$4G`|@ z8-JN$+#5l$Bin#k<4#35@xgWjonjJPgWF>Fuxy)%Z)yky_MDDLZQf|_Qe|{v7r`=G zR#)P)U#oB?WxlMlmaDs%wKChZ3EtQp=Bf(p7Y}BopOx~ygDTn$xepUKxP_J^S~uOK z5$gf2B&d*&cT%Pp0*mC~U5=}`s!HVXx-^1i`9J(3Xa@P$nX0^NPKVkJ|F-5f*~?7> ziG9}V=dx#uu?EIr6>*deW;o&TgSFo9sEUBA5<8K|uQkuQdrn^sce{Tb0?}0*WuZ#2 z{2m@v`&wO8*^=7ltBBtw+6*;^CQjRD!>k`MuOLN3Bfn%A|2X|K3rr938&w*8o$< zx&@dNfH&A38|sz&iupDE z2k^YfiuH$)?pSlobC0;GZAbnEy^F;Dh3VB$<9|5uWrhAr1}5Bb{wLC`{02N8Kkx4L zC(wvh%>yagOJM=N-}1}(#Gg=O_5f0DEsLh~^;xVzU;?nA-98%mu?#R{ZdWTz?-rPo z0!?m8c^74MMr64! zW?!2$3PQQz-~ZQ;{aB7JY%7+P@a<@RK4r8RJ{V&Okp8cEs7R|@PYwW-e!Je^DTW1w zhu^BzMMMrmM(*9+`dh(<{^ckU)vaGA7Wj?#*w(uqFGKd{t=$6n`#&UjqwL)wDR zSU8f`K%r2iVbLV|^lFJgU#T1&Hpa8iNw4czU^1Rd8U-K+^$bLIS`!QJY(0lxw}=AF z<%^wI^N4r=hfhgQR+~NVfl&fUJ?o6z>F{CdBpA2WC%}*S^de#rAm`^cPrLByPqHZ5 zsg!A*^@Uxq<7s7&DJ|5DUblk`|Gf_rS5xs2W3k(vT?A)YWZQnfr+}B57F!A6hJ&cC zwfNn`2aU})39Phu<$BIUTLI0zXI(tchZo$F@^hA^Gv@z+?&p~gr5|~+%}yn{^5e&r zn+MV$8up|$b1sw?KbRwcPWAVTIXzzA0I9KV?@VlMRrf%jTA=F9-~Jdgj;)({>U=1_ z&+oG9L2wJV4FddM6`Y9Fd9XfyhY_I30>0CAlQ%?od@rEMm6X_mXSsL9lN+y*l169h{VG->6XMKo5$ zSPIhzqR`@D&L{92sDHW&Ul*d`@y!qlFY6Mq$g`v9TzXc`+YXm$Ay?8W2h?pZy$+eY zDquVJ3vuyKki-8{VIoA5)MSz+b1n|V2JYX)$w1#K)~*&R*kb)m2iQe)R>nOeckoic zHAHOA3EA+-SMI}VsM<%dUq4%|;3{gf8b!-qd9ox?XN^}GzAQBmcX4$-bEM+a!+)KV zpUMR)y5s$FDpY0Ce)PKj>ANRDJ*DTHmWrj}lk?mYb5(gG(?X`>;)#xMZj)nm#n!8( zpU8f9yL zow*jZfoNv0UKhc2nijy-F0Gqr34(LEC!-f}Gt1Jt5=3WMy#Hs-xsdFBcLRJ^@1vK1 zUC5{oO5zcawVMFu*w(I_^PHwAMUqqM^Biy=*>Rn;*>^%268W8}3S#(1d6YM%z|7@j zQ=E}at2HhQIDegY-uI%qOg4bUvWGfx4F*DMQ32n!*Tbb6lVcn+zeY-hjGjS(L+Rh= zkn!OfNghT*dGtlwSER_hCw1nIK0LiMAdTUGaUT_5s_Wtu%jeit0OmFTJvbdvv1(Ta zl9#layioNQPifJw+~IJ;u&_kj{RIYs&+iTxyNR3$99wMencNDdP&%5p9T9Zq{Sd9g z{K!;jKs}CHjIY0x$bCvrVP~8=SxLbx`1RM9cSy8^s9Yh-414xO)FOAbi$aTL)I_ZbtOiX zLg*cj%nXjSs4 z42j%aP;rl{xF-O6c7N@oi}b()s}btS5^W(EyIn1B4>i=I z#EeCbrXriWURwdy6YW8+vojtX7_&9;I^FAG`gGIE zHv0_siT$3_{^Ts;SiE0f4Q_eHdf6N+iukQeqZqP@Cm|lB zGEi5dtp5Rb9{?1jd^c$Es~ImX-G?I-$ol7}MHLl!jdUhHh{2EjfpKR|_0U?>P}7^$ z$(ziaMTthfm5Qi5t37UbhhE)L+DkhfR3j=b2EN9fv3{a7C(z7x*us)?3>K<{JXgT zpz~dfC}Of?^eX%9rdP6%Oh90$FP}|uRXQ$~ITO4h^b`Wy{L>iOP^I@7&f`u!T^y)j zHqVi(^E#?a=J!hPF-b9XLqDval+t%00p+5eK?TJd8>`ENaq&ILrp|z+x{@Q3dG@qw zcj3#Eh{3u%&j675x=DQ#SL3LwC^si#{-&`z)F?0~%v1 zz*s0KQ6PdM&7N9mz`5mF3x|NcsAVs6!pgwXQt7)xqs_mj9FD_kUGgIXg}dWG&FcKp?*R;DEGy-XxmrTt@cGhdc?iv)3hiT6jr4t`$bws-naUWoxk<9 zu+=AZ$_enY(*I0_U+!(dfX%7`vEcc;oPLwd)~m!v;f-b8HC=_GD?Vc;5%cBWp_skL zT4K=9Ji&YN)bK+gv84tZNkz5+KO8Ut|4BrE6wraV`o6iZAzwhu?$&If-Ur2ZED~97 zdAa&k-nAzCLR<&0CO-VRl5J%}Lxa9jtO~4eZP*t0f1iK_r!v_9mR`I(Jv~sRmJhfE zd1>zAYx-Z0nVSlfINvT#=@@U2#D}t=3;KdGu3qtXeP`0pG*HdIFWTAAHcdahSk_+m z@R#UQMsIew{$`#N^d@UaiQ|=BdeYl1c&0X>U0uluu`%s0j>0H4tWxan+XDnuA5aFf z4TMMM95Y~(d4YAIq3NCqNMb-I0_e_gL2Frvc)9&7t|KmgMYiK&V>SUZHF*fxoi?ek z&jJt?-5yrNVcTms`(g)1aduEBs%|TpXlVc*!BRJj|8}*VU9I#}h3gSEbFK7ocGf$GqEGeL_YT_H z99P;UplcSJ+D$j0W!2-u+wHC2#9a0K;l;v4Qn|f{SSfJYm~^H6>9f!0A_Zn{LmmTDKeEr7}t3Th23rP*uuY3 zXOBk|Dx*&34;&!I37@KD;Ja-nbC(41&gnPvX=NBZ$sX;<>y1rA& z5XU%RO3%_8;DBeT1u)rqmgS>ulQE8^xt2EUlh0*!O+ahY{2#g1W|6IOodjdS!aNXQ zej!hQO3M=+yHQ&53vFS+ThsgpI3@_D4dm1KBa~X})85YXpxJM4U)J|wJgU5LD0gH2 z{2O)iqUO5%P;+3Sh7*i%1y!T(?RycHF-xF#fSpf-fG4YOm)CYs;58mD$>?l|<8SnO z8_FKrjc?ohh-^{;nBdef!lH$uPw|hD0==<;OX%oiLGj3@A)3g#?fKTDgW$qXexPL* zHpP0n@)7BquL)_q8CBF=ar-d7q8c^1nSzX2d`GJ07|Hp;mpUm44$x;R1 z?)h1T1hq^)x>E-Dn7WT$Fw!pI4#gs+*O!`gLLV~5SifS|R(s>=@`mr6a5LG&i}xOB zR+mQ0SC8u+u|1*A`iV&` z)ikD~x^B#b8>PCKb${4iu9*rD!41mXzIxs}v_?IC-qmbz?#fjgzHhl*McJ{44So(a zQh&izDlV|u=@YTxjd@`vF~c*lX+=k^QXW5OyC+&v?I2`myrpFVDa`qemXQ{h3^c=2 zrPxvICZKt|3Xg zxgeDPAI!yD>kObJB}<+>Pb|FJJ84`L+g;BeVSsZ@yCiSaX*nyW9j79ABa3$KT+7$| zVDDa=a9zo^!!MX!P4MGWKQR_Lf5sHO*(!{FUhL4_Q}yIv=jLWK=&0-lL6drxpV|0j z)oXTO#+Q{Q6v+W(sQaMfxi>IuT3Ys415&-Tf4JshBJLpPZ)XG7e9m~uh1aFnpAJD9 zQKb=h&RB`rxFy$_ky@_2Sz@V~hE*XOHkDn>@s!scDT*^1XmfA;%u2wFicsbEiaCMq)ro>dhDLeS#v4}+Ua57R+UPQk0S^X)xuLGv6a4Nl?O(iulEL1l=UB+pD)9C* zKz41tjPkvLGD*em9;oPyxAxJ|2)OITgambpQ60x$-Ou&(l3 z_5LJ{X{ZfAWfvT7j<;Rm#1wI%eER~1N*2iIfL;eBSA{|!Pd?bD;Wtn^a|d!3S)v?u zDVPh?ONrxr5Cf_QaYd2i{(|>yDTwMy`H2>6^M3ulU_7OX7Nf5}^0sDDP@7=@O^T~t z-OoDc*wUN^RBdbxqID93zYYj5?kiwzI zvOi4ZZ>wEanR}`6mf?kef3cvg*`_mQQd}keL7U6g>MpXh{Rf~f|Ed0|{ysagJlOtg z?W;A6g4+C$tc}_A7#CW9D5JZNR-=Dmt@-+uFG!a6_3dKswtC)mxA{sZ=zGW(`@Jc$ zS)Oy)?vUXk*>2c_N*C!_j{cb50S?Lnl|$wiro-!5P*$g}sGwj(9U010ZTSEnf`B=#z(mG9`w%xsT!Muu>+juuqaD zr(SG+AIzj$9*_$=hv)5>`=vNqkf||u&A^fw6KKksT&CJiM}YbaoKEj@tq%;Tyzkcl zLe5z_H6CY}At9*FT4fDZAXCQL1=6P?HpITwbySTnPE@4faNjoqR~dhyTItpReR}6j z#~+$2dOT$b;jDBe+tafSPkpMDh0oBokPaN<6_j8_@C^WAPe4!u1FNeg0qPlJw8@r- zh%+CqfZ3pLP)y&vVvx8aT(de+FcyJiM?VA1n2q&Z{wh}u9qK$Ca6%(`gR!`15zP4- zvH-khmp%ZVJW&;wGkhtveFw)#sL1OjJCG(EU$dN*6Ddc0oE1+AUoazIvwOt0sM)4* zv6%>%ltkuw9X;8@NRyQ)h{8f>=c+l6(KllF%#KSaWF02j1MfF7=r%&VlHk$tN3Slw zn_%t?J3Sp1odEwP#IW(Xvpwj(hSJaK&Pw|-C{fgFYIPkYqnVAKMTHAEa^2?d2L=D3 zhoaazS>iNQxoJ=K)>7xbj_7XrOW%8fiuE)!rJxaKFA3_hl785hCH2N~)E7;V!v##7!Eh$#!;yx)3AyR79sN0+iB)z!Ag(q#0zW2VFQT&0VLAqTPBkEAJ4l1 zUK`&#r=`tfG=Umd2%+C=uOZ5VE^U;i6P$OW5d0z-EL-&L=GXU??E6`c@j3kvO-Y1UhAW6ANmeWwn{?1<7afzv1Hr zSG4)E59-=JQ$*I1T@GJGho8hL$18bem0cQ-g;Pln?xp5;tT1(ZlEYq^(iWBbLONjR z|D*#PUlr8MA9NJoZqxaRzYwYno+M8h;p5?Tqs8(6dVzbT9B-2LNvTH@#>+0eF#gO> zgaC;$piL&oVfe94Qk}O!yCAZis1N%s%a4J-40a?xO@K1A-B}8fU$`hF&i=+9#RnMZD>-JUXQ#H*8>9yuadO1#vud_vA zms?4qAFG3T>X&ONKhGQ8-CMBVx^UaAUn<55Rq_=BMfOc^Z@0)k>oYxKK+XQ8_L8ym zk%etPxOdpiJ-+QcdZqQj-itPG5`IuQ^3l!q=@Z%^QKwtWyUs#?;pwT&Y%Dgy@~~U( z=41b<1z`6q=vQ+VvIs`M#ce{^JqCU=QfNxJApKrPSf_Wgd%Kp`qu|rQxrSs;{F#ba z7BEt{@6vfcbbg(IaPrZWN9IPyOhAu)xbk^HT>@&akAU<#?<3b(cvkI5dfpYA!0X#` z#YAXTb0&4PljjFkDbnV(=3!g6BTP!V2NoI9iFfky3h;42u+YdM>gQA7GrU}%{yNga zdE=bu8%=o^dHqws#{f9e<;m*Jn43%qUXrKpb)4C!SiaDPA%K`BBF3aw?vjn{htvM2 zQ=%4HZhAc+b$O@8KKd!=eUykD;^{R^EbU}Y%_82AdEuHfBWHkn^uv|8!nlqW!C#co zQTxmwH-k^nrk%4qK<%vd?3F6VdL7&=)izXv8L+-68=_vY(>cgMRfZd}0`oSjt4-b& z{cZ?6$?z)s$|bw;9hZUUd;BPz*0J|G_L6R}K<_8#Y4vV^?59V` zL9b$W%%3EkIy836;DrS@La9?Js_0QoV5`O`+e9P8=L8&{YNOdTE!h3$%S{SH`qn2a z>uLLUX)h^(1`osb?q*A>ixqExH(c1@&%FMO=;LVA4Rf0sxYI&&0n=%7p<%DyXXG6{1PU)b0rG{_f) zWUl<)>9vo^dg^0YWt~#Q4f{-%!W&L+vnjtm$4g(`>RTop$u&KoSwD~?86znE-_dYTBPUVUAtxECAU>^eSV@p&Fais ztv~XZtU}b?Jo$;B0Cag#7nC1Kv>#D0R59rsxO_4#xyYOl`}?}?@z*g^0@RyLATp>RHD zoA~F%Jw!&&t@T-Q^u*$@8pm*{Afph>(~sVk!XL|s{7mQuhaB43L(klkXkv<*iw`nL z*-4v<`pXoma=Xd;xJ_tHoKfw>^Lrgyx}m?@BdoW`+_#GxP_&bEwthj&jd-@sU5vH< z!4P9hFWI4y^TPMlit2WCf!=ddo#BV9LONG3>~rWedpV+Y|6|4wnG;LNurirzb6q!7 zC~Dgg?lP)uZDW&n<^EBy`r}*b|0AROs%-M>V zp!pxWy1Q6KZ1TH%5|BWbmi1rlv*pb)LKS}!$yXEjl znK5Id+B&5*ctf7`vkmP~L_HMQL_`G}UO#v`HW#dtc>-ho&(whrJ42e_{P3L_V4uEz z9lV2@z)o96CU0WeR2epBMS`s;J(gCH{m*U~?%Kn|%ZWpw6JpST?=_C1a_UhHc@4NS zC$&pSs=L5H=&Kq)i2ugt7|WoPv6uJOKD3b6V|LzFV<0sHf94G98xZ>X`jV(MSqpZ= z7-7L7jW~MGXd@2p0~#ZST1cE6v)p&UKZnMr6Z*yzP1u-uu<+jIicQ*>++3kgK%jFb zXu)f0*+6Kiw^=DOPhNM0>6X$|=2q@hose#xJtAwyqHWlVw&7M7zkQk-t7?4*%J-id z0jdOZv;Dc+f&FKFu3HJIk9NrM@|u$=-zj8qhSPC9ruQ@d^Hl7>#?Y#+LeUC;ayXtz zA}?j94jfc_t>h4PY1HftI7u?^o6Bmgv)M#^L@9Bz1cuiMcErSn-f--^>G;y7(JOvT z&P>d9t}Hk0hwP7fT4CgmoM?{AD!3VuEXb*SQrrvYCTv~r4;&~kMm%}CpakyY)(y}d zpg85b0QsN$7CQTNcKalqxf$HDGwMj< z!wg)TR-tC7_<}2+s7V-Cc6N1FPjBj~r74{s2pw4Is&7#)N*y@G>2p6!A)g>-gPqDe1WRCQ%5((0`>`($6h+>k?n9QRS88!Rh6n#bo4AlDkEcWx($HwA zZ1c63DAT_iahTqZ8#i*!>hs3&>cIj-?o(UgiP&Zstp$eN-jLm$mn%fFoc+CMpLg7X z;~!23f_P%(uBd?yrzPs+kmgkr1%1!~&%uYcJmF+lGSG0dyqxu`mUPqUS`VZAp0_aZ zTphc6AKyVKx~!I^rFt)_o7PWZ+o^Ux>HZZ;01h= zcL^A+9_f}dMImdFi{=WlS|2(7wHZELwjE`xmxuG=O9H7Z-kLZ6uXQd#1r}_gP(;CU zzUL_zN2=~z=FB^~um&0t6!_AbYfQbv>Z!<}3o41@Ib;dy%a5!(F`v^OFyveOQss4+ zGDfJnXA{5sjAYl@Tj0bu~?@$XwuuaDdLR-;YZHPXv`-|9)-KK7{HM{S%bRYu5D%LYKf7< zZoy>?o}Ed4%y^BW>22e(a`Ht(+s_!(tB(fC_$;+V@kC!mV zrKt?VnC>1rPwIJ$%W5ANj!5l`Gu#-o2t$7V?U+0?t-q7GBb+>~jlN;HqHFzh;iI&@ z)7rb{xqPsr9LVS7X7Nn7r$h}udVVA0rlz^?N!~^=T1D2N-O5-xM{h2PBF$vn5093b zG6DT6z$}CwE3Gs~&;pFZ&YJ)Hy5aFw7lYkna=QHC;S9n!Suo~pWfC{J(gkOQq)Z%2 z*x;z9z3wP0PfGKj-%zQPFqo`kW-!KV-+R=%bKalN=llD89*^JeujDc2 zb-(WAy07bbJ+J5WDCuD+Cc%RuD06d-FAHipiuj40gwB>kMho4!GZNDbgNhK?yILUEH~{g&CgRC*c-di82Eg2&Q?I^?s{(^z|$- zB4S$ps>P+IN+RdDBqKRc%Z&`@f2}t9YR0lQr@pRgO|XL;SU_#}cA4Br=yinQh+0)x zjt_9Q)J&^R(mW_t*=tZZmaFDLMFvzSQpFn5e^y{dHWLV9x}hd%cEv2`O^S2iTz6{{ zmRbqr>L%A{Nz1pn&SPG%s;qU_gR}5Ch|%U{$fON>%J=cY#w@rJGC@K zK3iI)$f!|Ex?XERc3GUCjucvjIehi9C;d{>fOx9HqOtKl@7;vvVVSeX>cwgO+lTES zSG!Xm)Z0Z>Oc=i-tPR$Hm<{aveQG%F!drv3Q7^7zUe}fx7vI2yiZ2i!{TvKgMAP)M^wv`h59GLDtN?# zXaD23BrPGK*WkFCslWK;`UX{AM{jhkks``YRM}XghZ*9JWy94fL7`<*Y7)@lao`} zb%yA-RWdj{JZx1#L!a}$VReNzeZyN5lAWe3`B2BOw=G-;X4QTT^Hl)_i|Q&Wlc!;T zTmG2RiS#V8atq!szeDrA?PXU%d!PP*&4StK$;1@9=;M=l(Bh5U`MTk5{S?rSk;9c( zrFWD~bb{Su2fKCz9u_TmMePblPI*6@q91(rp2Jq{3(_yCmc>Q=VGd+w0IxPZC#B1! zAlEuhjFN^*yykGd&ci`1(-V!lj>Na1g$cM>-BTBC z=l&c%y7vut&Nep{yzw%s&<>nTUICGwm4xdCymSJ$Dp>pi?!UjT%?YKK&?qszcVhA! z)dpAidR*!u4<;oW1{^dP(&;J{h!E|_pu*+Pz-E8*$2iz zH|2L($>DNxl)q$kR<{h$esVW`RFQ)ePiftRYhS<6yEgQUW}ej>$wid9+0>XUuJcIv zS=g1HA^K7@3>KeI7O~?si*YqI&6&J7?)7UzWqns)PgMfF=(F);`DCsV1d}@JI<(9( z>Q6Z=p6sf^0hspA7hz)%u~}!wT99F>vq|l9Ve@|gU*|QPytB;i?WS##_DOB_S(o=3 z5!+))V{a;CalrU_Mg|2VWCPCi@7&SHig^mWgvh}V&t5hjP2t6ibEcSZo=z0XmC2yr z@Z2tW`ly7h%Bb~b6_$w;;sKicZ@{cDy@2o=g?3;#QSD#%FHk2FiQ9W9oxtkcshNx$%*sVzq8l8&~{JKvQm72 zX^C^qU4EOq3qz%{%$u(BegD1Kbwjep1vfC zAbAJ_ssmIP*2W_)z#2@ZBBF&|Eq8r%$V;7-R59{y+sW1$Y-)<%G{EAYeDfux z?t9jY$?finoAq0lRntgnl!{xKpPW+J?J3(O*8Npd(ErXC!nu*Wih}ycL2DFMsU-Fp z{GMb{17ZY=zbE9g>$^l4;!bTwsPR*u)a0Ur;*5$sX};$_{_?xu6flbHBFM2-b*F#( z?Ixk!z@Dy0cK4p+Vz6rZ4Cv4IYY=r5tprw2=53=aY|8T&87@T-$@AZ*$ucs*qEhu*;H#qVBj`4)^x6~pMQ33=+u znR93w)siSDQ}ElDx#`lMBUwHm|vrz7^ zHDPYCZ?5R=LFbOR_dugd7p|Zh5eeEGNrn=+p{D@_UV52I@k7i2Bxkmw+Ur!{&ffQ1 z;wl?MmzIjixe}AZ?Y@VZ&Ce`D?%5BqdRac14iyds4(#=hS;4KrjGahPow7d%xhtUtWJ=+N4;pCZzKU?Cww?#m9ek__ML$48L zv!kvp@iEN!Sc|VxSU`6!K6(DrMgUGHb-lal6mrVBS^0Nh^d~Ex3j}fQ=e?MpSr@Qa?3@ULWAgBPGcT9t0R27FbxAeT zzi>{JrKAAf{y<43xY#V?h0u?6+4D}9j(es?J1vEm_*cFc=$JRTf4aDj|0#Uv-KOeP zs>T|{t@^L{2S6{JY|Ae9x($RRWmm8M#~6tyQT@?W1U;og4&)%zO-&|57JL9rHKqJu zVHpIT@|%H?Wms_Pore)k`O|&+yTL(*Yipwr4#$y)+d3ft68UUAaxlfi!c3)597)_e zS&sU@Cj_>Egun^%2Jp4p_Q~QPRUan8{qVGw>4E>A4)BdDS2O0Y9g~pDFvZED`!|e| zRGO=1Q++>ooe_&QO8ryXCCYcW=3v@DlW}6Mg)zmnE~ABm-L9D<_cNGx-IgAK>w>;KVQ)2SOWQvF346Fb z7_8C$a8E3%L1il9*Rj<4?)ZevwQh|$U0iopTfgj-Bo$xBZh+>SnhdykT~OwXxrNPY zqmKkd_LKE88zm#NQzo~`KBM)=F!QWH1caH{b zz|;GJ_0*+{T$sl@HRfURLB>uFE7PDiknd-)#7pv4{FE_^ZvPZ^4+ze=|63OZJ9Fq*N5kS&@lw^^sq99 z6BuYS5^m8L8T}g}!7Sws!c5GG9XzA;2}Aj=6PB9#0HhM`Slwo6z4>=4f$^*ef&K^*Ky#ud=QRO48CR~P z`ZSo_(j<4>EYtoJuJ^!Xa&uoFM*aC;)_gKIyb0imoLFy-#WLrQ>Z+wn(_MG7Rk`1; z;qT7<_30QjqgIq_tdcFLSLhd2H@b&R)Rt@?e`p!gE9X#M2(k&4*>ck_ihewW=Byp^ zLHEDEqJZJFg?jhmi;@?%-Lk_yZUpZqn;1t%h)hDH$iElqR|!3L=~W2Bz@B&IQv zXe4L$UlR*XnBHnb+ksrF`SOmqqDE-xiQTGs~i4w8(QP9JT5;4x0X5$(HCWQBfWiIru zT`GPvpdAka;9r?7C2~oG@TOqr!U~zcj&boJM(p6p{z@J*UY$w#$A-Ip@#kYKL}w44 zzPJuVN!vdMON6X#y2klWo0^P{sp`A?0$XkJ`{s);(mI2CQ|!JUd&abSk+YgYAku7| z3Tym_Nuwd7E5+B|Z#&s^7>@&gx9wyxu$W{?g3Ivr{ zgK=t6Wc_WpXadyVD?$5b!xv9)%McJ7Vbr4`JM#33~1-pT*|A$hOu_1B`^Ny-OfV5aV{R8|yp zkpqtY|2DgT5I19U6n?(D)cqRRM45Z$Ub3qhhYZeTqmhetH~g-?vPF>rgvNrpz1JYm zZXjA}<{UJyf8^ml&Y!HaHuDf95#WN3l`Xz;2x{D5vEr{_Lm7p1 z1WgP}s`}6-JaK-5NwJ$!I5nZ(!eZ!(4x9V>cZjhT=D>;nTRP&17*#ty%rAL!Q)sf5 zPu|**-10GP{<4u~XUO+?vq+Z#e`!0sPi8y$Fss&zWMxgvs+!e$1k!Zfqb7b&C_Y0F zW|lwL`;J`=EguM7PnOJHdUmX5DQX$y_TCMefwHtoJXR&Pu_G?;4&s15f!J#>%KO!H zEr-p$r5%vVEl%-|rU>0s!yn~)6E~(M6F(k@rj>eN|AM+@*%?LT>_UNyO8^vQXZ{Vnca9FjoXqqBfB?Pz0r!3o>oij4x&p$(b-C3wqd7jA zgN92sA-s6;n1VMp=kAkwYq#=jywN-&s{WeL5MvgjxYysOd zxuCAP#5%qe94ZaCj85h@r%PSuGk8UjxnHVmltS!ajq8qGh-}oZO&vA<%pMv@iu#!k z!hZcAV@bk=DBgS(jRglr&zxuo1(;YX(X@O%de856^6~dc9u~Ady5uIYV=xVjoW#wW zGr7&qy{lpX6;^idKxWM)b|PEM-dJjGc2L&}E_bm~Gq5qM4SRtXhL^9{-j1~}DNCw$ zGBbmitRP5@6R9(HKh^bU>sZgOwAJ*8>gdgV1c^6Ki&X>0k|?Ls9FBLG}e^IyK6AS6}FqV<&&KBQE&C{GaE( z1uHLqy?tjXk{*eGO+I_XDF}tynU1vg;-E1z_=1#7b)#!%`!|NO5>7{?IG%M5SxiMJ z?6Phqb=(kQ=xItjZr00hO|7!i`-6ngyx5!CrL`sTFKMPxw8A1shk!%|RrpHV9u`L* zxwYH-T&wu64OHkd7WXb%co=&|BxI&H93!YrzIyhWEFh?05;er_EXR^YV0b>aBt~}c zWSBTbnRR~E3|<8Wu4oTzcrk0aDK&erb*AoKcmU4i)!FpH&qn>51wnQvV;ok@#FP)Ml}5wWD+a@eCjN{(b?rp4A|ets_<-1Nb%xc!SE`PD`2S5FPmW^9^-Kw|9b zKRfj=g}(9niv9hsH?`2y*({N|$`koN2`Xp)GwadN0%JC-ioMnAsNenVuKmVgy`E5< zjf*MNdg&(Idv~2`q`}Z?iUmDWy~nlKuy1iiLlbf|bD!Zw#P$aHDjJD;gEVIEZBh;2 zlS*nZ7_#Y(z0Iau3x`#qpT`q<*Sxc4mXS!bSx}_J2XCpVoY1W;dEZ?!qkC?YroFEg zrjKzW|Mf3ihwaN8j6ZDhKtFp4FZRl*$9pK4r$~&IO$`A6Jmtu{c=+!)bHk`{o$s6B zT-aZmPMj1(BcWb|S=T@~;`bTj{tu2tqrFG?A5s8OjF!gTrAj3P4lZh)sI}v0cHHP( zh}s5|!#$f**^sz!dFoNRqhcdg_-3kZkRMv<{sO=3AJR&tJ0YG!!)Wy!=4#fB74VD3(U<67HiGXvcu)WTvm zf5AYa1@DpX7DX#g%)I-{mYF{_q3J!SG~Xb3evp8ur;`X12AfA+hd z_5cC)S0`p@n(;P7&A4iyDrXI*L~%cjkzX1W$&LvpKKLvu_hV8>NFU9`Ysc8rm1Mes zs2SW36Q=9-6rJ5cr-hi}Nl%tPE{=IeG#W&^O^TX|OMbh#t|P#pac^rP@m6X(C4ACI zT#R(AX4EGyoKGI5zh4d&TVdUXu)F|=5H*=;rl{axk;oSPupWT zpDKZq$5v{Pz1aK6>E@`25|9y&y2q$L4)*`HY;oveD`BcwMOO0pQQ;+j)iPZ#A@OTt zAb^EE`;I--v%K;A?TitjF`aPduTNUnlXi3`;lY6{(=WX(cT$`~Ka;-v7K759)0!+V z&Qm`LD+!1_9Wf~USJpb}ld^U!e`t#7Zo6W$q<@zU`kp%>kj#@q7znzhXsn8+ijR~; z%SG)5Ot15Ia(~9CWj(CG4NHcmB!g(t0de0~+NRW4JSZq}NC7HD4Qh3w7peNcm}>mb z35f1t6$t-|Tr_dzkOL<+JtSN|Z5$j{C8h&<+7LlSx|8)g(XF7zKTMKpc3a2U(vjilkhCQJV=bzM1-bZxpjo2|3 zkK0DAgN8eTdx8;~1JhJirkByD*|WzFl>`sJn0?=^U%PoKB5+|SUtOLMU}|id+cnj< zD8yj;Fbq80=)dI~h-mMFucX1Q?{OlibWv$mA1QYuY#-Tlm=uUb{d6F=+V`e$;l<Fmn>ZR&+LL+va-}Q-UpH1qp6l4k#qP zwivG4t2LPC&3Tm4^Q4YED@aL^S4J%!xlNV)m+XSm8So8gVL{%Av@_`oZ$KVT9}tjwKhJ>6w+_WnF7-aPpfjqpOA;hPqeh-~ zIuaT{@*0^QHByzR=(I0;DWdL6wo&1cP|RYewG@_y{hb&hK0h7w|C(=Lohsr)Ry+`1 zURl{x;&7sCul#n^`sXXl!%_3~^;<2_t@j739A0PK+7=3@lDnoUT4jA?ex480OofL9 z-t%Fe1;@SDW6kz%vJxc_{AwtY5zgyX@;G`F6lCmo|bxRcDkVmYGbML+kRkR z%geM|!n+tusIy`LSjy_4#7|*CA;ws7ace?3@=d?)8%EUG{+Rw$1F3Ou%jxTAxLQB| z=_asC)4ZEZ<)?QR77jPC_Ab1q>oq?DTJZobG-`mDT<}9NFmng zqYD`qQ#Y@G1V*8q9&S_XeNTlQwT;>z+YiNL9Ae-#X&?WQ8v4Se*7xZ?{6=e!ZxS1- zgRxBT+;FtKT#J#ec^G64{I&zFp})D0`)r!rAChv9Im%wh+9sJk3kyz>-_GYsv(wXV z299r7Ax?c->h|u!!=C0+m7@Rn%O9@qo6;J!x4H(%#+Kjm=;3n((tg@y1tryErlt$0 zLC<3N-!S=~j@^%MJzgVoV9Pi679YD>R zVi5u^TAuESHlxKv0Y!iApcg(mq+9Uv=bH@M23FK}N2$50x_bD|#iFL7 zienq?OXiuB$eDW9?4roVjNf;-+CUU;C=OvXEbzxDy*&juRWLWwm1Z^V`n)P003aI5 zYfR4klajD9ml1~#N@+!o%hPZ8&i$0D9sRRr>4mwurXBVhevpaAs=yUCxSNWTmR&R5 z=p1IRX)ctC*(CF1@3-urbPG7b!;X~BhoVN-(;O$2tmG7A;DD9RtBg%>`XT3^d*bOWiS{~W}?K9gH+BT7@DJW5xyheoP6Pfe*wiVXwy zS2mMTTf)tI4n;+8#857H zj_2-L#ejM2Dhg^vNiU**W@)c8yVb&7&^v3TH#Jf38!<=_(Uur;e7^GNavTW;5ct2h zyVH{e<)u8Np}>uhZ_^ilt3dFfuXu~Sm0?fOIfOd4evaEpVHX{@)1VKR-F^K?nStpE_SG% z+0#%k_kzHrMuMNy5{Rv$@>zYN>K{Vm8T-AgIPysrA4ZOg!__?rk}x*7lLrYcCx0qGl5(Zc&4vzpDpQrY1{^xmsPY+NS6ut z)$DNe5W}xpm8RimOvZlrQM$Dc_$E({lvh@E8;TCHY6H<`2P-~{NqurdJ=)n358v&G zY|1OLyy%ZbrP4q{=J7E&xOmEu4w3rQW6PwRLO}_do&$jAjxK3CwoWapg)9 zC&!{mQk*P!c804QE^3eahaX=*l1(ZbmX`ENi(3sMP%(oT9y)sduvuIeYq#y_0>q4!r;Jq!rBU;Oht|=mz>>Y}Ihs3vnYQb> z4eCZ`o)Ona)61qOWsXRbmREE({C;HrqN;@EPSeURiHVDzGPTa!;c}Ba9cw<^{%FiJ z)TCyfy=JaHWP}k=!`L*ewdUK~FC9xyFu>9W&m=(SaEvF(#5WE*Sa9MRNPC%G3fYW~vy;mzpvcJ_a0K2Y z;d!=CR$s`$$%6rVE_}G6!}p15kxoYyGG7))`Z?P#m;7!i(>JJ}86r|a4MDer6N115 zp?KFGy2vFTcoA#<7LCW{uR`Av#jWoKu{25yc5bOmPz|k{7r}^iQ-v|U6Vapf@h9E` zq|v{soW$4=IG9+|zr>*81dD5+?)B+O_JrQJ6*mHC*;(6&WPT^}>DL=y3}7eWerZ?J zv!f`&h0lr|Pfi#R;#!{;L6jU71?bRh2%!%&X~Y@=;^(n3(n@q+(e(Hsa7;0Ml?7BE z66|b@sSaw5m8F5q^`ftYcF-8GcA%{5K+jrcamkj?7rHtew1oVcu#xh0_OSOj<2OMX zIcs*){fFDtUbC>h!;o5%2jxrxd7ACk*Q|!E_fLIv#%Q>zWJ^oTddSF+G6#-)yQ~i6 z&uVROFTHB>BF@rYdi?n-trWly#GB`k7^RVTfy#1|9TDxQ$yO9>Za}<=5bjpx@%b5O z{51>(#aj_ZGa~BdVimv{_&M8+{I<97+((&e`n$1)KGzOO_vo;`7 z)S^jPp+bh4$>^9%6XK})#+VVuOrOjYXC6B}c=6clEAYIsxK*gkypaj+6UkjYDT3tb5+ zv8;Nk{UP}rkIf`Y28;3LG0L~u4zQ^4z8CdO>miIDcDRB_J!$7TWam!BI`PupDJbPR+3$kXG;w$;m~RSBedQ(v;9EDq?P7#kbk2Mq-^ACQ9I)>9a!%pvNv%ov^^ zcs#I$^=DsnT!Z(`%4xTa7*p$87f~fgPMm~R7p=w8RV1GTmvk?ctM<)0Qh0fCLsAx# zy4$&EtNDB$QV<$U&T55Hgo}N%Zm1zuyloX$S_shKx-c4aTg^@wV}KDJG+R-TBY4mz z8OAk3M@9l`=&1!Izn+xKvg^`ZvInG#Kf9j9S!59lo{M(0*T*N8HLk5pAohU4%QSbd zXz#y};c%)oqxD_^?efatKEZp=Eyt1dD5T+Z#KYHOGB^)mBOy}>l|76-Cywut2tPu! zgl7X)VK<@j8&T>zISf;9P#>pEQTTPkoO+N!U8UNId++tRPIB8Qwu1>Gqv)7mVfbt2 z)m~#gE6okO<$$^deBc>U?rWwzr7t+@NW<{W(^cd6e6=+)FE8F#H~rLl=q(OZndNyXeHzuBDj^Z=rE{ zs@NGXbUc0&zP*K#3y_9MZF-SoeC;Ydb)2hK7JwG4NHS|B5IrFv|8OvRRXZu69IC1` z=XQolk(GHio0dEOwsb`?y$bE^{9L+2&JXN>hoy8Wq2RjNwWXfwrV|k3m0_0VU4#)B z^{r|l9cmU-=Y2ECp6;m{35JVY-rK)l7c?q@nuwo{acdDFe&*F<_|*cNY0};xLVd|gyJawU@jWq3u}V-fs_zik$BCoOAn3-m5RAzc=Xal24(t8B)+ewbzx0yL}c^^1jzbjw}1r!uBk6vV!cDhk1 zW+UE4Q(2_cB$DuXAjvF3OFoZ+zhZ1GS55rOX))-DRn2PXx2<8ckXtD@ zTj~RVqts(tgKQK1OehVfuWw-<}i1 z0uXmfS7ce((7Tw|ON$&JboMuxwyx-E$Cb>h{J+ScXjGFhjb&%t5KUIaS<+>+)>qIVd3Ihr9m@M_?9ZbB?m`kLwCxQn`HeHIv zWr&Gg0P`0C&O8pB*dNL zYA<043(quXkTFAd8DWyZ2EYRIzG5ovbhb=aFg6y4NK46X6-uv<;D=+o2+atKIf0Yo zS+xDl!%2#8B(y(eSYDSG+E}6qQ4}LYuYF1aWOK!)rI-6XD8*@_`dcBwb`^`pscr#| zo@8faZ9Rzm?AaacnqIc<8eRglWh_cBtES^Mm&3rR=+|DfD=J8bqnb3A_C^H9)`<7l837;I>A4tY^+lq8J%aIt zw(LF#OYKibW`My)J(vTn4xYg0k;{tLd~ZI#K>4q%(tVLhst z)-*=^?CUEh66fQo{N-0n70|8lq7DV^vRF75VFxpOF?&G)kBq@aZA7{rjue)oKXjW{ zNUyfyI7$Yn)=zkBCN&+m{#>khZf%7kaLaGNd_Fnctn`Ca6%|;fhc=9dYZAl?x`|KX zd9%j-T_2r5W9t@iBlFH`ed}oE8m1X>E+}5*XnD>inorha=X4Ob(zs7pY*m_O;%9JB zdo@N5>b)QN(sAz$=-LxF@i?wE!Q0#A*dTZktL>8Jq20{O1n*^TrfelsqO#LpGXsTX{MLAQ#tJ*GN;ch) z$er%5x{sB)p69ce`fIWhc)OSSoy|8KmzI{?u1(BVt8AGuK#aWOd4cw?KJWzhRbH{K zA$Lhi#>R(74#}oRVV8FJMTfJ)CGXnt+%TAhHop*GeetG5h9GmS{Vww*Hu?r)uZ#| zzqtT1r@Yh&N3i|t_5r=_fD88VBoFg$7Kal0iF@L7QIqr3hRqi-Np=Luf}qT4a%N@O zym6o{k(nOh?m;UmN#R8cM_v=%%P`dmQF z=Yfn_x0*Z#6~$rAO^%D=Rs_^zVs8~mds#jIkCcrHy5(eP^a`9MqWFWAAdFIv-NYIZmuIYt0=ZbrQS*kb1SOI2ne-LeUHGAQ?B->F<5sQp+ZeRI(w^v zZm5nMLaVw|8ihH0v*pi{8p+MM0qPORh2Fz|mKLdE=}KgVZ7bV$arrwLAV?sM8COe% zu-(S5CP3O@_DIyQ)yia&Xj&+S)?qvM8|f4 zF|P+2#Q)%Go;x~He!ecp(X6^OX>#@PLBew$Q{aQXx&QIOX>I8%yu5V!8zA^!n7+A! znM$gEgzBe1rHFoaozz0)M9%S|a1SUc;2r%Uq}+}_gQ!Cb8)Y=3=O!9%mOvWBE+v!T z*UxtkuTBtPB;R;8D;q}=5rY8O=J!IBhm}fC{e#||^YBX3ZaT4Y<3>hy;ftu+7d2ksSt*=V}YDOJhP&Z})ENCeEtSHv}T;kQ+YHvwND&YZ% zq_MW*%zfxT00b&yO_j3DLoaOlI*Jd?H*W6P{XkvG#_Sk&F$Lgdq$$tMwC%7*gdSQx zD|THco-};A!wV=I9LfAjbK**djkx9d)b?>=7B8FBr&CFWS4(+LzPS5R?Tat)&h!AT zDCi|CSy&F|B{>)dLo}HKFBA?o|!QIS#Mkv!@=oVHWNOnDu&8=CtAtFKNg4 zYhC!k{!CxV-iTjv+8oP`x+0$djWz$H#k<(w$sF+61h+ECC_b>7Ibs~Xt)lWlqi3vn z0u0ZHKQ2SjB^x3PM+))@P^v+%SMOvohx-x{Z`KG zNRKAEAYASjtCe8^TUzGbRB&oq*IIS>zQZI}WzW>rGUqBZ6G&YoZ-A?BCs{{4tx#3U z1ly@f;bP?Or2X*7OdXowu{SkoS;@xapd`pCz258h?y*y-minIV-ym6LEz4~bcB?v* znA^p}5d8w=m;my|+}~&ND}2kl$fuT>`Lpir){fwN!EC);+Hpco?v_PU9;aCKauu2_ z&I4dEF<>P;RTV#*Cr{Z)QH5Gj%8Tp2S5ahsK6VD?-=mD440nfz1oy7U31(dvknIqtOg4X`j{%k)=x>9`m!=c`Oa*AuakU+pW-6&4?H&=-ura=c4z1D4 z=X$w&KG;>`;lO__*Mvt#2KUzenR0pC6}jZHNPTP3GMB3fovSZAeW|&SXNAtx^I1q()pJzp#s0N{4p+0vV9gf^)F6PLlZrnB^S@Vf^PYp7 zVWxM}P%nxfPZsMWE*P?33xTD0>F^>~DlaLl3-$71)02QK(hI6HqFdx$Ntf=Q5Fe9~ z%?dxm)z@`opZ{!SmUk%N55jCr82Wx|Au(dHcE4rs< zHQc>xiLux(uIharYSG=sEdcL#{&IsgtYQBsZ!_b`w2F$osW|FIVQ28s;;wMJ(43Mw zHx)CptlM`_Sg4tddQBPvWrQ+>oD^*-vANd+fA}sE)MVw<5)XsE8)wys**ZhCZr{8wm%UH)OM82%&@)bQHY16=@Z=yka8;di1wD{ z?vqc;Id2%$l|QMUX;$4DBdynCbcHp!y9M0SwcqZy&zRHKW6HF)Q=PRwI&y|NW={n` z33(@89XT4J`N1wdxRnk)0SR>`ti3w?!!9lHS?>;H@8r26I~Axcj(o!dhHNn5@U&-b z>6!bqNoI3h0^IEKbS^SNVnp_*llJD1CM;lPF`Mmx7zwKR5n>x8;}VVj(ki z{sC{7w+mZuu}lLo7ngR`c`*pT!tRR))q-Y68e+yT3Mb+p43eM$GS~h3E~lo2qm?JG zT^o7lca)zA^9DL?yq(f<6|902CjSXe6kd5M8&@z|L;Obq9u#%~4=RH>bd7Z*r;(+H zijfira9FXlND!c9IRGmGy@jj*M~XJv8-tp+?+Z10X(gL$NBzSSS*qbZP`O)+!OTX@ zBGpVdDr$Z?pl(FOZ4-CO>$dMZ2P=pX?v^M`so)rTK&`tK4}t)Q^F>VYHaZ57dk-8f zZS3j_srYm9iZ+TI(ho3Zu=JhIa&iS10M2;EXl{N=wLwh^Buk0!msH4HaX)ph3Kd#d zBaxFVjDSHx*#j+fqr0NpqN%AMjm2xfz>)bHi09K0x;=;{IaTyv_xb)|-NY@wByRh~ z9A1+hb}^VymT^6Rbq{I}iirf6>LHooKpo3V{4i zBFUR%lWU-6ahvdz)PM|;$#LebtLwpsKd=dFSoyRmv$^w*$(!331a^K;YYYA3&FR!k`I(wQvVde$mxvy=`ejit_1 zDY60gDCfy1X8eOES1nqMZEyF?TF~5n#!&STGX^+W^BU@|tM0 z)n&ckTy14)JQWc>#!^i~-Ty`A{LJ5XL*nU;C-&?Hd4LDJg-aueR8gJ?^Z<-X?PPm?5WM>)TKsb;alVlO;a~y9yL{7 zx0V!ZMF;yh@$v1kb8i*4Lc+W9ZSL`$ewz5NXFA>IJDKyhV!zN59t&`{nea+=?tL8+W{Kfp+;;3v6mm z{IQ2PW6`uns}s`hD9*Yg3X6tj5#beMIE(KIJ(Z8Zoj2V4Sa+miruYa(dd|qYZ}>}J zp|MidlQQ$_LBU`3>3Xy2x=?KpJ5!(%DJ=(}F97Dt<)P3_a25P#9$@W4N5aLfPpJ{1 zDZW}Gn@BcBCQD;8pZM4|U{C-?^p3brPIMMy7%qozQ~)^(TG>|s2p9>OTV;r* zW)Dj65xD*dR)Q;CHZF{gfhcog+W|@J0(;$B3Zl^O5oC$s7Z3)A6@|-tIb&KAPG5A5 zIP;_a>7;DaNw>)r^5F-mUafF-5gC;d933 zQImG!T|(@+r)BaRi8wFnApOY5(rR^xGU_MoC9a490r7<0l~2u}uLs>jx&fXYb-@xK z4`niLeQdpTW_e?T213`0N16H&5)Dzlc=TaI)+OYPcwRhfrq4S<2;s9Wu8o^I6R$U9 z&1Lkn%9M<~^evNlhnBH1BNL7^pUg3h#hACr`_9J8p%7JfE&ru+L7o$9)jh0OJK*-~ zO&)8&0Y`ogL*&kATOKRpk!burUQCyH&6C%nLUH1jGvu7q*obwB8DH z8*XQ;oGV@{luBAm-ecYji&5LdfieGCv_5TR^g6`G7xmGm>9&yEUGcG&3n?0!iwC?(E^y1-tF;T`)Qo;=nf8j* zHAyWt=|5{E0ULb0FW*jzSWoR(Tx}QiY2ST$6>gVOmvVRKk^W7sHy)_(99Vk#7B5jC z=0FXQ)mT(}wQ&lA<>HOGb~m`P5*hgE%mTkBlJi#sMG z*HC%ahM$8C7i+ap@yVgd^9lt$HFOphlCqFHZ&Wh}%Fd*&p92tp_%X@{dSYd&DwJe7|@UUFRDoC5OdBFMmI{{Z>|h~dCBr9L>c-;GY#|WZ zVx#y0#nin?I|8H5j);??B`_XOSjfjCP4p6=!_b&q$(?nVhOxbmDLo3h_E2$ss6}gm zf*XV&m7l!wMQQky*CfK_VL?MfLwa_&pwx?MrqX(AS(mTa=Rgm~JvM)0b?9*&a1Uw5 zF?}<|YJ4#O9HL9b8fgX}!4<3frCOo`c~cgnIQOJ8{lp%%9z>0mU^Cuc4eBP6s-bv!Gt^%NpQf#{$+OdvWlE8dhtdoI()L(>NBy&Uw)ZGa_OZMN(Y=eHI zHD6YCm!OD>G+IuPw$Clj3y5*F>q_II>d54 zDAEHtu>?v}@3a8E;rsoIOvO1nxf`Ulq2k&x#knZxMJRpgR^K}%3pG<%>Kq*6%JHyr z3I(`11>df)pTDf<9NMIvj+2m7Kt1$7%B0q%CT)OnIm~wsOWd}rmJVahihU-c*0;mS>8 ziBgcC_K+XAqo21%n#KBA)qsG({OQv3Q2XAUd*7gZ^^(9rrPSOHRON7Y^&y(3OD8iZ z%m#l}LFA=`bzlv@T|(y}iN3enuIg${7a})@MO5v{Mow{ie}>Uag*M`b{k)oU?#IM- zp2k3&Z;9vCQKB_<_EiGxT2T|o6SUqRazM=3svB4IjZc|To&+=T?%gn6MZ?Y&o0>7a zd!KCjfklSgK^y<~j_#WGB}N2~Q%qT6ooaS18i2VEjlM0G6U<=?cAAb*>?00_&kpt) ztz2s**LhvISseg4Nr21v7AFA^UgP}o-IDe}%oYEe#^6rsZm`>^HOOD$JhoVHeNqx! z4X+uKP5#6xQ_ux(FWP#ELcSth9JC!Q>AA85UJd@MO&^A|&uo!-dHWk!^}D)T$oTsl zwT+y%$*OHMHok0mt7FkIju4`tPFNdSRDmLqpAS`)^Z=AHWte5}hYfIUf;f_$mzLAv zHL*pil8TQxhP2?O4KnA?ef`$TWV-=k^so6Z$YiKJ-y}x3Jjgs+x*&Iw))sRE0BuKa zuf;wsJ1bvuRcTW8+Do>vSeNJH%an=(kV1ZvIsdh_!fJ$SGLlH^KgOBw)Xq7a`d%dJ zy;Tjcx9t?DZ-QifiHa05O zstW)A_djLU`k|kJNe+qx#dZ_rhXbgQev|COs_k_5;m8+5)B?f4nD}sY!(}{|r|li& z3U0jL8r~?VuvKUH*z7*|HJy_89w)k)m={El(+{df@cJKq0w21*co}3z!zHiGo=a|{ zj}#@^nvE6R4fC56S55dy+b4ZS1By$dofM~+iM~A4?2ej>xR^3lbO&zJGp2A7wXjbb zBTQ`wX>w0hQ6gC03O69S>$35dU6f}jMMn|$%24C=4 zylei5*?|`x<)Y)y!L{NW{W>eUm%A!VxhMP6#H$ip%yh@`at^6=lcnfD) z-;_KX=maq5PSsLd?;^;rznWHk7JJIB1+#t~?&5Qc;&I4(NK}5AR!_9Pr&C9s|M0K}0ueGYe`)Pk`cY9FSd8f! z;|Vwyw+GLTO%~4x!;8CqQJVvf9X65-YwzE9zjA2z3qjVBbUXgpe8bItM75fuWzydt zv{>n7YJgrDsNOr;g*h{@V4Z$X(2iahtQC+226S8{#Yb7@r8uMEXU2<=IE()1@~5dY5HW*syX+Syff9p6ob6y|Yp_KAp}9 ztN7vM`2Qj9y`!4U_O@X>&K%CD2M0YClrn=IR7OEsfan0CB4DEm1P1{D=_J%7I*x*) zz$hRhB?<~6B|_+dL;;D^NDU!Cgopu?5NZl3_q)S5I?uDdKfdQ(-}`=Ru~ZD)_pZNk zUDt1KFY~I}LhkHyq+2A9`biuZqoI z+IQei{T`4sJ&RBNMseBPOWjg%6fyut%<%hSDrRKr1qExcCLQ@subGSM64pBGFPp__ z;#^fYds(^d-M1?UJJL606{!3XzPaQ49xC4Pw{R?0fFq;Bsa%d;V<=JovP()t?WKkW zDB&4zKr%19zV_d6T9$yN6CYYDz@#g7$u+ycBh5F)KXKNjxZQ*!OWzmTQA49eaSK#E zU8%2eNx^2Qpw`blAca;PSX>RN0++Uq z6&7Y)vP#N5Sfxq|=s>`WMWe3J6IJvdCova9M){kCQaNd{(61(I&^q9gQVfOTS-u!O zQ!jjdQ)twPLCHUueh=}cVpXDohy|2D#%(|H^VyU;La5fDk=!?FEgHbg@Z|~O)&Ls&aUj zG>$@3e|C$qF6ABv%uU5%&*E7j@|I;gl%S@@u&=$mqN7 z2$-2u=`2{jF5n$SToD+#q>75v@Kzg?d*#4?_-=j z3InfvnqBmO^LR64M~!T&r6m{ZgJ<%9CDKEwgBWai{IR+dRBaf4r(V zD~)jIT;IBc%9(Wu^TypC1D||c&&Mo1SbUVy73JH&djmI#k~ol-qrlxrrE!?JX?X;^ zid{%0#b9I~!j5>@-3o3m4&_SJXG+!?<}`bB=UqAi1}7K{&IJy)#3P-56TUEVlY#tm z^R~O~1)n_Vt$;A=1dS-`; zr_w3N*m#}BtjA4o(3WgR6skdLP4)06R;+%??T`KRL0si}td1P9N79CqO!BXb<2gzK zJhCajBRkn{_rdPnKO5$JU(_|_5?OD@3j-~Cj5RcD&iDV9zgAHAEoH{Qg>j}(F=UP+ zBTlK!f-|qEO*A$~47nJMO-16UzQzez|Jo!kpO(~`19w>`kbqVb%RV2;?ysQTw5eq_xA3wYMk;BALSD! ztIHy3jSJ4Q4t56RUQGw<-P~GPc@;P}xW4I>TjXTAAway8l&*LeJNvu#_uPZV-gKrE zJb4;)>p=y=LswcpsivYMm4!36X#SpLto98RW}hcUO1)m4{N{-_}2OJi_kv&2HNk!TdThve^DE8D zQ_%*ylpdIqxQ8nlv0Zj%W2h|0Y6V{h%%Xk#o-Y<0djfj7BdauwL6#=PDwo zcN6=f-DST9?#Lsl9G*!*v+-LjFdTfN@3@RkKi}HO8}N2Xintqm4EL87pq65N6Gv!( zC`Hrkfb*2&3|;_Pcmx^WZ))C-d@npYl~UTZVjG6GXlSaZxqT!D0lTeuHFG_kKKFnb z?_rhQD#lyP_kf$8rYQU*>y*N~oTLK?Jyxy+%{yRZZPju!1bskTn-m{zrel&dsUEC- zK}2bnV6)rRjH-lo7(@q!DZj0(HyV9?n2)V#nCpH+ zo0=K#tvUtS*!vnA012e8@$*^X#ZvFWG|u}}#Ihu@)*#oeJ=#dap-hkCW!^o$`{$e3 z62)V=+`Ww-z3*Vx??rQRnPYD;7Lt!|IFwG!DZRgSqcUgw53n?z+>LvIL^W`6omd83 z{ESY!>z7&(oq@+Oj7n_`f!}K`Xrdlg_`UwQ^qlQfY;yv*V<<>Z-d0C}J``hV(@O!= zkWb&QTDJXLyY2MBl26!2CYyNg8kJ4E-sC;gd*o5d?tpxqlyqpv7`2AtLVmX6H715p z(&SvWI>&-B{AtgIR!G@)43u#gjSJJDA6 zh@FOMRrh^&WpS-Nju)yTtSy>N$r8fveBiIbo7d&Qv3${J%>lHhSmG^~T;hp8Z^PDs z%*R+a>g>bQyKSLY%#T`7)l=)N%g6h|aHGL=PDYBu?o_9h0FXO&taJA5hbBYQ{gDCc zx2jjh@EK3IFpihaen2?yk8f~SCePO+-0R5_i08LMdjcz^XMpwHqlMY6t=&x?p9gzj zNQT|6s_IOBKU~MUYD&onR^h47AnGqEqM0Nuo8Ka8jV90NO6f%pBBe-{jOsece$~<4 zh2eK3-Gtr#kIN0!ml}&Ozsh9}5{lKW(*IX8&6-yaekeUtc2adUoxfU)~#-{)SgcV$_9=3sFLV#g- zf^sBNNDH*JLaf3J%?PF?sA{GWbNMc~rgWx@Yy!2gh#!+3vY#mC=!$OYw+Y!l{e)B4 zUKPf1m|69xT6yVtw<$bQ_v6LlStdb>bX*3P8YJCMe*o*I>J(;N7$$|yFWsVNgcsPB zCAce3%lL88(_!(;h;Gw_u>}di^+)=prr>mTsNb#wFf$S|PRh)VRODZhK#_X zuoil(Sno+>dvbCbP6!5$2KHt3L;%`nPer%p6fOxF&DEi+meW=4T1x`-?3tH}F@@THy)HV+OUZ#7H!kNEw2^%sf^8Tp@{HX(ckgbgmmi-g>g#QyHvUF{f8 zb5L2aEV(IZLx#1*iduh7$}rQ@C93gDcFqv*H+T9!iz0wUi?Q{|*7H2F7e98P$bk5J zUo1#nCMDqvXaBvr(kfP4d!)(g_N#?mZ}}lk6AKZ;671H1oE)EokRpKu(Hb(ULXBto z`8jL)Van2S%zcGNu~(%!2S8huBn2Sh)6tb|!G~bykLYq;=?ur4WHVCdQ1N1jGlS34 zBga2zZj3&Xv(ZQT$n<)}h6`gj_P_j|6_$MSyAb2!PMFV{)72%}RcO1ErB*aKw~LBr z`Oabz5I~am$%`6d-)ii^bJ)$X0R%UYKqb0n4`Lw5wWsH7(QHNoWTZ<*`1nyqaiH#& z=mE(y+J$vsv3>O`k7{_+s7X%sF zm1F)6VY;FedEGPq`k0BSY3vxCfwwsMfnVH&(4_YC^mqr!wMq)47@L+VRaHDm`=kA% z1FVemqxvM*@_o7{N9xF|xR11S5#Na?!x=h`7lSKThFcNVA^MLd5CNZtiu^B*FUgr@ z!>1F%Q8uxnK)9Kh7OW#3gR<_0b-SJ_YB05J=f@$iP#=A@EdS3`P8~!}zkQo71I|I{ zFjLcnfZ3;$x?a2?7rX1#G;-Q(sAKk%rUAnaC#5y{`{c#WqFhx~RV_1;uC~4IU4_R1 zaa}}NNF0ru4Hc*zoFHoiv9P0#yt0DwQZ)?n5Ms8+R)eWKMTO zQb~}!Fn{&3<>%NSHPOWaRr^y;Zm>n>2~W*>g|+!XQ%j3F8vKGQ8~nFJoIxIDRB%Tk zZl+qbJlk~L?Itu8IuXSxvXMZRM=O1pi>7!S33hs zXecrE^{MkWzYWDYC1G22S+1>f&17L`qHz+m3x6>N%HW&;UCbUm%b67w`E??KCY`ZW z9wY5SXcyxSWG{Vxo=`k0ts&>|JL_c+TpRer#q;lUfjw!n zO4zC3+ulXx_(q>Vz1!mBOGb?fh7E)T?WbSxguhsivxFAgda|ee2!l!3ixW(T;#RU@ z^JF6xn#)(s=$?No`^fn)@Q)culO=&wtJ8vAKio?GXikP_iQgGC7mo0?updTM!|Kb* z7UayLyOh9?x_#RA%mn)M+16s71b!Pr`PkUhFBNdM1ZU)EfPc?RwB9)ut7-O4UjTT# zl9KV(90&iC8-C!P_wDB!M~(It2VA}-pIDTGGSthQKHejpTjJVIIVKURE!_@PG-af> zFzYWljd!(sS&*~G&vvUs^ONr2XBKWaXdEyr^Bcu{P@dX0+zKBsMQUq4Dt;FW3Hx#& zX?J36FTFBZqoDT3+*@ZA=z8uI70e{`)Qkx-_e+* zB zXUa*J1qr95lv2I9kWY(OdaE{G9*7u8@Ex^J$$ni?YQKsPp`03H6S|WzZ$(I%lrs#@ z2#f(&+%<==Px!BZ)}l(vBRfC2B)82kSMjI`a`3m67dX;))8+1J5I~wZ zR})E%P>B5Fo&r_X_3luCXDim(ng4uFOm;O#-@decGcXk*^W#9}9Hf5Bf@#@TH7|8~ho2$oM+uW;ItTTT0iyqyA+RzOdBs8L< zJDFrsSse9J!xVOn)c4o8tydblUXYwpM)fNPYb7DCC_g`h0INTI=k?)B zDoTQrUlJ`KN!$lJ<{96$M8IBs?w#NE1Ql5eim(!_zW#_3>H`>_Q>I2r#^3zyxi5Vz zr@7#q6i zcC?VCrN~I7qtM?v^^*$%Ew%Y`X2+&uOpTS^&;I@6t&{sxBEbcejMYlbUwxD!zaCLi z`aIWv-AeBRj9JGX#ryYW*zHdBU+`U*{+mMgZTTThf#`aL{>dr4{<8q=pMSr6^8eh2 z2RX~XO-GtW#U0M3h&`^jQ6;^m3MBocLAVr*cWzcl| z9`Zc6BZ@$!Mw2R)~dt}u;>Pd#h5u2YCo?`jQz`7L6ZKRmJ zpb8QIln#XeiaNDB^5jqb8}@KKgHbs&7u0RnW;f7`_diuxJlh4$hCDjoWAHHI?9X|I z`26Y=L(1^SBTng(nMdCrs{9Xl2r7SJU5XDjJL=?#k_FLj&-|`xj~V70Nb!Ozg?;;0 zBHDz{2V<-MNm_-PQfHNnFCZEgu8ef2PWdiZ)zL7BJuSHDn9{$VM~h9!_yD8m{2W3daC=TBPS&hOpjdZEWqY%8LqlaY`BG| zvuC*(X$9vV1i96s4d=XD!0nsXDF^DYuD>cO$GlPpAB`W%Jna^R-9K!|*WI|IVuS^qp1c4Jenn|&_Aw0rT%`?b98dyx z8P}ECl|d5lfRENlGc@np#gfl&F^`&&^W|Ma7I)4~8Bj~U_}9^;qvK~$i2a=Ep^w+j zdMMoE(MMKR-VYu>cs}&O$3LU-I8Bn#sIpMd=Z`0yrBEnq`FKYWA&(R&UVdhl%RPG5 z#Kqyj%s!Y|K+a|l7%W^8P8{Y8CU=-BT^seU{~Zw|xG2vK4!;7YP;qcF-}2hn74)f& zyqViR&ffcQJ60(sk$bB6H_D5)-w#p)Pvw@x!4ry#nh@Rd&mCut%$vuXHr~;d7E=5k zG@G{97FI;$ak(da-V_wAewzJezQ1iDaMP0!CQilhYmV zz!sCF==VQ2Qc_p3kn&5(0*gx9H+nXQASw@$jp+%5V1m zpiG{3|h9-ri8|$6Q zbU{gb5nAcrXxiI*m54a zbjuRv+SA7G!)bN}*W`@O2^{wG8x&v(FCa%lf#5n(Lx?IZar)WKcE1%H+)W41PbV~n zqb{OEGj4s3lI8gY=DIIr7s!xy&}b?tj=EB?e4TQ}&*;D`E{LM?OSn(7=k9522|DtI zI7mOAsCQYBe!S?BU9G_q5ak7d?X+Y(U+%*s`{4f#R%1!QlB3%r z`41sk|8hwyxsv+I#X8Ho{kN99pg_q~Y>CJHo!-vAO@Yov`~1A07O1KCgGrbS%O<`U z=%^@||8!vbh*lQAGn#P+8$Khz#V_#zE_6{S74*v3m;kB+4!s~%d^1@;r7~r3Zc0IaGi-a$Y)I@_2+cN z_r@)L8-L_*qq5r44E0SxFP+q~Tj8zNmN61uLunB~XavW&^rk!CFo z=8KC3{g>lcklY4xTRqipWdW^$Twu=dEpB;wsq^SDxOkN8*g6b38+;`ZZZPk zZ8^Q?RDK-2-0M9slWeEim-k~ac;``g5a7}d94p@+R?ZV^c--HOezd3Q{|0@;_;~0* zUg`>v+2@4st$2Q38*0R7YE2%R468Kho#dv=D zB3D%VZdUvUXMCK0Ab#u64RE+d0esfE?l+F9WaPsk-X~-|S8-at3)Kl`=EVRUEZ!6} z080)axF6P3VAhGx@i*>DyqRK-;z*r9ylXTTCHTN;;Ew1!Xo@cZ6lrEVJXompcq1@X zch8EhcD03 z=R71FevRhfdq7A7*$3DYoA<%Dv`0VC*!rx%HOP*thcJSj>f~ORf6Z)E+Uvn-3u-Ds zx>BQ7={n_f8SllL#@)2nd&rAI)i8gvtbS9|b0!=hnYixKZ8Bm7BAj$UYoz69Jfp>P zuRlvE3>jTuY^PKGm<`dghX7XktPog%l}L`FR5cZ%V^-UJPl3ZnG7l&1)ymK7pe8Ru}3wkzf zdy}~?VRSDn?wp!%aT2SqtCY@p9LPT21xK^vzZLOnx^&Pck~gM9z-euK(gauV{ufa3 z10Sf&=Pflse#e7|4bTMVLR!vVe8AF+R|g~QqfZz1Jv_Y``%k;V3{+M+qZ-_e_&`HQ z59-Ye%FTqXG1QP8L?AIcd`mSIZfd35QlpO2zlZ-F4C zDO_0Sw`nkg1eDrg{v+^N8$b*u3dtd;O}Hr1!hyBIzW&U!#oQ6$O$BLoK(7`xgW-4) zfbs%BcC3#wsW>+5BAF<=#(AAa1%g3QJVe%yb_*o^aDXsrg;a8Z4;{%*$Dc+%sxm zKWROdm#|0ZUOp?HG!>=OWD~tKBE-ZPYHQ0WIJB#kmAY))542Ib{a{LBA}cP}Z8@If zrQhvga_1r{cEC6xZfii8{DW45g|;>ZU@^Yq3m^_}li&!L>09(z(TEX7UA2%vuV77l zO11AOz>%wxnHAnfJ|hdr8Dl7!zM2x%rLq2hN+lT*clZ>@J_@^ZbkLZ6Nq%Wo?sw09i+Dkhys$9Wp3F$WNXHVNW0NnBXi2&edht0IvAiP@fO*Q5 zG!D_jCMK56V$`SbgZgH}?U!HwxMy7_Tj5cft9w*Zf})OJ<)m$14jgs;7vse&#k>PS zQ>*V1XpGkvBVWU(X=yjUk1IDh(9_L0m-o7;3lgHA= z;ldir=j#Fd*B%YDS&@rBLqR1VHEc^x>_U0%A9l{7@3^m!FuX&Q!pyqmugO=BQ?%`F z|6b7Yx}u}0IwrU;EQ3;Y1s7C(De9mTs(qRVdojx%IMx|Dlr*n%VA7<@H6{-7SV(`k zzQNm~yJ%2+9$8Tq97ju44Ksy(yg^w=Z>#wEX)nQ@wg%g3Qn-|{i57%wmW?yBJpK*H z-g7&3T2ceP zuT4)TYm$Aauf1#@@BO+pDA(D9G>_SQv8o9nAz6fnrx$QvMN|190`-{@J%(cz{cNkO z^vyz~Nd19j9F(E4S4Rw>&%VMzlgv51OrF7+00bCGwV10^_ClI_24kN&y-HR!S6m5Z zLW!HDvOcyb$Oo<)$7Y7cSaHjma1_5=&B6Vq``V|c$z@Cf-F4;SIKHj+qsfpOxnhFxp&9EG8F|6C_T{5tb{xHpwuDX(V=g*w zyDtiHMlhio8H>)n1(&}ivS*yz5DqkZ+`L5c>ZBi~3=4G#q0v2fNWkzsB&;o7Joc9q z3xGb2g9bZ(q>i4JyqL`zf4RLXBC2oB+yU^-g$NU@W6oW_x`P4X@GvUZwzbhr`QgCT z7fs9yd8k&%loS&(w^J~C4^EXb;*7@t^|itZ38bPm$P|Bc59InG$)38B z?YV+0RuTV{O|6G-RLyYu1{?vD&y11v%6xp-2sDebR#&zK;ruM*0ONOTl1OOF5M=~x zqE$5S(8Xjl1n-j9C7sh=HIt zh)zD6EaOceQwiqvo<6_DBnTwTxR7kVK^@>l!0?<$L|>i}!r}(ecSHlgv#=*O_PXODGe}fd)feUg1n`e1a+uc(CIxp zg?e(?%OX(}8Y%>1Pt_p6P{rWH7TFzqnnd<7Usbh+84fJZ2vn3`ry>c8ihuR63ZO22z+12`m@^mZ zd*eb%%)Kp=CnKe>Zt@Q8gQc?`Zr8K+$P+G&3bA9spVkEo<3)T*{TzU97$oRCX66Hp z`-5Zv;bF1**Cq9KD#RUnYo8oJB?3hWK$iPge=s&?+e)kY zYeVPQ@8b*qY)il`MYQ(n$4sl1-u8<+M3cyHmx38efX;yWYYPzSZSfC|&lDxMCMW?g;Jyko%BJTm&#zArH9);df6>~nhLN5n4v z%S0#`AU7p$K_dpx()d zk}`%-DiEL0DEsCVX$l>#-$>E2h4ogv@gHZoxJ5V_p!}EPwT0tJ6^FTe!8r# zXAl{CneEy~rG@9Th!+OG%l--iD>M+j*LEwFJS#a^^&nD{>%*1o&u(mavZ_^{I_v#8xPGUytQL#$AucoiB zwRCHVg1T-Wn46me;`VDt6xk9Q8Qbq0-LJzj@jjlQob?WM>oiU6#31`8+53sBC7IQP zgcU;6O4@_v(fGob4qx!C)k;GThfk+ea_E`>H}%@?o^<12dw0%SYl;nnz3R^&Tcwbi zUv)oUX!D6P;O<^}Gbr?kiqrUlvQy!g3{&aVU?p$y1iG%>w);%&?9f5ar1E`WF)@n6 zl->b!{IgS2Qo87j@~z~F_98K3b~OC_;g=iBT35aF_<|#@QsTPP=$b$M6VOJ6e+m0Q zb;qkQ#hTbnte;<_^wYsV%RSx$$Ww_sT2MCe52Zi82rpJEO=)Oofuq>}{y&W#QSl>+ z{ii+QTBB9>>pCTMz<(+>GEi0m#g#pM?(C=GRr3QBEXWY`NFS#I)i)`<+w-?}t+Ov( z{XrRL>NYG68!x9j6JY<1TiOPi>}B@fNhH-LRT0+;`s|%q01>%%tZu)y)W_^->Pe#6 zV5DjKEWob3LbH1n5Y{@y6{ZTd>vQk^EC9RlnU4DZ`ojoU+8&UU)-gbaH&afi*)Xr4#_ma6q#(;rud!prM}VXy|Z1GCidW4uQ*eWXFg{SKe7Gw$pd3o zVK{-)&{|>JxouEUGm}sRYC^;b*uL!F3tng6*|4E1MxzQ{X)BAcGY6NkN73K1)bfZ(fStynwogUar&2s3I^mb9WWp{)gc#) z8l}?&ytC&a2}OvL_KdI`WY6PUe*p(?|1gt1fHF@T^w1i#CX2JT?g`V{6NZbDOT}od ze=Hs^KJQl0XA8I7oodTu`_%--#`hQkrfGbk+oF2PWmuh&N7KXg2_RPny8?=!Q9yUE z4OD%abxBKnzH3ha) zs6Q4vc9vHrOUHgg z{^T@aVLw572mtV^ULXG&u}y52nnu{_#L^!oei22dyM+21e?A^UdNr^Fg*26JK}81{x{5;PWhQcSci+2m5Z|X zt{K+O8J>ax0Z!M+-0oQyY58(0M75TTMg6LPK3l!~oc;a#4)i3bq#)(EJ2U*)INI_U zAWw4^M#L13Mi_t__@swow?NUh- z(F2W8w%9YsVmBM#hP^CH_ghiJEv74S&dv`R>|Zc4JgIRuCdWH6Bj){@LGG1z)8UjpwpjJ?tsLrU`_2GaLd| zsINusL_4hsCyT2D(&4baWL*)a0)&?)%~( zj^X>ed#DlG#N1}rtg)Q-Q^$gFlD2j7Hxc>{qz9CH7v`Nn6C<8;@(1ZX{XJ(*g$;qe zc%ymy6iW}~BSzSTjioxT6iSw}tuT$)5m~%TQtj%juOf-XVK&L4<1u-$kj8N6TbwZ( zTL$$Pq6LZ8-9%ezPdtU=o5Do$xpSSf1dWOA!wJz%YsMkZ%r=KfllxWsMme5Qjh)<# z_D+keT{GE^_I2>erJgE+rHu^?JULv$D5npXv)zthK0jBEj8%6Vp|1;59vpZG>_sQA z7l-eK3FfSY$WcA8q>gUcjvFuETi#P`3qttC!F<LIR7Ost)iY2m}8FC@bJ(l^aH=fv|k%O~{esu^L^+$-#fSmWu3 zpq{Rn=jV*uNRuy1oWZ%`V7@RGcT;OubA|x}iaN%>l(u( z$#se!B822S$8y;8ZJ+LT&zh2V4}zuQEOszcfuJ@a2aT*prt|O|)=1lO;zP&fde8J{ zADg@h&=4WGW=8uUZ*ea#PGcl0OoQ9{4rab$+msD`LcU9>U@49p1!~_kaBIs>V;5_a zQkcFlvs{llaFugJE6!^M03gy-pisVRLEJU7zprMgyr{ThiaS*h!twG5@{74U`fkD= zHlb2kRj#Jl@iEfaLqQ!6JxhuL+W3DrpQ8VEI28fQ(ASq{z|nHS%{{)*UOY25b6J6& z1AIwp6#sl+ZX`^u0ls<7T7PgqqrR1;B9)LF|GN*wBJCZ?N&k8R2fMGZ703(qd zv5@YTDV1%Adf!9SIZ!;Uo#%Kw?b0Jq znc99@OG^ugKp=^OZ>9_y4o+TU(Y(EX~hH1k5?0W!Z0&lge5L$Is3$TmmltFTviwzXYdS>z+hLr{yk3 zLGhr{DMByC-^xmggQ(3BDR8k7gs`fla@C^-WvX^kVNX)^$Ny0Oh5F(v#f>hO4K;1YrG30UhuQ;MIhBTHu`skqzQvtqkC= zet;0eN*(mvMA0#2dt^ITEW2zyUIO=B@9rGeD!rNvjp?ce9;-0uIt4T-e?lR1L!ItteFWso=m%6z_lX(ldVV51nBbX*w+LLaqFS!C(1h}DhaHKfmr+C3}+5~>2xyQLY|+~(EY^KXa;joeRr6$ z$}hKUc5mq(zEE*&B~iHL2Ws>7rG9s3!RoG=?sWq~g{l92>db>$E|$DswBRdv<8h ze`ipNf?G9Sx7{In-H)zb7L?G-Hz7ZSNOm&?++4J!5XF3XC+TV_k;~DIS`%Jajc(p}U((IB8`JzudAC z*BgPjKF}Px4u9m>@41|(*ak;3;4n}m1|>m0!NkrXvUt#SQs9Gkmj^{d9)wO(gg|nD z1+9hp>JqOc$8CTv?Sm_~`^)%ZnXAp2I+cKMw2N|r&j2!XcupUmJ$WwR;xu%O(w$Nb z00Gem59q25+L84|wHa`DuR@hG!fVh;u}{HV`5nrDI;0GI&`5_0jzp3CB_vMjUV(+C zZj`z|*u0!qq@8h?1t}Pe5t*ynTQyZ9i1lwx_3h3p8eG==I5Y0!2(Mzox$H(pW3TDf zykXO~5z8IOKQvZRgl53+7?DG&RDK7_hM

dWnxGqc&rcEPMJ4F@S>hjaC1RJEY6X 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 Kp??|v-G2c8YP+}q diff --git a/packages/demo/src/component/CurrentState.ts b/packages/demo/src/component/CurrentState.ts index 3dc5665..8d37745 100644 --- a/packages/demo/src/component/CurrentState.ts +++ b/packages/demo/src/component/CurrentState.ts @@ -1,4 +1,4 @@ -import Component from "../../../glhf-ecs/src/Component"; +import {Component} from "@serbanghita-gamedev/ecs"; interface CurrentStateProps { stateName: string; diff --git a/packages/demo/src/component/IsAttackingWithClub.ts b/packages/demo/src/component/IsAttackingWithClub.ts index 03b5527..b2423ff 100644 --- a/packages/demo/src/component/IsAttackingWithClub.ts +++ b/packages/demo/src/component/IsAttackingWithClub.ts @@ -1,4 +1,4 @@ -import Component from "../../../glhf-ecs/src/Component"; +import {Component} from "@serbanghita-gamedev/ecs"; import {StateStatus} from "../state/state-status"; import {extend} from "../utils"; diff --git a/packages/demo/src/component/IsIdle.ts b/packages/demo/src/component/IsIdle.ts index bc744bb..a69af27 100644 --- a/packages/demo/src/component/IsIdle.ts +++ b/packages/demo/src/component/IsIdle.ts @@ -1,4 +1,4 @@ -import Component from "../../../glhf-ecs/src/Component"; +import {Component} from "@serbanghita-gamedev/ecs"; import {StateStatus} from "../state/state-status"; import {extend} from "../utils"; diff --git a/packages/demo/src/component/IsWalking.ts b/packages/demo/src/component/IsWalking.ts index a3e35a0..40b09f7 100644 --- a/packages/demo/src/component/IsWalking.ts +++ b/packages/demo/src/component/IsWalking.ts @@ -1,4 +1,4 @@ -import Component from "../../../glhf-ecs/src/Component"; +import {Component} from "@serbanghita-gamedev/ecs"; import {StateStatus} from "../state/state-status"; import {extend} from "../utils"; @@ -8,7 +8,7 @@ interface IsWalkingProps { animationTick: number; tick: number; status: StateStatus; - [key: string]: any; + [key: string]: unknown; } export default class IsWalking extends Component { diff --git a/packages/demo/src/index.ts b/packages/demo/src/index.ts index afe195b..f9070f0 100644 --- a/packages/demo/src/index.ts +++ b/packages/demo/src/index.ts @@ -1,14 +1,10 @@ -import World from "@glhf/ecs/World"; -import Body from "../../glhf-component/src/Body"; -import Position from "../../glhf-component/src/Position"; -import Direction, {Directions} from "../../glhf-component/src/Direction"; -import Keyboard from "../../glhf-component/src/Keyboard"; -import Renderable from "../../glhf-component/src/Renderable"; -import SpriteSheet, {ISpriteSheetAnimation} from "../../glhf-component/src/SpriteSheet"; -import {createCanvas} from "@glhf/renderer/canvas"; -import {createWrapperElement} from "@glhf/renderer/ui"; -import {loadLocalImage} from "../../glhf-assets/src"; -import {default as KeyboardInput, InputActions} from "../../glhf-input/src/Keyboard"; +import World from "../../ecs/src/World"; +import {Body, Position, Direction, Directions, Keyboard, Renderable, SpriteSheet, ISpriteSheetAnimation} from "@serbanghita-gamedev/component"; + +import {createCanvas, createWrapperElement} from "@serbanghita-gamedev/renderer"; + +import {loadLocalImage} from "@serbanghita-gamedev/assets"; +import {Keyboard as KeyboardInput, InputActions} from "@serbanghita-gamedev/input"; import PlayerKeyboardSystem from "./system/PlayerKeyboardSystem"; import RenderSystem from "./system/RenderSystem"; import PreRenderSystem from "./system/PreRenderSystem"; @@ -19,7 +15,7 @@ import WalkingSystem from "./system/WalkingSystem"; import CurrentState from "./component/CurrentState"; import IsAttackingWithClub from "./component/IsAttackingWithClub"; import AttackingWithClubSystem from "./system/AttackingWithClubSystem"; -import {getDefaultAnimationName} from "@glhf/renderer/animation"; +import {getDefaultAnimationName} from "@serbanghita-gamedev/renderer"; // 0. Create the UI and canvas. const $wrapper = createWrapperElement('game-wrapper', 640, 480); @@ -30,10 +26,14 @@ $wrapper.appendChild($background); document.body.appendChild($wrapper); // 1. Load sprite sheets IMGs. + +// eslint-disable-next-line @typescript-eslint/no-var-requires const kilSheetImg = require("./assets/sprites/kil.png"); +// eslint-disable-next-line @typescript-eslint/no-var-requires const kilSheetAnimations = require("./assets/sprites/kil.animations.json") as ISpriteSheetAnimation[]; - +// eslint-disable-next-line @typescript-eslint/no-var-requires const dinoBossSheetImg = require("./assets/sprites/dino-boss.png"); +// eslint-disable-next-line @typescript-eslint/no-var-requires const dinoBossSheetAnimations = require("./assets/sprites/dino-boss.animations.json") as ISpriteSheetAnimation[]; // 2. Load JSON animations for sprite sheets. @@ -69,7 +69,7 @@ world.registerComponent(Body) world.createEntity("player") .addComponent(Body, { width: 16, height: 16 }) - .addComponent(Position, { x: 100, y: 100 }) + .addComponent(Position, { x: 0, y: 0 }) .addComponent(Direction, { x: Directions.NONE, y: Directions.NONE }) .addComponent(Keyboard, { up: "w", down: "s", left: "a", right: "d" }) .addComponent(Renderable) @@ -88,7 +88,7 @@ world.createEntity("player") world.createEntity("dino-boss") .addComponent(Body, { width: 16, height: 16 }) - .addComponent(Position, { x: 200, y: 100 }) + .addComponent(Position, { x: 100, y: 0 }) .addComponent(Direction, { x: Directions.NONE, y: Directions.NONE }) .addComponent(Renderable) .addComponent(Keyboard, { up: "i", down: "k", left: "j", right: "l" }) @@ -136,7 +136,7 @@ const loop = (now: DOMHighResTimeStamp) => { window.requestAnimationFrame(loop); -// @ts-ignore +// @ts-expect-error I'm too lazy to typehint window. window['engine'] = { world }; diff --git a/packages/demo/src/system/AttackingWithClubSystem.ts b/packages/demo/src/system/AttackingWithClubSystem.ts index abb4569..c42be1d 100644 --- a/packages/demo/src/system/AttackingWithClubSystem.ts +++ b/packages/demo/src/system/AttackingWithClubSystem.ts @@ -1,7 +1,7 @@ -import Direction, { Directions } from "../../../glhf-component/src/Direction"; -import System from "../../../glhf-ecs/src/System"; +import {Direction, Directions } from "@serbanghita-gamedev/component"; +import {Entity, System} from "@serbanghita-gamedev/ecs"; import {StateStatus} from "../state/state-status"; -import Entity from "../../../glhf-ecs/src/Entity"; + import IsAttackingWithClub from "../component/IsAttackingWithClub"; export default class AttackingWithClubSystem extends System { diff --git a/packages/demo/src/system/IdleSystem.ts b/packages/demo/src/system/IdleSystem.ts index 9d4fb38..85a25f1 100644 --- a/packages/demo/src/system/IdleSystem.ts +++ b/packages/demo/src/system/IdleSystem.ts @@ -1,6 +1,5 @@ -import Direction from "../../../glhf-component/src/Direction"; -import System from "../../../glhf-ecs/src/System"; -import Entity from "../../../glhf-ecs/src/Entity"; +import {Direction} from "@serbanghita-gamedev/component"; +import {System, Entity} from "@serbanghita-gamedev/ecs"; import IsIdle from "../component/IsIdle"; import {StateStatus} from "../state/state-status"; diff --git a/packages/demo/src/system/PlayerKeyboardSystem.ts b/packages/demo/src/system/PlayerKeyboardSystem.ts index 64891f4..85c965b 100644 --- a/packages/demo/src/system/PlayerKeyboardSystem.ts +++ b/packages/demo/src/system/PlayerKeyboardSystem.ts @@ -1,15 +1,10 @@ -import Entity from "@glhf/ecs/Entity"; -import Query from "../../../glhf-ecs/src/Query"; -import System from "../../../glhf-ecs/src/System"; -import {InputActions, default as KeyboardInput} from "../../../glhf-input/src/Keyboard"; -import Keyboard from "../../../glhf-component/src/Keyboard"; -import Position from "../../../glhf-component/src/Position"; -import Direction, {Directions} from "../../../glhf-component/src/Direction"; +import {Entity, Query, System, World} from "@serbanghita-gamedev/ecs"; +import {InputActions, Keyboard as KeyboardInput} from "@serbanghita-gamedev/input"; +import {Keyboard, Position, Direction, Directions} from "@serbanghita-gamedev/component"; import IsWalking from "../component/IsWalking"; import IsIdle from "../component/IsIdle"; -import World from "../../../glhf-ecs/src/World"; -import {StateStatus} from "../state/state-status"; import IsAttackingWithClub from "../component/IsAttackingWithClub"; +import {StateStatus} from "../state/state-status"; export default class PlayerKeyboardSystem extends System { private directionsFromInput: Set = new Set([]); diff --git a/packages/demo/src/system/PreRenderSystem.ts b/packages/demo/src/system/PreRenderSystem.ts index accb02c..9bd6572 100644 --- a/packages/demo/src/system/PreRenderSystem.ts +++ b/packages/demo/src/system/PreRenderSystem.ts @@ -1,6 +1,5 @@ -import System from "../../../glhf-ecs/src/System"; -import Entity from "../../../glhf-ecs/src/Entity"; -import SpriteSheet, {IAnimation, IAnimationFrame} from "../../../glhf-component/src/SpriteSheet"; +import {System, Entity} from "@serbanghita-gamedev/ecs"; +import {SpriteSheet, IAnimation, IAnimationFrame} from "@serbanghita-gamedev/component"; export default class PreRenderSystem extends System { diff --git a/packages/demo/src/system/RenderSystem.ts b/packages/demo/src/system/RenderSystem.ts index 8cd1389..84da1b7 100644 --- a/packages/demo/src/system/RenderSystem.ts +++ b/packages/demo/src/system/RenderSystem.ts @@ -1,9 +1,6 @@ -import Query from "../../../glhf-ecs/src/Query"; -import System from "../../../glhf-ecs/src/System"; -import {clearCtx, getCtx, renderImage} from "../../../glhf-renderer/src/canvas"; -import Position from "../../../glhf-component/src/Position"; -import SpriteSheet, { IAnimation } from "../../../glhf-component/src/SpriteSheet"; -import World from "../../../glhf-ecs/src/World"; +import {System, Query, World} from "@serbanghita-gamedev/ecs"; +import {clearCtx, getCtx, renderImage, renderRectangle} from "@serbanghita-gamedev/renderer"; +import {Position, SpriteSheet, IAnimation } from "@serbanghita-gamedev/component"; import IsWalking from "../component/IsWalking"; import IsIdle from "../component/IsIdle"; import IsAttackingWithClub from "../component/IsAttackingWithClub"; @@ -63,6 +60,21 @@ export default class RenderSystem extends System { animationFrame.width, animationFrame.height ); + + + renderRectangle( + getCtx(this.$foreground) as CanvasRenderingContext2D, + destPositionX, destPositionY, + animationFrame.width, animationFrame.height, + 'black' + ); + + renderRectangle( + getCtx(this.$foreground) as CanvasRenderingContext2D, + destPositionX + hitboxOffset.x, destPositionY + hitboxOffset.y, + 16, 16, + 'red' + ); }); } diff --git a/packages/demo/src/system/WalkingSystem.ts b/packages/demo/src/system/WalkingSystem.ts index 2fce394..8891a97 100644 --- a/packages/demo/src/system/WalkingSystem.ts +++ b/packages/demo/src/system/WalkingSystem.ts @@ -1,8 +1,7 @@ -import Direction, { Directions } from "../../../glhf-component/src/Direction"; -import System from "../../../glhf-ecs/src/System"; +import { Direction, Directions } from "@serbanghita-gamedev/component"; +import { System, Entity } from "@serbanghita-gamedev/ecs"; import IsWalking from "../component/IsWalking"; import {StateStatus} from "../state/state-status"; -import Entity from "@glhf/ecs/Entity"; export default class WalkingSystem extends System { diff --git a/packages/demo/tsconfig.json b/packages/demo/tsconfig.json index f9e5923..c1fd157 100644 --- a/packages/demo/tsconfig.json +++ b/packages/demo/tsconfig.json @@ -10,11 +10,12 @@ "baseUrl": "src", "sourceMap": true, "paths": { - "@glhf/bitmask/*": ["../../glhf-bitmask/src/*"], - "@glhf/ecs/*": ["../../glhf-ecs/src/*"], - "@glhf/component/*": ["../../glhf-component/src/*"], - "@glhf/input/*": ["../../glhf-input/src/*"], - "@glhf/renderer/*": ["../../glhf-renderer/src/*"], + "@serbanghita-gamedev/assets/*": ["../../assets/src/*"], + "@serbanghita-gamedev/bitmask/*": ["../../bitmask/src/*"], + "@serbanghita-gamedev/component/*": ["../../component/src/*"], + "@serbanghita-gamedev/ecs/*": ["../../ecs/src/*"], + "@serbanghita-gamedev/input/*": ["../../input/src/*"], + "@serbanghita-gamedev/renderer/*": ["../../renderer/src/*"], } }, "include": [ @@ -22,6 +23,6 @@ ], "exclude": [ "node_modules", - "build" + "dist" ] } diff --git a/packages/demo/vite.config.ts b/packages/demo/vite.config.ts new file mode 100644 index 0000000..2581ad4 --- /dev/null +++ b/packages/demo/vite.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from 'vitest/config' +import tsconfigPaths from 'vite-tsconfig-paths' +import * as path from "node:path"; + +export default defineConfig({ + plugins: [tsconfigPaths()], + test: { + alias: { + '@serbanghita-gamedev/assets/': path.join(__dirname, '../assets/'), + '@serbanghita-gamedev/bitmask/': path.join(__dirname, '../bitmask/'), + '@serbanghita-gamedev/component/': path.join(__dirname, '../component/'), + '@serbanghita-gamedev/ecs/': path.join(__dirname, '../ecs/'), + '@serbanghita-gamedev/input/': path.join(__dirname, '../input/'), + '@serbanghita-gamedev/renderer/': path.join(__dirname, '../renderer/') + } + } +}) \ No newline at end of file diff --git a/packages/demo/webpack.config.js b/packages/demo/webpack.config.js deleted file mode 100644 index cd1af74..0000000 --- a/packages/demo/webpack.config.js +++ /dev/null @@ -1,53 +0,0 @@ -const path = require("path"); -const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); - -module.exports = { - entry: "./src/index.ts", - output: { - filename: "demo.js", - path: path.resolve(__dirname, "build"), - publicPath: "/" - }, - - // Enable sourcemaps for debugging webpack's output. - devtool: "source-map", - - devServer: { - open: true, - static: { - directory: path.join(__dirname, 'build'), - serveIndex: true, - }, - }, - - watch: false, - - node: { - __dirname: true - }, - - resolve: { - extensions: [".ts", ".json", ".js"], - // https://github.com/dividab/tsconfig-paths-webpack-plugin - // This plugin helps Webpack reading modules from tsconfig.json "paths". - plugins: [new TsconfigPathsPlugin({})] - }, - - module: { - rules: [ - { - test: /\.ts$/, - loader: "ts-loader", - exclude: /node_modules/ - }, - - // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. - // { enforce: "pre", test: /\.js$/, loader: "source-map-loader" }, - - { - test: /\.png/, - type: 'asset/inline' - }, - ] - } -}; \ No newline at end of file diff --git a/packages/ecs/package.json b/packages/ecs/package.json index bd7761c..8b14178 100644 --- a/packages/ecs/package.json +++ b/packages/ecs/package.json @@ -5,6 +5,7 @@ "ecs", "entity component system" ], + "main": "./src/index.ts", "version": "1.0.0", "author": "Serban Ghita (https://ghita.org)", "license": "MIT", diff --git a/packages/ecs/src/Component.ts b/packages/ecs/src/Component.ts index 996c29c..e8c20f9 100644 --- a/packages/ecs/src/Component.ts +++ b/packages/ecs/src/Component.ts @@ -8,10 +8,10 @@ interface Component { // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging class Component { - constructor(public properties: NonNullable) {} + constructor(public properties: NonNullable) {} // Lazy init / Re-init. - init(properties: NonNullable) { + init(properties: NonNullable) { this.properties = properties; } } diff --git a/packages/ecs/src/Entity.ts b/packages/ecs/src/Entity.ts index a3097d1..deb7245 100644 --- a/packages/ecs/src/Entity.ts +++ b/packages/ecs/src/Entity.ts @@ -10,7 +10,7 @@ export default class Entity { constructor(public world: World, public id: string) {} - public addComponent(declaration: T, properties: Record = {}): Entity + public addComponent(declaration: T, properties: object = {}): Entity { let instance = this.components.get(declaration.name); // If the Component's instance is already in our cache, just re-use the instance and lazy init it. diff --git a/packages/ecs/src/Query.test.ts b/packages/ecs/src/Query.test.ts index 3ac8130..479d947 100644 --- a/packages/ecs/src/Query.test.ts +++ b/packages/ecs/src/Query.test.ts @@ -32,7 +32,8 @@ describe(("Query"), () => { q.init(); expect(q.execute()).toHaveLength(2); - expect(q.execute()).toEqual(expect.arrayContaining([dino, player])); + expect(q.execute().get('dino')).toEqual(dino); + expect(q.execute().get('player')).toEqual(player); }); it('any', () => { @@ -40,7 +41,9 @@ describe(("Query"), () => { q.init(); expect(q.execute()).toHaveLength(3); - expect(q.execute()).toEqual(expect.arrayContaining([dino, player, camera])); + expect(q.execute().get('dino')).toEqual(dino); + expect(q.execute().get('player')).toEqual(player); + expect(q.execute().get('camera')).toEqual(camera); }); it('none', () => { @@ -48,7 +51,8 @@ describe(("Query"), () => { q.init(); expect(q.execute()).toHaveLength(2); - expect(q.execute()).toEqual(expect.arrayContaining([dino, camera])); + expect(q.execute().get('dino')).toEqual(dino); + expect(q.execute().get('camera')).toEqual(camera); }); it('all(1) + none', () => { @@ -56,7 +60,7 @@ describe(("Query"), () => { q.init(); expect(q.execute()).toHaveLength(1); - expect(q.execute()).toEqual(expect.arrayContaining([dino])); + expect(q.execute().get('dino')).toEqual(dino); }); it('all(2) + none', () => { @@ -75,7 +79,8 @@ describe(("Query"), () => { q.candidate(camera); expect(q.execute()).toHaveLength(2); - expect(q.execute()).toEqual(expect.arrayContaining([dino, player])); + expect(q.execute().get('dino')).toEqual(dino); + expect(q.execute().get('player')).toEqual(player); }); it('remove', () => { @@ -86,7 +91,7 @@ describe(("Query"), () => { expect(q.execute()).toHaveLength(2); q.remove(player); expect(q.execute()).toHaveLength(1); - expect(q.execute()).toEqual(expect.arrayContaining([dino])); + expect(q.execute().get('dino')).toEqual(dino); }); }); diff --git a/packages/ecs/src/Query.ts b/packages/ecs/src/Query.ts index 4d773a6..fb6eba4 100644 --- a/packages/ecs/src/Query.ts +++ b/packages/ecs/src/Query.ts @@ -21,7 +21,7 @@ export default class Query { public any = 0n; public none = 0n; private hasExecuted = false; - public dataSet: Entity[] = []; + public dataSet: Map = new Map(); /** @@ -65,9 +65,9 @@ export default class Query { /** * Set only the entities that correspond to the filters given. */ - public execute(): Entity[] { + public execute(): Map { if (!this.hasExecuted) { - this.dataSet = this.dataSet.filter((entity) => this.match(entity)); + this.dataSet = new Map([...this.dataSet].filter(([id, entity]) => this.match(entity))); this.hasExecuted = true; } @@ -95,7 +95,7 @@ export default class Query { public candidate(entity: Entity) { if (this.match(entity)) { - this.dataSet.push(entity); + this.dataSet.set(entity.id, entity); return true; } @@ -104,13 +104,10 @@ export default class Query { public add(entity: Entity) { - this.dataSet.push(entity); + this.dataSet.set(entity.id, entity); } public remove(entity: Entity) { - const index = this.dataSet.indexOf(entity); - if (index !== -1) { - this.dataSet.splice(index, 1); - } + this.dataSet.delete(entity.id); } } \ No newline at end of file diff --git a/packages/ecs/src/System.ts b/packages/ecs/src/System.ts index 350592b..a3e36ec 100644 --- a/packages/ecs/src/System.ts +++ b/packages/ecs/src/System.ts @@ -5,7 +5,7 @@ import Query from "./Query"; export default class System { // eslint-disable-next-line @typescript-eslint/no-unused-vars - public constructor(public world: World, public query: Query, ...args: never[]) { + public constructor(public world: World, public query: Query, ...args: unknown[]) { } // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/packages/ecs/src/World.test.ts b/packages/ecs/src/World.test.ts index 7abd7cd..18f78fe 100644 --- a/packages/ecs/src/World.test.ts +++ b/packages/ecs/src/World.test.ts @@ -47,8 +47,8 @@ describe("World", () => { b.addComponent(Position, {x: 10, y: 20}); b.addComponent(Renderable); - expect(world.getQuery("query1").dataSet.length).toEqual(1); - expect(world.getQuery("query2").dataSet.length).toEqual(2); + expect(world.getQuery("query1").dataSet).toHaveLength(1); + expect(world.getQuery("query2").dataSet).toHaveLength(2); }); }); \ No newline at end of file diff --git a/packages/ecs/src/World.ts b/packages/ecs/src/World.ts index 3130446..3cc53e6 100644 --- a/packages/ecs/src/World.ts +++ b/packages/ecs/src/World.ts @@ -77,7 +77,7 @@ export default class World { return this; } - public createSystem(systemId: string, queryId: string, ...args: never[]): World + public createSystem(systemId: string, queryId: string, ...args: unknown[]): World { const declaration = this.systemRegistry.get(systemId); if (!declaration) { diff --git a/packages/ecs/tsconfig.json b/packages/ecs/tsconfig.json index 7259d91..1659783 100644 --- a/packages/ecs/tsconfig.json +++ b/packages/ecs/tsconfig.json @@ -11,7 +11,8 @@ "types": ["vitest/globals"], "paths": { "@serbanghita-gamedev/bitmask": ["../../bitmask"], - "@serbanghita-gamedev/component": ["../../component"] + "@serbanghita-gamedev/component": ["../../component"], + "@serbanghita-gamedev/renderer": ["../../renderer"] } }, "include": [ diff --git a/packages/ecs/vite.config.ts b/packages/ecs/vite.config.ts index 579adc6..eb622d7 100644 --- a/packages/ecs/vite.config.ts +++ b/packages/ecs/vite.config.ts @@ -5,6 +5,7 @@ import * as path from "node:path"; export default defineConfig({ plugins: [tsconfigPaths()], test: { + globals: true, alias: { '@serbanghita-gamedev/bitmask/': path.join(__dirname, '../bitmask/'), '@serbanghita-gamedev/component/': path.join(__dirname, '../component/') diff --git a/packages/input/.gitignore b/packages/input/.gitignore new file mode 100644 index 0000000..34977ee --- /dev/null +++ b/packages/input/.gitignore @@ -0,0 +1,2 @@ +node_modules +.idea \ No newline at end of file diff --git a/packages/input/jest.config.js b/packages/input/jest.config.js deleted file mode 100644 index 66eeb03..0000000 --- a/packages/input/jest.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - roots: ["/src"], - preset: "ts-jest", - testEnvironment: "node", - collectCoverage: true, - collectCoverageFrom: [ - "/src/**/*.ts", - "!/src/**/*.d.ts", - "!/src/**/*.test.ts", - "!**/__mocks__/**", - "!**/node_modules/**", - ], - coverageDirectory: ".tmp/coverage", - coverageReporters: ["html", "json", "lcov", "text", "clover"], - moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json"], - modulePaths: ['/src/'], - transform: { - "\\.ts$": "ts-jest", - }, - testMatch: ["/src/**/*.test.ts"], - verbose: true -}; \ No newline at end of file diff --git a/packages/input/package-lock.json b/packages/input/package-lock.json deleted file mode 100644 index 6abca56..0000000 --- a/packages/input/package-lock.json +++ /dev/null @@ -1,5552 +0,0 @@ -{ - "name": "glhf-input", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "glhf-input", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" - }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", - "dev": true, - "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.13", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz", - "integrity": "sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", - "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "28.1.8", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.8.tgz", - "integrity": "sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw==", - "dev": true, - "dependencies": { - "expect": "^28.0.0", - "pretty-format": "^28.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" - }, - "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dependencies": { - "envinfo": "^7.7.3" - }, - "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "peerDependencies": { - "webpack-cli": "4.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", - "dev": true, - "dependencies": { - "@jest/transform": "^28.1.3", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^28.1.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001576", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", - "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.630", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", - "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==" - }, - "node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", - "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", - "import-local": "^3.0.2", - "jest-cli": "^28.1.3" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", - "dev": true, - "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", - "dev": true, - "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", - "dev": true, - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", - "dev": true, - "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", - "dev": true, - "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dev": true, - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.2.tgz", - "integrity": "sha512-oYwAqCuL0OZhBoSgmdrLa7mv9MjommVMiQIWgcztf+eS4+8BfcUee6nenFnDhKOhzAVnk5gpZdfnz1iiBv+5sg==", - "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", - "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-jest": { - "version": "28.0.8", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.8.tgz", - "integrity": "sha512-5FaG0lXmRPzApix8oFG8RKjAz4ehtm8yMKOTy5HX3fY6W8kmvOrmcY0hKDElW52FJov+clhUbrKAqofnj4mXTg==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^28.0.0", - "json5": "^2.2.1", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/types": "^28.0.0", - "babel-jest": "^28.0.0", - "jest": "^28.0.0", - "typescript": ">=4.3" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-loader": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", - "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/packages/input/package.json b/packages/input/package.json index 8957c22..09b790c 100644 --- a/packages/input/package.json +++ b/packages/input/package.json @@ -1,27 +1,19 @@ { - "name": "glhf-input", + "name": "@serbanghita-gamedev/input", "version": "1.0.0", "description": "Library for managing Input (Keyboard, Mouse, Controllers)", + "main": "./src/index.ts", "scripts": { "build": "echo \"Error: no build specified for glhf-input yet.\"", "test": "echo \"Error: no test specified for glhf-input yet.\"" }, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" - }, - "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" - }, "author": "Serban Ghita (https://ghita.org)", - "license": "MIT" + "license": "MIT", + "devDependencies": { + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" + } } diff --git a/packages/input/src/Keyboard.ts b/packages/input/src/Keyboard.ts index 1c5fbfd..36c67d0 100644 --- a/packages/input/src/Keyboard.ts +++ b/packages/input/src/Keyboard.ts @@ -1,8 +1,8 @@ -interface IKeyboardEvent { - eventName: string; - listener: (e: WindowEventMap) => any; - useCapture: boolean; -} +// interface IKeyboardEvent { +// eventName: string; +// listener: (e: WindowEventMap) => any; +// useCapture: boolean; +// } export enum InputActions { MOVE_UP = 1, @@ -52,7 +52,7 @@ export default class Keyboard { const action = this.boundKeys.get(e.key) as InputActions; this.ongoingActions.add(action); } - }; + } public keyUpCallback(e: { key: string; preventDefault: () => void; stopPropagation: () => void; }) { console.log("keyUpCallback", e.key); @@ -62,7 +62,7 @@ export default class Keyboard { const action = this.boundKeys.get(e.key) as InputActions; this.ongoingActions.delete(action); } - }; + } public listen() { window.addEventListener("keydown", this.keyDownCallback.bind(this), { capture: false }); diff --git a/packages/input/src/index.ts b/packages/input/src/index.ts index b9c9b36..1e64f0b 100644 --- a/packages/input/src/index.ts +++ b/packages/input/src/index.ts @@ -1 +1 @@ -import Keyboard from "./Keyboard"; +export {InputActions, default as Keyboard} from "./Keyboard"; diff --git a/packages/input/tsconfig.json b/packages/input/tsconfig.json index a5c142b..e6aefa4 100644 --- a/packages/input/tsconfig.json +++ b/packages/input/tsconfig.json @@ -12,16 +12,12 @@ "es2015", "dom" ] - // "paths": { -// "@glhf/bitmask/*": ["../../glhf-bitmask/src/*"], -// "@glhf/ecs/*": ["../../glhf-ecs/src/*"], -// } }, "include": [ "src/index.ts" ], "exclude": [ "node_modules", - "build" + "dist" ] } diff --git a/packages/renderer/dist/main.js b/packages/renderer/dist/main.js deleted file mode 100644 index 41de9bf..0000000 --- a/packages/renderer/dist/main.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). - * This devtool is neither made for production nor for readable output files. - * It uses "eval()" calls to create a separate source file in the browser devtools. - * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) - * or disable the default devtool with "devtool: false". - * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). - */ -/******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ -/******/ -/******/ })() -; \ No newline at end of file diff --git a/packages/renderer/package.json b/packages/renderer/package.json index f20bc72..2b5c836 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,5 +1,5 @@ { - "name": "glhf-renderer", + "name": "@serbanghita-gamedev/renderer", "version": "1.0.0", "scripts": { "build": "webpack --mode development", @@ -8,20 +8,12 @@ }, "author": "Serban Ghita", "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.33.1", - "@typescript-eslint/parser": "^5.33.1", - "eslint": "^8.22.0", - "source-map-loader": "^4.0.0", - "ts-loader": "^9.3.1", - "typescript": "^5.3.3", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" - }, + "main": "./src/index.ts", "devDependencies": { - "@types/jest": "^28.1.7", - "jest": "^28.1.3", - "ts-jest": "^28.0.8", - "ts-node": "^10.9.1" + "@eslint/js": "^9.4.0", + "@types/eslint__js": "^8.42.3", + "eslint": "^9.4.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.11.0" } } diff --git a/packages/renderer/src/animation.ts b/packages/renderer/src/animation.ts index 7dd7eb0..ba20f44 100644 --- a/packages/renderer/src/animation.ts +++ b/packages/renderer/src/animation.ts @@ -1,4 +1,4 @@ -import {ISpriteSheetAnimation} from "../../glhf-component/src/SpriteSheet"; +import {ISpriteSheetAnimation} from "../../component/src"; export function getDefaultAnimationName(animations: ISpriteSheetAnimation[]): string { diff --git a/packages/renderer/src/canvas.ts b/packages/renderer/src/canvas.ts index 7abaeb2..7a35fdf 100644 --- a/packages/renderer/src/canvas.ts +++ b/packages/renderer/src/canvas.ts @@ -84,6 +84,26 @@ export function renderTile( ); } +export function renderRectangle( + ctx: CanvasRenderingContext2D, + x: number, y: number, + width: number, height: number, + strokeColor: string = 'black', fillColor?: string +): void { + ctx.save(); + ctx.beginPath(); + ctx.lineWidth = 1; + ctx.strokeStyle = strokeColor; + ctx.rect(x, y, width, height); + if (fillColor) { + ctx.fillStyle = fillColor; + ctx.fillRect(x, y, width, height); + } + ctx.stroke(); + ctx.closePath(); + ctx.restore(); +} + export function getCtx(canvas: HTMLCanvasElement) { return canvas.getContext("2d"); } diff --git a/packages/renderer/src/index.ts b/packages/renderer/src/index.ts new file mode 100644 index 0000000..d37f48b --- /dev/null +++ b/packages/renderer/src/index.ts @@ -0,0 +1,3 @@ +export * from "./animation"; +export * from "./canvas"; +export * from "./ui"; \ No newline at end of file diff --git a/packages/renderer/tsconfig.json b/packages/renderer/tsconfig.json index 1ad5e79..8cef240 100644 --- a/packages/renderer/tsconfig.json +++ b/packages/renderer/tsconfig.json @@ -9,7 +9,8 @@ "rootDirs": ["src"], "baseUrl": "src", "paths": { - "@glhf/bitmask/*": ["../../glhf-bitmask/src/*"], + "@serbanghita-gamedev/bitmask": ["../../bitmask"], + "@serbanghita-gamedev/renderer": ["../../renderer"] } }, "include": [ @@ -17,6 +18,6 @@ ], "exclude": [ "node_modules", - "build" + "dist" ] }