From f8190c4d4f6862b57a026ddcaebbb283e072c423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 28 Sep 2022 13:46:34 -0300 Subject: [PATCH 01/19] exercicio 28/9 --- modulo5/testes-jest/tests/first.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modulo5/testes-jest/tests/first.test.ts b/modulo5/testes-jest/tests/first.test.ts index 629122e..5175f90 100644 --- a/modulo5/testes-jest/tests/first.test.ts +++ b/modulo5/testes-jest/tests/first.test.ts @@ -44,7 +44,7 @@ describe("Olá, teste", () => { test("exercicio 7", () => { const array = [10,4,7,6] - expect(mediaNumber(array)).toBeGreaterThan(-) + expect(mediaNumber(array)).toBeGreaterThan() }); From c12ec56186c9392871b78de3f590026ef015ac7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 28 Sep 2022 13:47:35 -0300 Subject: [PATCH 02/19] atividade 28-9 --- modulo5/testes-erros/jest.config.js | 8 + modulo5/testes-erros/package-lock.json | 8756 +++++++++++++++++ modulo5/testes-erros/package.json | 40 + modulo5/testes-erros/requests.rest | 46 + .../testes-erros/src/business/PingBusiness.ts | 9 + .../testes-erros/src/business/PostBusiness.ts | 187 + .../testes-erros/src/business/UserBusiness.ts | 136 + .../src/controller/PingController.ts | 24 + .../src/controller/PostController.ts | 99 + .../src/controller/UserController.ts | 47 + .../testes-erros/src/database/BaseDatabase.ts | 18 + .../testes-erros/src/database/PostDatabase.ts | 83 + .../testes-erros/src/database/UserDatabase.ts | 35 + .../src/database/migrations/Migrations.ts | 77 + .../src/database/migrations/data.ts | 77 + .../src/errors/AuthenticationError.ts | 9 + .../src/errors/AuthorizationError.ts | 9 + modulo5/testes-erros/src/errors/BaseError.ts | 8 + .../testes-erros/src/errors/ConflictError.ts | 9 + .../testes-erros/src/errors/NotFoundError.ts | 9 + .../testes-erros/src/errors/ParamsError.ts | 9 + .../src/errors/UnprocessableError.ts | 19 + modulo5/testes-erros/src/index.ts | 20 + modulo5/testes-erros/src/models/Post.ts | 97 + modulo5/testes-erros/src/models/User.ts | 83 + modulo5/testes-erros/src/router/pingRouter.ts | 11 + modulo5/testes-erros/src/router/postRouter.ts | 24 + modulo5/testes-erros/src/router/userRouter.ts | 21 + .../src/services/Authenticator.ts | 37 + .../testes-erros/src/services/HashManager.ts | 15 + .../testes-erros/src/services/IdGenerator.ts | 7 + .../testes-erros/tests/PostBusiness.test.ts | 39 + .../testes-erros/tests/UserBusiness.test.ts | 94 + .../tests/mocks/AuthenticatorMock.ts | 37 + .../tests/mocks/HashManagerMock.ts | 17 + .../tests/mocks/IdGeneratorMock.ts | 5 + .../tests/mocks/PostDatabaseMock.ts | 129 + .../tests/mocks/UserDatabaseMock.ts | 49 + modulo5/testes-erros/tsconfig.json | 14 + 39 files changed, 10413 insertions(+) create mode 100644 modulo5/testes-erros/jest.config.js create mode 100644 modulo5/testes-erros/package-lock.json create mode 100644 modulo5/testes-erros/package.json create mode 100644 modulo5/testes-erros/requests.rest create mode 100644 modulo5/testes-erros/src/business/PingBusiness.ts create mode 100644 modulo5/testes-erros/src/business/PostBusiness.ts create mode 100644 modulo5/testes-erros/src/business/UserBusiness.ts create mode 100644 modulo5/testes-erros/src/controller/PingController.ts create mode 100644 modulo5/testes-erros/src/controller/PostController.ts create mode 100644 modulo5/testes-erros/src/controller/UserController.ts create mode 100644 modulo5/testes-erros/src/database/BaseDatabase.ts create mode 100644 modulo5/testes-erros/src/database/PostDatabase.ts create mode 100644 modulo5/testes-erros/src/database/UserDatabase.ts create mode 100644 modulo5/testes-erros/src/database/migrations/Migrations.ts create mode 100644 modulo5/testes-erros/src/database/migrations/data.ts create mode 100644 modulo5/testes-erros/src/errors/AuthenticationError.ts create mode 100644 modulo5/testes-erros/src/errors/AuthorizationError.ts create mode 100644 modulo5/testes-erros/src/errors/BaseError.ts create mode 100644 modulo5/testes-erros/src/errors/ConflictError.ts create mode 100644 modulo5/testes-erros/src/errors/NotFoundError.ts create mode 100644 modulo5/testes-erros/src/errors/ParamsError.ts create mode 100644 modulo5/testes-erros/src/errors/UnprocessableError.ts create mode 100644 modulo5/testes-erros/src/index.ts create mode 100644 modulo5/testes-erros/src/models/Post.ts create mode 100644 modulo5/testes-erros/src/models/User.ts create mode 100644 modulo5/testes-erros/src/router/pingRouter.ts create mode 100644 modulo5/testes-erros/src/router/postRouter.ts create mode 100644 modulo5/testes-erros/src/router/userRouter.ts create mode 100644 modulo5/testes-erros/src/services/Authenticator.ts create mode 100644 modulo5/testes-erros/src/services/HashManager.ts create mode 100644 modulo5/testes-erros/src/services/IdGenerator.ts create mode 100644 modulo5/testes-erros/tests/PostBusiness.test.ts create mode 100644 modulo5/testes-erros/tests/UserBusiness.test.ts create mode 100644 modulo5/testes-erros/tests/mocks/AuthenticatorMock.ts create mode 100644 modulo5/testes-erros/tests/mocks/HashManagerMock.ts create mode 100644 modulo5/testes-erros/tests/mocks/IdGeneratorMock.ts create mode 100644 modulo5/testes-erros/tests/mocks/PostDatabaseMock.ts create mode 100644 modulo5/testes-erros/tests/mocks/UserDatabaseMock.ts create mode 100644 modulo5/testes-erros/tsconfig.json diff --git a/modulo5/testes-erros/jest.config.js b/modulo5/testes-erros/jest.config.js new file mode 100644 index 0000000..cee01ad --- /dev/null +++ b/modulo5/testes-erros/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +} \ No newline at end of file diff --git a/modulo5/testes-erros/package-lock.json b/modulo5/testes-erros/package-lock.json new file mode 100644 index 0000000..9c741ce --- /dev/null +++ b/modulo5/testes-erros/package-lock.json @@ -0,0 +1,8756 @@ +{ + "name": "template-jest", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "template-jest", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.1", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.2.0", + "mysql": "^2.18.1", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.13", + "@types/jest": "^28.1.6", + "@types/jsonwebtoken": "^8.5.8", + "@types/knex": "^0.16.1", + "@types/node": "^18.0.6", + "@types/uuid": "^8.3.4", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node-dev": "^2.0.0", + "typescript": "^4.7.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/core/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/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "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/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "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.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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/@babel/traverse/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/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "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/@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/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.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.43", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", + "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "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.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "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/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "deprecated": "This is a stub types definition. knex provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "knex": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "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": "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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==", + "dev": true + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "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.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "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-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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/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.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "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/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/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "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==", + "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.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "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/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==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "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==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.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==", + "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==", + "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", + "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/dotenv": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.266", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.266.tgz", + "integrity": "sha512-saJTYECxUSv7eSpnXw0XIEvUkP9x4s/x2mm3TVX7k4rIFS6f5TjBih1B5h437WzIhHQjid+d8ouQzPQskMervQ==", + "dev": true + }, + "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/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "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/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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/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/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/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==", + "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/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/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "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/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "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": "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/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/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "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": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "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-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.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "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==", + "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-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/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "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/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "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-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-lib-source-maps/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/istanbul-lib-source-maps/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/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "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-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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": "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/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-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/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/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==" + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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/knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "dependencies": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/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/knex/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/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/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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "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/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==", + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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==", + "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==", + "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==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "dependencies": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mysql/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/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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "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-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "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/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": "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/p-locate/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/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/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/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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==" + }, + "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==" + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "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/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/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==" + }, + "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/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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "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/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/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/readable-stream/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/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.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.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-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.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/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/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "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==", + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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/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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/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/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==", + "dev": true, + "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==", + "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-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/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "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/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/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "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-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "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/ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "bin": { + "ts-node-dev": "lib/bin.js", + "tsnd": "lib/bin.js" + }, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "node-notifier": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/ts-node-dev/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tsconfig/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/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.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.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/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.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==" + }, + "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==", + "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==", + "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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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/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==", + "dev": true + }, + "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/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "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.0.0" + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@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, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@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, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@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, + "requires": { + "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" + } + }, + "@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 + }, + "@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, + "requires": { + "@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" + } + }, + "@jest/core": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "dev": true, + "requires": { + "@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" + } + }, + "@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" + } + }, + "@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, + "requires": { + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" + } + }, + "@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, + "requires": { + "jest-get-type": "^28.0.2" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "dev": true, + "requires": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@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, + "requires": { + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@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, + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@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, + "requires": { + "@jest/test-result": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "slash": "^3.0.0" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@sinclair/typebox": { + "version": "0.24.43", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.43.tgz", + "integrity": "sha512-1orQTvtazZmsPeBroJjysvsOQCYV2yjWlebkSY38pl5vr2tdLjEJ+LoxITlGNZaH2RE19WlAwQMkH/7C14wLfw==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@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, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@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 + }, + "@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 + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@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, + "requires": { + "expect": "^28.0.0", + "pretty-format": "^28.0.0" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "dev": true, + "requires": { + "knex": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/node": { + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "babel-plugin-jest-hoist": "^28.1.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "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 + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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 + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001412", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", + "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "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 + } + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "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==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "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 + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "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 + }, + "dotenv": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz", + "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==" + }, + "dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "electron-to-chromium": { + "version": "1.4.266", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.266.tgz", + "integrity": "sha512-saJTYECxUSv7eSpnXw0XIEvUkP9x4s/x2mm3TVX7k4rIFS6f5TjBih1B5h437WzIhHQjid+d8ouQzPQskMervQ==", + "dev": true + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true + }, + "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 + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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==" + }, + "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 + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "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 + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "dev": true, + "requires": { + "@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" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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" + } + }, + "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 + }, + "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, + "requires": { + "bser": "2.1.1" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "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" + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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 + }, + "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 + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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==" + }, + "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 + }, + "getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-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, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "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 + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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 + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "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==" + }, + "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 + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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 + }, + "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 + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "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 + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@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" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "dev": true, + "requires": { + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", + "import-local": "^3.0.2", + "jest-cli": "^28.1.3" + } + }, + "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, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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 + }, + "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, + "requires": { + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "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" + } + }, + "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, + "requires": { + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "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 + }, + "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, + "requires": { + "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" + } + }, + "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, + "requires": { + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "requires": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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 + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "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==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "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 + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "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 + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "requires": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "dependencies": { + "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==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "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-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "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==", + "requires": { + "ee-first": "1.1.1" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "@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" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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 + }, + "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 + }, + "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 + }, + "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==" + }, + "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==" + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "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, + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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 + } + } + }, + "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==" + }, + "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, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "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==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "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 + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + }, + "dependencies": { + "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==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "requires": { + "resolve": "^1.20.0" + } + }, + "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 + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "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" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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 + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==" + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "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==" + } + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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==" + }, + "tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==" + }, + "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, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "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, + "requires": { + "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" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@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" + } + }, + "ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "requires": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + }, + "dependencies": { + "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 + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, + "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 + }, + "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 + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "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==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "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 + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "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 + }, + "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, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "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.0.0" + } + }, + "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 + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "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 + } + } +} diff --git a/modulo5/testes-erros/package.json b/modulo5/testes-erros/package.json new file mode 100644 index 0000000..cbf4ad7 --- /dev/null +++ b/modulo5/testes-erros/package.json @@ -0,0 +1,40 @@ +{ + "name": "template-jest", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node ./build/src/index.js", + "build": "tsc", + "dev": "ts-node-dev ./src/index.ts", + "migrations": "tsc && node ./build/src/database/migrations/Migrations.js", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.13", + "@types/jest": "^28.1.6", + "@types/jsonwebtoken": "^8.5.8", + "@types/knex": "^0.16.1", + "@types/node": "^18.0.6", + "@types/uuid": "^8.3.4", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node-dev": "^2.0.0", + "typescript": "^4.7.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.1", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.2.0", + "mysql": "^2.18.1", + "uuid": "^8.3.2" + } +} diff --git a/modulo5/testes-erros/requests.rest b/modulo5/testes-erros/requests.rest new file mode 100644 index 0000000..c37a985 --- /dev/null +++ b/modulo5/testes-erros/requests.rest @@ -0,0 +1,46 @@ +### Endpoint de teste +GET http://localhost:3003/ping + +### 1) Signup +POST http://localhost:3003/users/signup +Content-Type: application/json + +{ + "name": "alice", + "email": "alice@gmail.com", + "password": "alice99" +} + +### 2) Login +POST http://localhost:3003/users/login +Content-Type: application/json + +{ + "email": "astrodev@gmail.com", + "password": "bananinha" +} + +### 3) Create post +POST http://localhost:3003/posts +Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTY2NDI4MzY3MCwiZXhwIjoxNjY0MzcwMDcwfQ.1N7AOM3aE1pMnygnLSaGhuutArCndMWt4TektFlUuKU +Content-Type: application/json + +{ + "content": "Hello world!" +} + +### 4) Get posts +GET http://localhost:3003/posts +Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTY2NDI4MzY3MCwiZXhwIjoxNjY0MzcwMDcwfQ.1N7AOM3aE1pMnygnLSaGhuutArCndMWt4TektFlUuKU + +### 5) Delete post +DELETE http://localhost:3003/posts/048e2da8-f739-4780-a28b-e4c6732d2c83 +Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTY2NDI4MzY3MCwiZXhwIjoxNjY0MzcwMDcwfQ.1N7AOM3aE1pMnygnLSaGhuutArCndMWt4TektFlUuKU + +### 6) Like post +POST http://localhost:3003/posts/like/ed4b5302-c6f0-45b6-8055-6c519bbf62f0 +Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTY2NDI4MzY3MCwiZXhwIjoxNjY0MzcwMDcwfQ.1N7AOM3aE1pMnygnLSaGhuutArCndMWt4TektFlUuKU + +### 7) Remove Like from post +DELETE http://localhost:3003/posts/like/ed4b5302-c6f0-45b6-8055-6c519bbf62f0 +Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTY2NDI4MzY3MCwiZXhwIjoxNjY0MzcwMDcwfQ.1N7AOM3aE1pMnygnLSaGhuutArCndMWt4TektFlUuKU diff --git a/modulo5/testes-erros/src/business/PingBusiness.ts b/modulo5/testes-erros/src/business/PingBusiness.ts new file mode 100644 index 0000000..9c624ae --- /dev/null +++ b/modulo5/testes-erros/src/business/PingBusiness.ts @@ -0,0 +1,9 @@ +export class PingBusiness { + public ping = async () => { + const response = { + message: "Pong!" + } + + return response + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/business/PostBusiness.ts b/modulo5/testes-erros/src/business/PostBusiness.ts new file mode 100644 index 0000000..e654694 --- /dev/null +++ b/modulo5/testes-erros/src/business/PostBusiness.ts @@ -0,0 +1,187 @@ +import { PostDatabase } from "../database/PostDatabase" +import { AuthenticationError } from "../errors/AuthenticationError" +import { AuthorizationError } from "../errors/AuthorizationError" +import { ConflictError } from "../errors/ConflictError" +import { NotFoundError } from "../errors/NotFoundError" +import { ParamsError } from "../errors/ParamsError" +import { IAddLikeInputDTO, IAddLikeOutputDTO, ICreatePostInputDTO, ICreatePostOutputDTO, IDeletePostInputDTO, IDeletePostOutputDTO, IGetPostsInputDTO, IGetPostsOutputDTO, ILikeDB, IRemoveLikeInputDTO, IRemoveLikeOutputDTO, Post } from "../models/Post" +import { USER_ROLES } from "../models/User" +import { Authenticator } from "../services/Authenticator" +import { IdGenerator } from "../services/IdGenerator" + +export class PostBusiness { + constructor( + private postDatabase: PostDatabase, + private idGenerator: IdGenerator, + private authenticator: Authenticator + ) {} + + public createPost = async (input: ICreatePostInputDTO) => { + const { token, content } = input + + const payload = this.authenticator.getTokenPayload(token) + + if (!payload) { + throw new AuthenticationError() + } + + if (typeof content !== "string") { + throw new ParamsError("Parâmetro 'content' inválido") + } + + if (content.length < 1) { + throw new ParamsError("Parâmetro 'content' inválido: mínimo de 1 caracteres") + } + + const id = this.idGenerator.generate() + + const post = new Post( + id, + content, + payload.id + ) + + await this.postDatabase.createPost(post) + + const response: ICreatePostOutputDTO = { + message: "Post criado com sucesso", + post + } + + return response + } + + public getPosts = async (input: IGetPostsInputDTO) => { + const { token } = input + + const payload = this.authenticator.getTokenPayload(token) + + if (!payload) { + throw new AuthenticationError() + } + + const postsDB = await this.postDatabase.getPosts() + + const posts = postsDB.map(postDB => { + return new Post( + postDB.id, + postDB.content, + postDB.user_id + ) + }) + + for (let post of posts) { + const postId = post.getId() + const likes = await this.postDatabase.getLikes(postId) + post.setLikes(likes) + } + + const response: IGetPostsOutputDTO = { + posts + } + + return response + } + + public deletePost = async (input: IDeletePostInputDTO) => { + const { token, postId } = input + + const payload = this.authenticator.getTokenPayload(token) + + if (!payload) { + throw new AuthenticationError() + } + + const postDB = await this.postDatabase.findPostById(postId) + + if (!postDB) { + throw new NotFoundError("Post não encontrado") + } + + if (payload.role === USER_ROLES.NORMAL) { + if (postDB.user_id !== payload.id) { + throw new AuthorizationError() + } + } + + await this.postDatabase.deletePost(postId) + + const response: IDeletePostOutputDTO = { + message: "Post deletado com sucesso" + } + + return response + } + + public addLike = async (input: IAddLikeInputDTO) => { + const { token, postId } = input + + const payload = this.authenticator.getTokenPayload(token) + + if (!payload) { + throw new AuthenticationError() + } + + const postDB = await this.postDatabase.findPostById(postId) + + if (!postDB) { + throw new NotFoundError("Post não encontrado") + } + + const isAlreadyLiked = await this.postDatabase.findLike( + postId, + payload.id + ) + + if (isAlreadyLiked) { + throw new ConflictError("Já deu like") + } + + const likeDB: ILikeDB = { + id: this.idGenerator.generate(), + post_id: postId, + user_id: payload.id + } + + await this.postDatabase.addLike(likeDB) + + const response: IAddLikeOutputDTO = { + message: "Like realizado com sucesso" + } + + return response + } + + public removeLike = async (input: IRemoveLikeInputDTO) => { + const { token, postId } = input + + const payload = this.authenticator.getTokenPayload(token) + + if (!payload) { + throw new AuthenticationError() + } + + const postDB = await this.postDatabase.findPostById(postId) + + if (!postDB) { + throw new NotFoundError("Post não encontrado") + } + + const isAlreadyLiked = await this.postDatabase.findLike( + postId, + payload.id + ) + + if (!isAlreadyLiked) { + throw new NotFoundError("Ainda não deu like") + } + + await this.postDatabase.removeLike(postId, payload.id) + + const response: IRemoveLikeOutputDTO = { + message: "Like removido com sucesso" + } + + return response + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/business/UserBusiness.ts b/modulo5/testes-erros/src/business/UserBusiness.ts new file mode 100644 index 0000000..d43279e --- /dev/null +++ b/modulo5/testes-erros/src/business/UserBusiness.ts @@ -0,0 +1,136 @@ +import { UserDatabase } from "../database/UserDatabase" +import { AuthenticationError } from "../errors/AuthenticationError" +import { ConflictError } from "../errors/ConflictError" +import { NotFoundError } from "../errors/NotFoundError" +import { ParamsError } from "../errors/ParamsError" +import { ILoginInputDTO, ILoginOutputDTO, ISignupInputDTO, ISignupOutputDTO, User, USER_ROLES } from "../models/User" +import { Authenticator, ITokenPayload } from "../services/Authenticator" +import { HashManager } from "../services/HashManager" +import { IdGenerator } from "../services/IdGenerator" + +export class UserBusiness { + constructor( + private userDatabase: UserDatabase, + private idGenerator: IdGenerator, + private hashManager: HashManager, + private authenticator: Authenticator + ) {} + + public signup = async (input: ISignupInputDTO) => { + const { name, email, password } = input + + if (typeof name !== "string") { + throw new ParamsError("Parâmetro 'name' inválido") + } + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido") + } + + if (name.length < 3) { + throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) + + if (isEmailAlreadyExists) { + throw new ConflictError("Email já cadastrado") + } + + const id = this.idGenerator.generate() + const hashedPassword = await this.hashManager.hash(password) + + const user = new User( + id, + name, + email, + hashedPassword, + USER_ROLES.NORMAL + ) + + await this.userDatabase.createUser(user) + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ISignupOutputDTO = { + message: "Cadastro realizado com sucesso", + token + } + + return response + } + + public login = async (input: ILoginInputDTO) => { + const { email, password } = input + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const userDB = await this.userDatabase.findByEmail(email) + + if (!userDB) { + throw new NotFoundError("Email não cadastrado") + } + + const user = new User( + userDB.id, + userDB.name, + userDB.email, + userDB.password, + userDB.role + ) + + const isPasswordCorrect = await this.hashManager.compare( + password, + user.getPassword() + ) + + if (!isPasswordCorrect) { + throw new AuthenticationError("Password incorreto") + } + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ILoginOutputDTO = { + message: "Login realizado com sucesso", + token + } + + return response + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/controller/PingController.ts b/modulo5/testes-erros/src/controller/PingController.ts new file mode 100644 index 0000000..ce762bd --- /dev/null +++ b/modulo5/testes-erros/src/controller/PingController.ts @@ -0,0 +1,24 @@ +import { Request, Response } from "express" +import { PingBusiness } from "../business/PingBusiness" +import { BaseError } from "../errors/BaseError" + +export class PingController { + constructor( + private pingBusiness: PingBusiness + ) {} + + public ping = async (req: Request, res: Response) => { + let errorCode = 400 + try { + const response = await this.pingBusiness.ping() + + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/controller/PostController.ts b/modulo5/testes-erros/src/controller/PostController.ts new file mode 100644 index 0000000..18e5c6f --- /dev/null +++ b/modulo5/testes-erros/src/controller/PostController.ts @@ -0,0 +1,99 @@ +import { Request, Response } from "express"; +import { PostBusiness } from "../business/PostBusiness"; +import { BaseError } from "../errors/BaseError"; +import { IAddLikeInputDTO, ICreatePostInputDTO, IDeletePostInputDTO, IGetPostsInputDTO, IRemoveLikeInputDTO } from "../models/Post"; + +export class PostController { + constructor( + private postBusiness: PostBusiness + ) {} + + public createPost = async (req: Request, res: Response) => { + try { + const input: ICreatePostInputDTO = { + token: req.headers.authorization as string, + content: req.body.content + } + + const response = await this.postBusiness.createPost(input) + res.status(201).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } + + public getPosts = async (req: Request, res: Response) => { + try { + const input: IGetPostsInputDTO = { + token: req.headers.authorization as string + } + + const response = await this.postBusiness.getPosts(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } + + public deletePost = async (req: Request, res: Response) => { + try { + const input: IDeletePostInputDTO = { + token: req.headers.authorization as string, + postId: req.params.id + } + + const response = await this.postBusiness.deletePost(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } + + public addLike = async (req: Request, res: Response) => { + try { + const input: IAddLikeInputDTO = { + token: req.headers.authorization as string, + postId: req.params.id + } + + const response = await this.postBusiness.addLike(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } + + public removeLike = async (req: Request, res: Response) => { + try { + const input: IRemoveLikeInputDTO = { + token: req.headers.authorization as string, + postId: req.params.id + } + + const response = await this.postBusiness.removeLike(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/controller/UserController.ts b/modulo5/testes-erros/src/controller/UserController.ts new file mode 100644 index 0000000..882a31e --- /dev/null +++ b/modulo5/testes-erros/src/controller/UserController.ts @@ -0,0 +1,47 @@ +import { Request, Response } from "express"; +import { UserBusiness } from "../business/UserBusiness"; +import { BaseError } from "../errors/BaseError"; +import { ILoginInputDTO, ISignupInputDTO } from "../models/User"; + +export class UserController { + constructor( + private userBusiness: UserBusiness + ) {} + + public signup = async (req: Request, res: Response) => { + try { + const input: ISignupInputDTO = { + name: req.body.name, + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.signup(input) + res.status(201).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } + + public login = async (req: Request, res: Response) => { + try { + const input: ILoginInputDTO = { + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.login(input) + res.status(201).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado" }) + } + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/database/BaseDatabase.ts b/modulo5/testes-erros/src/database/BaseDatabase.ts new file mode 100644 index 0000000..50a56d8 --- /dev/null +++ b/modulo5/testes-erros/src/database/BaseDatabase.ts @@ -0,0 +1,18 @@ +import knex from "knex" +import dotenv from "dotenv" + +dotenv.config() + +export abstract class BaseDatabase { + protected static connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_DATABASE, + multipleStatements: true + }, + }) +} diff --git a/modulo5/testes-erros/src/database/PostDatabase.ts b/modulo5/testes-erros/src/database/PostDatabase.ts new file mode 100644 index 0000000..1aae415 --- /dev/null +++ b/modulo5/testes-erros/src/database/PostDatabase.ts @@ -0,0 +1,83 @@ +import { ILikeDB, IPostDB, Post } from "../models/Post" +import { BaseDatabase } from "./BaseDatabase" + +export class PostDatabase extends BaseDatabase { + public static TABLE_POSTS = "Labook_Posts" + public static TABLE_LIKES = "Labook_Likes" + + public toPostDBModel = (post: Post): IPostDB => { + const postDB: IPostDB = { + id: post.getId(), + content: post.getContent(), + user_id: post.getUserId() + } + + return postDB + } + + public createPost = async (post: Post): Promise => { + const postDB = this.toPostDBModel(post) + + await BaseDatabase + .connection(PostDatabase.TABLE_POSTS) + .insert(postDB) + } + + public getPosts = async (): Promise => { + const postsDB: IPostDB[] = await BaseDatabase + .connection(PostDatabase.TABLE_POSTS) + .select() + + return postsDB + } + + public getLikes = async (postId: string): Promise => { + const result: any = await BaseDatabase + .connection(PostDatabase.TABLE_LIKES) + .select() + .count("id AS likes") + .where({ post_id: postId }) + + return result[0].likes as number + } + + public findPostById = async (postId: string): Promise => { + const postsDB: IPostDB[] = await BaseDatabase + .connection(PostDatabase.TABLE_POSTS) + .select() + .where({ id: postId }) + + return postsDB[0] + } + + public deletePost = async (postId: string): Promise => { + await BaseDatabase + .connection(PostDatabase.TABLE_POSTS) + .delete() + .where({ id: postId }) + } + + public findLike = async (postId: string, userId: string): Promise => { + const likesDB: ILikeDB[] = await BaseDatabase + .connection(PostDatabase.TABLE_LIKES) + .select() + .where({ post_id: postId }) + .andWhere({ user_id: userId }) + + return likesDB[0] + } + + public addLike = async (likeDB: ILikeDB): Promise => { + await BaseDatabase + .connection(PostDatabase.TABLE_LIKES) + .insert(likeDB) + } + + public removeLike = async (postId: string, userId: string): Promise => { + await BaseDatabase + .connection(PostDatabase.TABLE_LIKES) + .delete() + .where({ post_id: postId }) + .andWhere({ user_id: userId }) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/database/UserDatabase.ts b/modulo5/testes-erros/src/database/UserDatabase.ts new file mode 100644 index 0000000..ac4b442 --- /dev/null +++ b/modulo5/testes-erros/src/database/UserDatabase.ts @@ -0,0 +1,35 @@ +import { IUserDB, User } from "../models/User" +import { BaseDatabase } from "./BaseDatabase" + +export class UserDatabase extends BaseDatabase { + public static TABLE_USERS = "Labook_Users" + + public toUserDBModel = (user: User): IUserDB => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + const result: IUserDB[] = await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .select() + .where({ email }) + + return result[0] + } + + public createUser = async (user: User): Promise => { + const userDB = this.toUserDBModel(user) + + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(userDB) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/database/migrations/Migrations.ts b/modulo5/testes-erros/src/database/migrations/Migrations.ts new file mode 100644 index 0000000..6be95c2 --- /dev/null +++ b/modulo5/testes-erros/src/database/migrations/Migrations.ts @@ -0,0 +1,77 @@ +import { BaseDatabase } from "../BaseDatabase" +import { PostDatabase } from "../PostDatabase" +import { UserDatabase } from "../UserDatabase" +import { likes, posts, users } from "./data" + +class Migrations extends BaseDatabase { + execute = async () => { + try { + console.log("Creating tables...") + await this.createTables() + console.log("Tables created successfully.") + + console.log("Populating tables...") + await this.insertData() + console.log("Tables populated successfully.") + + console.log("Migrations completed.") + } catch (error) { + console.log("FAILED! Error in migrations...") + if (error instanceof Error) { + console.log(error.message) + } + } finally { + console.log("Ending connection...") + BaseDatabase.connection.destroy() + console.log("Connection closed graciously.") + } + } + + createTables = async () => { + await BaseDatabase.connection.raw(` + DROP TABLE IF EXISTS ${PostDatabase.TABLE_LIKES}; + DROP TABLE IF EXISTS ${PostDatabase.TABLE_POSTS}; + DROP TABLE IF EXISTS ${UserDatabase.TABLE_USERS}; + + CREATE TABLE IF NOT EXISTS ${UserDatabase.TABLE_USERS}( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM("NORMAL", "ADMIN") DEFAULT "NORMAL" NOT NULL + ); + + CREATE TABLE IF NOT EXISTS ${PostDatabase.TABLE_POSTS}( + id VARCHAR(255) PRIMARY KEY, + content VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + FOREIGN KEY (user_id) REFERENCES ${UserDatabase.TABLE_USERS}(id) + ); + + CREATE TABLE IF NOT EXISTS ${PostDatabase.TABLE_LIKES}( + id VARCHAR(255) PRIMARY KEY, + post_id VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + FOREIGN KEY (user_id) REFERENCES ${UserDatabase.TABLE_USERS}(id), + FOREIGN KEY (post_id) REFERENCES ${PostDatabase.TABLE_POSTS}(id) + ); + `) + } + + insertData = async () => { + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(users) + + await BaseDatabase + .connection(PostDatabase.TABLE_POSTS) + .insert(posts) + + await BaseDatabase + .connection(PostDatabase.TABLE_LIKES) + .insert(likes) + } +} + +const migrations = new Migrations() +migrations.execute() \ No newline at end of file diff --git a/modulo5/testes-erros/src/database/migrations/data.ts b/modulo5/testes-erros/src/database/migrations/data.ts new file mode 100644 index 0000000..e68106d --- /dev/null +++ b/modulo5/testes-erros/src/database/migrations/data.ts @@ -0,0 +1,77 @@ +import { ILikeDB, IPostDB } from "../../models/Post" +import { IUserDB, USER_ROLES } from "../../models/User" + +export const users: IUserDB[] = [ + { + id: "101", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC", // bananinha + role: USER_ROLES.ADMIN + }, + { + id: "102", + name: "Fulano", + email: "fulano@gmail.com", + password: "$2a$12$PULtVNlAll87D6E8pR/0HO9vbzVDPaUMA89rc5cNmYoAAepbwmkcO", // qwerty00 + role: USER_ROLES.NORMAL + }, + { + id: "103", + name: "Ciclana", + email: "ciclana@gmail.com", + password: "$2a$12$LkWMqS3oPhP2iVMcZOVvWer9ahUPulxjB0EA4TWPxWaRuEEfYGu/i", // asdfg123 + role: USER_ROLES.NORMAL + } +] + +export const posts: IPostDB[] = [ + { + id: "201", + content: "Olá, sou novo por aqui!", + user_id: "101" + }, + { + id: "202", + content: "Bom dia, família!", + user_id: "102" + }, + { + id: "203", + content: "Receba!", + user_id: "103" + } +] + +export const likes: ILikeDB[] = [ + { + id: "301", + post_id: "201", + user_id: "101" + }, + { + id: "302", + post_id: "202", + user_id: "101" + }, + { + id: "303", + post_id: "203", + user_id: "101" + }, + { + id: "304", + post_id: "201", + user_id: "102" + }, + { + id: "305", + post_id: "201", + user_id: "103" + }, + { + id: "306", + post_id: "202", + user_id: "103" + } +] \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/AuthenticationError.ts b/modulo5/testes-erros/src/errors/AuthenticationError.ts new file mode 100644 index 0000000..8ddc147 --- /dev/null +++ b/modulo5/testes-erros/src/errors/AuthenticationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthenticationError extends BaseError { + constructor( + message: string = "Credenciais inválidas" + ) { + super(401, message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/AuthorizationError.ts b/modulo5/testes-erros/src/errors/AuthorizationError.ts new file mode 100644 index 0000000..579ef71 --- /dev/null +++ b/modulo5/testes-erros/src/errors/AuthorizationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthorizationError extends BaseError { + constructor( + message: string = "Permissão insuficiente" + ) { + super(403, message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/BaseError.ts b/modulo5/testes-erros/src/errors/BaseError.ts new file mode 100644 index 0000000..f6324d2 --- /dev/null +++ b/modulo5/testes-erros/src/errors/BaseError.ts @@ -0,0 +1,8 @@ +export class BaseError extends Error { + constructor( + public statusCode: number, + message: string + ) { + super(message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/ConflictError.ts b/modulo5/testes-erros/src/errors/ConflictError.ts new file mode 100644 index 0000000..5f43622 --- /dev/null +++ b/modulo5/testes-erros/src/errors/ConflictError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ConflictError extends BaseError { + constructor( + message: string = "Recurso já existe" + ) { + super(409, message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/NotFoundError.ts b/modulo5/testes-erros/src/errors/NotFoundError.ts new file mode 100644 index 0000000..9ecac80 --- /dev/null +++ b/modulo5/testes-erros/src/errors/NotFoundError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class NotFoundError extends BaseError { + constructor( + message: string = "Recurso não encontrado" + ) { + super(404, message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/ParamsError.ts b/modulo5/testes-erros/src/errors/ParamsError.ts new file mode 100644 index 0000000..bf551fb --- /dev/null +++ b/modulo5/testes-erros/src/errors/ParamsError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ParamsError extends BaseError { + constructor( + message: string = "Parâmetros inválidos ou faltando" + ) { + super(400, message) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/errors/UnprocessableError.ts b/modulo5/testes-erros/src/errors/UnprocessableError.ts new file mode 100644 index 0000000..22aa680 --- /dev/null +++ b/modulo5/testes-erros/src/errors/UnprocessableError.ts @@ -0,0 +1,19 @@ +import { BaseError } from "./BaseError"; + +export class UnprocessableError extends BaseError { + constructor( + message: string = "Parâmetros válidos, porém com erros de semântica" + ) { + super(422, message) + } +} + +/* + Esse erro serve para lidar com requisições estruturalmente válidas, + porém bloqueadas por algum outro motivo +*/ + +// Exemplos: +// pessoa tentando se cadastrar com o nome: "Admin" +// conteúdo do post com palavras proibidas (palavrões) +// etc \ No newline at end of file diff --git a/modulo5/testes-erros/src/index.ts b/modulo5/testes-erros/src/index.ts new file mode 100644 index 0000000..546834c --- /dev/null +++ b/modulo5/testes-erros/src/index.ts @@ -0,0 +1,20 @@ +import express from 'express' +import cors from 'cors' +import dotenv from "dotenv" +import { pingRouter } from './router/pingRouter' +import { userRouter } from './router/userRouter' +import { postRouter } from './router/postRouter' + +dotenv.config() + +const app = express() +app.use(express.json()) +app.use(cors()) + +app.listen(process.env.PORT || 3003, () => { + console.log(`Servidor rodando na porta ${process.env.PORT || 3003}`) +}) + +app.use("/ping", pingRouter) +app.use("/users", userRouter) +app.use("/posts", postRouter) \ No newline at end of file diff --git a/modulo5/testes-erros/src/models/Post.ts b/modulo5/testes-erros/src/models/Post.ts new file mode 100644 index 0000000..33744d6 --- /dev/null +++ b/modulo5/testes-erros/src/models/Post.ts @@ -0,0 +1,97 @@ +export interface IPostDB { + id: string, + content: string, + user_id: string +} + +export interface ILikeDB { + id: string, + post_id: string, + user_id: string +} + +export class Post { + constructor( + private id: string, + private content: string, + private userId: string, + private likes: number = 0 + ) {} + + public getId = () => { + return this.id + } + + public getContent = () => { + return this.content + } + + public getUserId = () => { + return this.userId + } + + public getLikes = () => { + return this.likes + } + + public setId = (newId: string) => { + this.id = newId + } + + public setContent = (newContent: string) => { + this.content = newContent + } + + public setUserId = (newUserId: string) => { + this.userId = newUserId + } + + public setLikes = (newLikes: number) => { + this.likes = newLikes + } +} + +export interface ICreatePostInputDTO { + token: string, + content: string +} + +export interface ICreatePostOutputDTO { + message: string, + post: Post +} + +export interface IGetPostsInputDTO { + token: string +} + +export interface IGetPostsOutputDTO { + posts: Post[] +} + +export interface IDeletePostInputDTO { + token: string, + postId: string +} + +export interface IDeletePostOutputDTO { + message: string +} + +export interface IAddLikeInputDTO { + token: string, + postId: string +} + +export interface IAddLikeOutputDTO { + message: string +} + +export interface IRemoveLikeInputDTO { + token: string, + postId: string +} + +export interface IRemoveLikeOutputDTO { + message: string +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/models/User.ts b/modulo5/testes-erros/src/models/User.ts new file mode 100644 index 0000000..93d84c3 --- /dev/null +++ b/modulo5/testes-erros/src/models/User.ts @@ -0,0 +1,83 @@ +export enum USER_ROLES { + NORMAL = "NORMAL", + ADMIN = "ADMIN" +} + +export interface IUserDB { + id: string, + name: string, + email: string, + password: string, + role: USER_ROLES +} + +export class User { + constructor( + private id: string, + private name: string, + private email: string, + private password: string, + private role: USER_ROLES + ) {} + + public getId = () => { + return this.id + } + + public getName = () => { + return this.name + } + + public getEmail = () => { + return this.email + } + + public getPassword = () => { + return this.password + } + + public getRole = () => { + return this.role + } + + public setId = (newId: string) => { + this.id = newId + } + + public setName = (newName: string) => { + this.name = newName + } + + public setEmail = (newEmail: string) => { + this.email = newEmail + } + + public setPassword = (newPassword: string) => { + this.password = newPassword + } + + public setRole = (newRole: USER_ROLES) => { + this.role = newRole + } +} + +export interface ISignupInputDTO { + name: string, + email: string, + password: string +} + +export interface ISignupOutputDTO { + message: string, + token: string +} + +export interface ILoginInputDTO { + email: string, + password: string +} + +export interface ILoginOutputDTO { + message: string, + token: string +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/router/pingRouter.ts b/modulo5/testes-erros/src/router/pingRouter.ts new file mode 100644 index 0000000..d16081d --- /dev/null +++ b/modulo5/testes-erros/src/router/pingRouter.ts @@ -0,0 +1,11 @@ +import { Router } from 'express' +import { PingBusiness } from '../business/PingBusiness' +import { PingController } from '../controller/PingController' + +export const pingRouter = Router() + +const pingController = new PingController( + new PingBusiness() +) + +pingRouter.get("/", pingController.ping) \ No newline at end of file diff --git a/modulo5/testes-erros/src/router/postRouter.ts b/modulo5/testes-erros/src/router/postRouter.ts new file mode 100644 index 0000000..0451eb2 --- /dev/null +++ b/modulo5/testes-erros/src/router/postRouter.ts @@ -0,0 +1,24 @@ +import { Router } from 'express' +import { PostBusiness } from '../business/PostBusiness' +import { PostController } from '../controller/PostController' +import { PostDatabase } from '../database/PostDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const postRouter = Router() + +const postController = new PostController( + new PostBusiness( + new PostDatabase(), + new IdGenerator(), + new Authenticator() + ) +) + +postRouter.post("/", postController.createPost) +postRouter.get("/", postController.getPosts) +postRouter.delete("/:id", postController.deletePost) + +postRouter.post("/like/:id", postController.addLike) +postRouter.delete("/like/:id", postController.removeLike) \ No newline at end of file diff --git a/modulo5/testes-erros/src/router/userRouter.ts b/modulo5/testes-erros/src/router/userRouter.ts new file mode 100644 index 0000000..6de7d6c --- /dev/null +++ b/modulo5/testes-erros/src/router/userRouter.ts @@ -0,0 +1,21 @@ +import { Router } from 'express' +import { UserBusiness } from '../business/UserBusiness' +import { UserController } from '../controller/UserController' +import { UserDatabase } from '../database/UserDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const userRouter = Router() + +const userController = new UserController( + new UserBusiness( + new UserDatabase(), + new IdGenerator(), + new HashManager(), + new Authenticator() + ) +) + +userRouter.post("/signup", userController.signup) +userRouter.post("/login", userController.login) \ No newline at end of file diff --git a/modulo5/testes-erros/src/services/Authenticator.ts b/modulo5/testes-erros/src/services/Authenticator.ts new file mode 100644 index 0000000..dfa9293 --- /dev/null +++ b/modulo5/testes-erros/src/services/Authenticator.ts @@ -0,0 +1,37 @@ +import jwt from 'jsonwebtoken' +import dotenv from "dotenv" +import { USER_ROLES } from '../models/User' + +dotenv.config() + +export interface ITokenPayload { + id: string, + role: USER_ROLES +} + +export class Authenticator { + generateToken = (payload: ITokenPayload): string => { + const token = jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + + return token + } + + getTokenPayload = (token: string): ITokenPayload | null => { + try { + const payload = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return payload as ITokenPayload + } catch (error) { + return null + } + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/services/HashManager.ts b/modulo5/testes-erros/src/services/HashManager.ts new file mode 100644 index 0000000..5676b5a --- /dev/null +++ b/modulo5/testes-erros/src/services/HashManager.ts @@ -0,0 +1,15 @@ +import bcrypt from 'bcryptjs' + +export class HashManager { + public hash = async (plaintext: string): Promise => { + const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) + const salt = await bcrypt.genSalt(rounds) + const hash = await bcrypt.hash(plaintext, salt) + + return hash + } + + public compare = async (plaintext: string, hash: string): Promise => { + return bcrypt.compare(plaintext, hash) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/src/services/IdGenerator.ts b/modulo5/testes-erros/src/services/IdGenerator.ts new file mode 100644 index 0000000..75c9e00 --- /dev/null +++ b/modulo5/testes-erros/src/services/IdGenerator.ts @@ -0,0 +1,7 @@ +import { v4 } from 'uuid' + +export class IdGenerator { + public generate = (): string => { + return v4() + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/tests/PostBusiness.test.ts b/modulo5/testes-erros/tests/PostBusiness.test.ts new file mode 100644 index 0000000..61f51b3 --- /dev/null +++ b/modulo5/testes-erros/tests/PostBusiness.test.ts @@ -0,0 +1,39 @@ +import { PostBusiness } from "../src/business/PostBusiness" +import { ICreatePostInputDTO, IGetPostsInputDTO, Post } from "../src/models/Post" +import { AuthenticatorMock } from "./mocks/AuthenticatorMock" +import { IdGeneratorMock } from "./mocks/IdGeneratorMock" +import { PostDatabaseMock } from "./mocks/PostDatabaseMock" + +describe("Testando a PostBusiness", () => { + const postBusiness = new PostBusiness( + new PostDatabaseMock(), + new IdGeneratorMock(), + new AuthenticatorMock() + ) + + test("Deve retornar uma lista de posts", async () => { + const input: IGetPostsInputDTO = { + token: "token-mock-normal" + } + + const response = await postBusiness.getPosts(input) + expect(response.posts.length).toBe(3) + expect(response.posts[0]).toBeInstanceOf(Post) + }) + + test("Deve ser possível criar um novo post", async () => { + const input: ICreatePostInputDTO = { + token: "token-mock-normal", + content: "Teste do mock" + } + + const response = await postBusiness.createPost(input) + + expect(response.message).toBe("Post criado com sucesso") + expect(response.post).toBeInstanceOf(Post) + expect(response.post.getId()).toBe("id-mock") + expect(response.post.getContent()).toBe("Teste do mock") + expect(response.post.getLikes()).toBe(0) + expect(response.post.getUserId()).toBe("id-mock") + }) +}) \ No newline at end of file diff --git a/modulo5/testes-erros/tests/UserBusiness.test.ts b/modulo5/testes-erros/tests/UserBusiness.test.ts new file mode 100644 index 0000000..24b8700 --- /dev/null +++ b/modulo5/testes-erros/tests/UserBusiness.test.ts @@ -0,0 +1,94 @@ +import { UserBusiness } from "../src/business/UserBusiness" +import { BaseError } from "../src/errors/BaseError" +import { ILoginInputDTO, ISignupInputDTO } from "../src/models/User" +import { AuthenticatorMock } from "./mocks/AuthenticatorMock" +import { HashManagerMock } from "./mocks/HashManagerMock" +import { IdGeneratorMock } from "./mocks/IdGeneratorMock" +import { UserDatabaseMock } from "./mocks/UserDatabaseMock" + +describe("Testando a UserBusiness", () => { + const userBusiness = new UserBusiness( + new UserDatabaseMock(), + new IdGeneratorMock(), + new HashManagerMock(), + new AuthenticatorMock() + ) + + test("Um token é retornado quando o cadastro é bem-sucedido", async () => { + const input: ISignupInputDTO = { + email: "fulano@gmail.com", + name: "Fulano", + password: "fulano123" + } + + const response = await userBusiness.signup(input) + expect(response.message).toBe("Cadastro realizado com sucesso") + expect(response.token).toBe("token-mock-normal") + }) + + test("Um token é retornado quando o login é bem-sucedido", async () => { + const input: ILoginInputDTO = { + email: "astrodev@gmail.com", + password: "bananinha" + } + + const response = await userBusiness.login(input) + expect(response.message).toBe("Login realizado com sucesso") + expect(response.token).toBe("token-mock-admin") + }) + + test("deve passar se a senha é menor que 6 caracteres", async()=>{ + expect.assertions(2) + try { + const input: ISignupInputDTO = { + email: "fulano@gmail.com", + name: "Fulano", + password: "123" + } + + await userBusiness.signup(input) + + } catch (error:unknown) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(400) + expect(error.message).toBe("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + } + }) + + test("testar se o tipo é string",async()=>{ + expect.assertions(2) + try { + const input: ISignupInputDTO = { + email: "fulano@gmail.com", + name: undefined, + password: "1231213" + }as unknown as ISignupInputDTO + + await userBusiness.signup(input) + + } catch (error:any) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(400) + expect(error.message).toBe("Parâmetro 'name' inválido") + } + } + }) + + test("Erro quando o password for incorreto", async()=>{ + expect.assertions(2) + try { + const input: ILoginInputDTO = { + email: "astrodev@gmail.com", + password: "bananinha123" + } + await userBusiness.login(input) + + } catch (error:any) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(401) + expect(error.message).toBe("Password incorreto") + } + } + }) +}) \ No newline at end of file diff --git a/modulo5/testes-erros/tests/mocks/AuthenticatorMock.ts b/modulo5/testes-erros/tests/mocks/AuthenticatorMock.ts new file mode 100644 index 0000000..797657e --- /dev/null +++ b/modulo5/testes-erros/tests/mocks/AuthenticatorMock.ts @@ -0,0 +1,37 @@ +import { USER_ROLES } from "../../src/models/User" +import { ITokenPayload } from "../../src/services/Authenticator" + +export class AuthenticatorMock { + public generateToken = (payload: ITokenPayload): string => { + switch (payload.role) { + case USER_ROLES.ADMIN: + return "token-mock-admin" + default: + return "token-mock-normal" + } + } + + public getTokenPayload = (token: string): ITokenPayload | null => { + switch (token) { + case "token-mock-admin": + const adminPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.ADMIN + } + + return adminPayload + + case "token-mock-normal": + const normalPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.NORMAL + } + + return normalPayload + + default: + return null + } + } + +} diff --git a/modulo5/testes-erros/tests/mocks/HashManagerMock.ts b/modulo5/testes-erros/tests/mocks/HashManagerMock.ts new file mode 100644 index 0000000..9d138b3 --- /dev/null +++ b/modulo5/testes-erros/tests/mocks/HashManagerMock.ts @@ -0,0 +1,17 @@ +export class HashManagerMock { + public hash = async (plaintext: string): Promise => { + if (plaintext == "bananinha") { + return "hash-bananinha" + } + + return "hash-mock" + } + + public compare = async (plaintext: string, hash: string): Promise => { + if (plaintext == "bananinha" && hash == "hash-bananinha") { + return true + } + + return false + } +} diff --git a/modulo5/testes-erros/tests/mocks/IdGeneratorMock.ts b/modulo5/testes-erros/tests/mocks/IdGeneratorMock.ts new file mode 100644 index 0000000..cc0ab17 --- /dev/null +++ b/modulo5/testes-erros/tests/mocks/IdGeneratorMock.ts @@ -0,0 +1,5 @@ +export class IdGeneratorMock { + public generate = (): string => { + return "id-mock" + } +} diff --git a/modulo5/testes-erros/tests/mocks/PostDatabaseMock.ts b/modulo5/testes-erros/tests/mocks/PostDatabaseMock.ts new file mode 100644 index 0000000..871439f --- /dev/null +++ b/modulo5/testes-erros/tests/mocks/PostDatabaseMock.ts @@ -0,0 +1,129 @@ +import { BaseDatabase } from "../../src/database/BaseDatabase" +import { ILikeDB, IPostDB, Post } from "../../src/models/Post" + +export class PostDatabaseMock extends BaseDatabase { + public static TABLE_POSTS = "Labook_Posts" + public static TABLE_LIKES = "Labook_Likes" + + public toPostDBModel = (post: Post): IPostDB => { + const postDB: IPostDB = { + id: post.getId(), + content: post.getContent(), + user_id: post.getUserId() + } + + return postDB + } + + public createPost = async (post: Post): Promise => { + // const postDB = this.toPostDBModel(post) + + // await BaseDatabase + // .connection(PostDatabase.TABLE_POSTS) + // .insert(postDB) + } + + public getPosts = async (): Promise => { + // const postsDB: IPostDB[] = await BaseDatabase + // .connection(PostDatabase.TABLE_POSTS) + // .select() + + // return postsDB + + const postsDB: IPostDB[] = [ + { + id: "201", + content: "Olá, sou novo por aqui!", + user_id: "101" + }, + { + id: "202", + content: "Bom dia, família!", + user_id: "102" + }, + { + id: "203", + content: "Receba!", + user_id: "103" + } + ] + + return postsDB + } + + public getLikes = async (postId: string): Promise => { + // const result: any = await BaseDatabase + // .connection(PostDatabase.TABLE_LIKES) + // .select() + // .count("id AS likes") + // .where({ post_id: postId }) + + // return result[0].likes as number + + if (postId == "201") return 1 + + return 0 + } + + public findPostById = async (postId: string): Promise => { + // const postsDB: IPostDB[] = await BaseDatabase + // .connection(PostDatabase.TABLE_POSTS) + // .select() + // .where({ id: postId }) + + // return postsDB[0] + + switch(postId) { + case "201": + return { + id: "201", + content: "Olá, sou novo por aqui!", + user_id: "101" + } + + default: + return undefined + } + } + + public deletePost = async (postId: string): Promise => { + // await BaseDatabase + // .connection(PostDatabase.TABLE_POSTS) + // .delete() + // .where({ id: postId }) + } + + public findLike = async (postId: string, userId: string): Promise => { + // const likesDB: ILikeDB[] = await BaseDatabase + // .connection(PostDatabase.TABLE_LIKES) + // .select() + // .where({ post_id: postId }) + // .andWhere({ user_id: userId }) + + // return likesDB[0] + + if (postId == "201" && userId == "id-mock") { + return { + id: "301", + post_id: "201", + user_id: "id-mock" + } + } + + return undefined + } + + public addLike = async (likeDB: ILikeDB): Promise => { + // await BaseDatabase + // .connection(PostDatabase.TABLE_LIKES) + // .insert(likeDB) + } + + public removeLike = async (postId: string, userId: string): Promise => { + // await BaseDatabase + // .connection(PostDatabase.TABLE_LIKES) + // .delete() + // .where({ post_id: postId }) + // .andWhere({ user_id: userId }) + } +} \ No newline at end of file diff --git a/modulo5/testes-erros/tests/mocks/UserDatabaseMock.ts b/modulo5/testes-erros/tests/mocks/UserDatabaseMock.ts new file mode 100644 index 0000000..b563546 --- /dev/null +++ b/modulo5/testes-erros/tests/mocks/UserDatabaseMock.ts @@ -0,0 +1,49 @@ +import { IUserDB, User, USER_ROLES } from "../../src/models/User" +import { BaseDatabase } from "../../src/database/BaseDatabase" + +export class UserDatabaseMock extends BaseDatabase { + public static TABLE_USERS = "Labook_Users" + + public toUserDBModel = (user: User) => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + switch (email) { + case "usermock@gmail.com": + const normalUser: IUserDB = { + id: "id-mock", + name: "User Mock", + email: "usermock@gmail.com", + password: "hash-mock", + role: USER_ROLES.NORMAL + } + + return normalUser + + case "astrodev@gmail.com": + const adminUser: IUserDB = { + id: "id-mock", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "hash-bananinha", + role: USER_ROLES.ADMIN + } + + return adminUser + + default: + return undefined + } + } + + public createUser = async (user: User): Promise => {} +} \ No newline at end of file diff --git a/modulo5/testes-erros/tsconfig.json b/modulo5/testes-erros/tsconfig.json new file mode 100644 index 0000000..534eb3b --- /dev/null +++ b/modulo5/testes-erros/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./", + "removeComments": true, + "noImplicitAny": true, + "esModuleInterop": true, + "strict": true + }, + "exclude": ["./tests/*"] +} \ No newline at end of file From 84dfa2bc67a0a8fc74c651832c2965f625c09174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 28 Sep 2022 19:13:40 -0300 Subject: [PATCH 03/19] fim --- .../testes-erros/tests/PostBusiness.test.ts | 56 ++++++++++++++++++- .../testes-erros/tests/UserBusiness.test.ts | 2 + 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/modulo5/testes-erros/tests/PostBusiness.test.ts b/modulo5/testes-erros/tests/PostBusiness.test.ts index 61f51b3..5c42e73 100644 --- a/modulo5/testes-erros/tests/PostBusiness.test.ts +++ b/modulo5/testes-erros/tests/PostBusiness.test.ts @@ -1,5 +1,6 @@ import { PostBusiness } from "../src/business/PostBusiness" -import { ICreatePostInputDTO, IGetPostsInputDTO, Post } from "../src/models/Post" +import { BaseError } from "../src/errors/BaseError" +import { ICreatePostInputDTO, IDeletePostInputDTO, IGetPostsInputDTO, Post } from "../src/models/Post" import { AuthenticatorMock } from "./mocks/AuthenticatorMock" import { IdGeneratorMock } from "./mocks/IdGeneratorMock" import { PostDatabaseMock } from "./mocks/PostDatabaseMock" @@ -36,4 +37,55 @@ describe("Testando a PostBusiness", () => { expect(response.post.getLikes()).toBe(0) expect(response.post.getUserId()).toBe("id-mock") }) -}) \ No newline at end of file + + test("createPost - teste de erro",async()=>{ + expect.assertions(2) + try { + const input: ICreatePostInputDTO = { + token: "token-mock-normal", + content: "" + } + + const response = await postBusiness.createPost(input) + + } catch (error) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(400) + expect(error.message).toBe("Parâmetro 'content' inválido: mínimo de 1 caracteres") + } + }}) + test("getPost - teste de erro", async()=>{ + expect.assertions(2) + try { + const input: IGetPostsInputDTO = { + token: "token-mocknormal" + } + + const response = await postBusiness.getPosts(input) + + } catch (error) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(401) + expect(error.message).toBe("Credenciais inválidas" ) + } + }}) + + test("deletePost - teste de erro", async()=>{ + expect.assertions(2) + try { + const input: IDeletePostInputDTO = { + token: "103", + postId: "206" + } + + const response = await postBusiness.deletePost(input) + } catch (error) { + if(error instanceof BaseError){ + expect(error.statusCode).toBe(401) + expect(error.message).toBe("Credenciais inválidas") + } + }}) + + } + ) + diff --git a/modulo5/testes-erros/tests/UserBusiness.test.ts b/modulo5/testes-erros/tests/UserBusiness.test.ts index 24b8700..b8954d9 100644 --- a/modulo5/testes-erros/tests/UserBusiness.test.ts +++ b/modulo5/testes-erros/tests/UserBusiness.test.ts @@ -91,4 +91,6 @@ describe("Testando a UserBusiness", () => { } } }) + + }) \ No newline at end of file From 8542311444ba4f22e8037fa446df28f86ccd7b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Thu, 29 Sep 2022 17:41:06 -0300 Subject: [PATCH 04/19] =?UTF-8?q?in=C3=ADcio=20projeto=20LAMA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo5/projeto-LAMA/jest.config.js | 8 + modulo5/projeto-LAMA/package-lock.json | 8756 +++++++++++++++++ modulo5/projeto-LAMA/package.json | 40 + modulo5/projeto-LAMA/requests.rest | 3 + .../projeto-LAMA/src/business/PingBusiness.ts | 9 + .../projeto-LAMA/src/business/ShowBusiness.ts | 13 + .../projeto-LAMA/src/business/UserBusiness.ts | 71 + .../src/controller/PingController.ts | 23 + .../src/controller/ShowController.ts | 9 + .../src/controller/UserController.ts | 28 + .../projeto-LAMA/src/database/BaseDatabase.ts | 18 + .../projeto-LAMA/src/database/ShowDatabase.ts | 7 + .../projeto-LAMA/src/database/UserDatabase.ts | 35 + .../src/database/migrations/Migrations.ts | 76 + .../src/database/migrations/data.ts | 77 + .../src/errors/AuthenticationError.ts | 9 + .../src/errors/AuthorizationError.ts | 9 + modulo5/projeto-LAMA/src/errors/BaseError.ts | 8 + .../projeto-LAMA/src/errors/ConflictError.ts | 9 + .../projeto-LAMA/src/errors/NotFoundError.ts | 9 + .../projeto-LAMA/src/errors/ParamsError.ts | 9 + .../projeto-LAMA/src/errors/RequestError.ts | 9 + .../src/errors/UnauthorizedError.ts | 9 + .../src/errors/UnprocessableError.ts | 9 + modulo5/projeto-LAMA/src/index.ts | 21 + modulo5/projeto-LAMA/src/models/Show.ts | 52 + modulo5/projeto-LAMA/src/models/User.ts | 62 + modulo5/projeto-LAMA/src/router/pingRouter.ts | 11 + modulo5/projeto-LAMA/src/router/showRouter.ts | 18 + modulo5/projeto-LAMA/src/router/userRouter.ts | 19 + .../src/services/Authenticator.ts | 37 + .../projeto-LAMA/src/services/HashManager.ts | 15 + .../projeto-LAMA/src/services/IdGenerator.ts | 7 + .../tests/PingBusiness/ping.test.ts | 10 + .../tests/PingBusinessTests/ping.test.ts | 12 + .../tests/mocks/AuthenticatorMock.ts | 37 + .../tests/mocks/HashManagerMock.ts | 17 + .../tests/mocks/IdGeneratorMock.ts | 5 + .../tests/mocks/ShowDatabaseMock.ts | 7 + .../tests/mocks/UserDatabaseMock.ts | 6 + .../tests/mocks/services/AuthenticatorMock.ts | 30 + .../tests/mocks/services/HashManagerMock.ts | 19 + .../tests/mocks/services/IdGeneratorMock.ts | 5 + modulo5/projeto-LAMA/tsconfig.json | 16 + 44 files changed, 9659 insertions(+) create mode 100644 modulo5/projeto-LAMA/jest.config.js create mode 100644 modulo5/projeto-LAMA/package-lock.json create mode 100644 modulo5/projeto-LAMA/package.json create mode 100644 modulo5/projeto-LAMA/requests.rest create mode 100644 modulo5/projeto-LAMA/src/business/PingBusiness.ts create mode 100644 modulo5/projeto-LAMA/src/business/ShowBusiness.ts create mode 100644 modulo5/projeto-LAMA/src/business/UserBusiness.ts create mode 100644 modulo5/projeto-LAMA/src/controller/PingController.ts create mode 100644 modulo5/projeto-LAMA/src/controller/ShowController.ts create mode 100644 modulo5/projeto-LAMA/src/controller/UserController.ts create mode 100644 modulo5/projeto-LAMA/src/database/BaseDatabase.ts create mode 100644 modulo5/projeto-LAMA/src/database/ShowDatabase.ts create mode 100644 modulo5/projeto-LAMA/src/database/UserDatabase.ts create mode 100644 modulo5/projeto-LAMA/src/database/migrations/Migrations.ts create mode 100644 modulo5/projeto-LAMA/src/database/migrations/data.ts create mode 100644 modulo5/projeto-LAMA/src/errors/AuthenticationError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/AuthorizationError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/BaseError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/ConflictError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/NotFoundError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/ParamsError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/RequestError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/UnauthorizedError.ts create mode 100644 modulo5/projeto-LAMA/src/errors/UnprocessableError.ts create mode 100644 modulo5/projeto-LAMA/src/index.ts create mode 100644 modulo5/projeto-LAMA/src/models/Show.ts create mode 100644 modulo5/projeto-LAMA/src/models/User.ts create mode 100644 modulo5/projeto-LAMA/src/router/pingRouter.ts create mode 100644 modulo5/projeto-LAMA/src/router/showRouter.ts create mode 100644 modulo5/projeto-LAMA/src/router/userRouter.ts create mode 100644 modulo5/projeto-LAMA/src/services/Authenticator.ts create mode 100644 modulo5/projeto-LAMA/src/services/HashManager.ts create mode 100644 modulo5/projeto-LAMA/src/services/IdGenerator.ts create mode 100644 modulo5/projeto-LAMA/tests/PingBusiness/ping.test.ts create mode 100644 modulo5/projeto-LAMA/tests/PingBusinessTests/ping.test.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/AuthenticatorMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/HashManagerMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/IdGeneratorMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/ShowDatabaseMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/UserDatabaseMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/services/AuthenticatorMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/services/HashManagerMock.ts create mode 100644 modulo5/projeto-LAMA/tests/mocks/services/IdGeneratorMock.ts create mode 100644 modulo5/projeto-LAMA/tsconfig.json diff --git a/modulo5/projeto-LAMA/jest.config.js b/modulo5/projeto-LAMA/jest.config.js new file mode 100644 index 0000000..cee01ad --- /dev/null +++ b/modulo5/projeto-LAMA/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/package-lock.json b/modulo5/projeto-LAMA/package-lock.json new file mode 100644 index 0000000..e17c65d --- /dev/null +++ b/modulo5/projeto-LAMA/package-lock.json @@ -0,0 +1,8756 @@ +{ + "name": "projeto-cookenu-backend", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "projeto-cookenu-backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.1", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.2.0", + "mysql": "^2.18.1", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.13", + "@types/jest": "^28.1.6", + "@types/jsonwebtoken": "^8.5.8", + "@types/knex": "^0.16.1", + "@types/node": "^18.0.6", + "@types/uuid": "^8.3.4", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node-dev": "^2.0.0", + "typescript": "^4.7.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/core/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/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "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/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "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.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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/@babel/traverse/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/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "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/@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/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.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "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.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "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/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "deprecated": "This is a stub types definition. knex provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "knex": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "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": "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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==", + "dev": true + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "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.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "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-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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/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.30001414", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", + "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "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/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/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "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==", + "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.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "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/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==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "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==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.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==", + "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==", + "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", + "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/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.268", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.268.tgz", + "integrity": "sha512-PO90Bv++vEzdln+eA9qLg1IRnh0rKETus6QkTzcFm5P3Wg3EQBZud5dcnzkpYXuIKWBjKe5CO8zjz02cicvn1g==", + "dev": true + }, + "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/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "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/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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/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/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/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==", + "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/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/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "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/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "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": "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/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/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "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": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "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-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.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "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==", + "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-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/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "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/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "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-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-lib-source-maps/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/istanbul-lib-source-maps/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/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "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-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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": "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/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-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/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/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==" + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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/knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "dependencies": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/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/knex/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/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/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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "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/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==", + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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==", + "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==", + "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==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "dependencies": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mysql/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/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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "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-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "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/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": "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/p-locate/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/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/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/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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==" + }, + "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==" + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "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/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/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==" + }, + "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/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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "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/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/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/readable-stream/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/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.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.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-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.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/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/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "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==", + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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/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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/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/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==", + "dev": true, + "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==", + "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-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/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "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/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/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "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-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "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/ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "bin": { + "ts-node-dev": "lib/bin.js", + "tsnd": "lib/bin.js" + }, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "node-notifier": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/ts-node-dev/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tsconfig/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/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.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.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/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.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==" + }, + "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==", + "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==", + "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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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/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==", + "dev": true + }, + "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/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "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.0.0" + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@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, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@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, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@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, + "requires": { + "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" + } + }, + "@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 + }, + "@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, + "requires": { + "@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" + } + }, + "@jest/core": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "dev": true, + "requires": { + "@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" + } + }, + "@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" + } + }, + "@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, + "requires": { + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" + } + }, + "@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, + "requires": { + "jest-get-type": "^28.0.2" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "dev": true, + "requires": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@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, + "requires": { + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@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, + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@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, + "requires": { + "@jest/test-result": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "slash": "^3.0.0" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@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" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@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, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@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 + }, + "@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 + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@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, + "requires": { + "expect": "^28.0.0", + "pretty-format": "^28.0.0" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "dev": true, + "requires": { + "knex": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/node": { + "version": "18.7.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz", + "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "babel-plugin-jest-hoist": "^28.1.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "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 + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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 + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001414", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz", + "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "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 + } + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "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==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "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 + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "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 + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, + "dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "electron-to-chromium": { + "version": "1.4.268", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.268.tgz", + "integrity": "sha512-PO90Bv++vEzdln+eA9qLg1IRnh0rKETus6QkTzcFm5P3Wg3EQBZud5dcnzkpYXuIKWBjKe5CO8zjz02cicvn1g==", + "dev": true + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true + }, + "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 + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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==" + }, + "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 + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "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 + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "dev": true, + "requires": { + "@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" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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" + } + }, + "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 + }, + "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, + "requires": { + "bser": "2.1.1" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "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" + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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 + }, + "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 + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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==" + }, + "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 + }, + "getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-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, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "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 + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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 + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "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==" + }, + "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 + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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 + }, + "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 + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "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 + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@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" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "dev": true, + "requires": { + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", + "import-local": "^3.0.2", + "jest-cli": "^28.1.3" + } + }, + "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, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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 + }, + "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, + "requires": { + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "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" + } + }, + "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, + "requires": { + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "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 + }, + "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, + "requires": { + "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" + } + }, + "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, + "requires": { + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@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" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "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, + "requires": { + "@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" + } + }, + "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, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "requires": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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 + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "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==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "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 + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "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 + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "requires": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "dependencies": { + "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==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "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-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "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==", + "requires": { + "ee-first": "1.1.1" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "@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" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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 + }, + "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 + }, + "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 + }, + "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==" + }, + "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==" + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "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, + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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 + } + } + }, + "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==" + }, + "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, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "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==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "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 + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + }, + "dependencies": { + "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==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "requires": { + "resolve": "^1.20.0" + } + }, + "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 + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "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" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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 + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==" + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "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==" + } + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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==" + }, + "tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==" + }, + "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, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "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, + "requires": { + "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" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@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" + } + }, + "ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "requires": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + }, + "dependencies": { + "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 + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, + "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 + }, + "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 + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "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==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "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 + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "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 + }, + "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, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "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.0.0" + } + }, + "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 + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "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 + } + } +} diff --git a/modulo5/projeto-LAMA/package.json b/modulo5/projeto-LAMA/package.json new file mode 100644 index 0000000..7fac7f6 --- /dev/null +++ b/modulo5/projeto-LAMA/package.json @@ -0,0 +1,40 @@ +{ + "name": "projeto-cookenu-backend", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node ./build/src/index.js", + "build": "tsc", + "dev": "ts-node-dev ./src/index.ts", + "migrations": "tsc && node ./build/src/database/migrations/Migrations.js", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.13", + "@types/jest": "^28.1.6", + "@types/jsonwebtoken": "^8.5.8", + "@types/knex": "^0.16.1", + "@types/node": "^18.0.6", + "@types/uuid": "^8.3.4", + "jest": "^28.1.3", + "ts-jest": "^28.0.8", + "ts-node-dev": "^2.0.0", + "typescript": "^4.7.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.1", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.2.0", + "mysql": "^2.18.1", + "uuid": "^8.3.2" + } +} diff --git a/modulo5/projeto-LAMA/requests.rest b/modulo5/projeto-LAMA/requests.rest new file mode 100644 index 0000000..31bc5d2 --- /dev/null +++ b/modulo5/projeto-LAMA/requests.rest @@ -0,0 +1,3 @@ +### Endpoint de teste +GET http://localhost:3003/ping + diff --git a/modulo5/projeto-LAMA/src/business/PingBusiness.ts b/modulo5/projeto-LAMA/src/business/PingBusiness.ts new file mode 100644 index 0000000..9c624ae --- /dev/null +++ b/modulo5/projeto-LAMA/src/business/PingBusiness.ts @@ -0,0 +1,9 @@ +export class PingBusiness { + public ping = async () => { + const response = { + message: "Pong!" + } + + return response + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/business/ShowBusiness.ts b/modulo5/projeto-LAMA/src/business/ShowBusiness.ts new file mode 100644 index 0000000..804195a --- /dev/null +++ b/modulo5/projeto-LAMA/src/business/ShowBusiness.ts @@ -0,0 +1,13 @@ +import { ShowDatabase } from "../database/ShowDatabase" +import { Authenticator } from "../services/Authenticator" +import { HashManager } from "../services/HashManager" +import { IdGenerator } from "../services/IdGenerator" + +export class ShowBusiness { + constructor( + private showDatabase: ShowDatabase, + private idGenerator: IdGenerator, + private authenticator: Authenticator + ) {} + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/business/UserBusiness.ts b/modulo5/projeto-LAMA/src/business/UserBusiness.ts new file mode 100644 index 0000000..ab966b9 --- /dev/null +++ b/modulo5/projeto-LAMA/src/business/UserBusiness.ts @@ -0,0 +1,71 @@ +import { UserDatabase } from "../database/UserDatabase"; +import { ConflictError } from "../errors/ConflictError"; +import { ParamsError } from "../errors/ParamsError"; +import { User, USER_ROLES } from "../models/User"; +import { Authenticator, ITokenPayload } from "../services/Authenticator"; +import { HashManager } from "../services/HashManager"; +import { IdGenerator } from "../services/IdGenerator"; + +export class UserBusiness { + constructor( + private userDatabase: UserDatabase, + private idGenerator: IdGenerator, + private hashManager: HashManager, + private authenticator: Authenticator + ) {} + public signup = async (input:any) => { + const { name, email, password } = input; + + if (typeof name !== "string") { + throw new ParamsError("Parâmetro 'name' inválido"); + } + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido"); + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido"); + } + + if (name.length < 3) { + throw new ParamsError( + "Parâmetro 'name' inválido: mínimo de 3 caracteres" + ); + } + + if (password.length < 6) { + throw new ParamsError( + "Parâmetro 'password' inválido: mínimo de 3 caracteres" + ); + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido"); + } + + const ifEmailAlreadyExists = await this.userDatabase.findByEmail(email); + + if (ifEmailAlreadyExists) { + throw new ConflictError("Email já cadastrado"); + } + + const id = this.idGenerator.generate(); + const hashedPassword = await this.hashManager.hash(password); + + const user = new User(id, name, email, hashedPassword, USER_ROLES.NORMAL) + await this.userDatabase.createUser(user) + const payload:ITokenPayload = { + id:user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response = { + message: "Cadastro realizado com sucesso", + token + } + return response + }; +} diff --git a/modulo5/projeto-LAMA/src/controller/PingController.ts b/modulo5/projeto-LAMA/src/controller/PingController.ts new file mode 100644 index 0000000..0340cd0 --- /dev/null +++ b/modulo5/projeto-LAMA/src/controller/PingController.ts @@ -0,0 +1,23 @@ +import { Request, Response } from "express" +import { PingBusiness } from "../business/PingBusiness" +import { BaseError } from "../errors/BaseError" + +export class PingController { + constructor( + private pingBusiness: PingBusiness + ) {} + + public ping = async (req: Request, res: Response) => { + try { + const response = await this.pingBusiness.ping() + + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + } + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/controller/ShowController.ts b/modulo5/projeto-LAMA/src/controller/ShowController.ts new file mode 100644 index 0000000..1dc5a45 --- /dev/null +++ b/modulo5/projeto-LAMA/src/controller/ShowController.ts @@ -0,0 +1,9 @@ +import { Request, Response } from "express"; +import { ShowBusiness } from "../business/ShowBusiness"; + +export class ShowController { + constructor( + private showBusiness: ShowBusiness + ) {} + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/controller/UserController.ts b/modulo5/projeto-LAMA/src/controller/UserController.ts new file mode 100644 index 0000000..594b221 --- /dev/null +++ b/modulo5/projeto-LAMA/src/controller/UserController.ts @@ -0,0 +1,28 @@ +import { Request, Response } from "express"; +import { UserBusiness } from "../business/UserBusiness"; +import { BaseError } from "../errors/BaseError"; + +export class UserController { + constructor( + private userBusiness: UserBusiness + ) {} + + public signup = async (req:Request, res:Response) =>{ + try { + const input = { + name:req.body.name, + email: req.body.email, + password:req.body.password + } + const response = await this.userBusiness.signup(input) + res.status(201).send(response) + + } catch (error:any) { + if (error instanceof BaseError){ + return res.status(error.statusCode).send({message:error.message}) + } + res.status(500).send({message: "Erro inesperado"}) + } + } + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/database/BaseDatabase.ts b/modulo5/projeto-LAMA/src/database/BaseDatabase.ts new file mode 100644 index 0000000..50a56d8 --- /dev/null +++ b/modulo5/projeto-LAMA/src/database/BaseDatabase.ts @@ -0,0 +1,18 @@ +import knex from "knex" +import dotenv from "dotenv" + +dotenv.config() + +export abstract class BaseDatabase { + protected static connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_DATABASE, + multipleStatements: true + }, + }) +} diff --git a/modulo5/projeto-LAMA/src/database/ShowDatabase.ts b/modulo5/projeto-LAMA/src/database/ShowDatabase.ts new file mode 100644 index 0000000..87cd897 --- /dev/null +++ b/modulo5/projeto-LAMA/src/database/ShowDatabase.ts @@ -0,0 +1,7 @@ +import { BaseDatabase } from "./BaseDatabase" + +export class ShowDatabase extends BaseDatabase { + public static TABLE_SHOWS = "Lama_Shows" + public static TABLE_TICKETS = "Lama_Tickets" + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/database/UserDatabase.ts b/modulo5/projeto-LAMA/src/database/UserDatabase.ts new file mode 100644 index 0000000..417a182 --- /dev/null +++ b/modulo5/projeto-LAMA/src/database/UserDatabase.ts @@ -0,0 +1,35 @@ +import { IUserDB, User } from "../models/User" +import { BaseDatabase } from "./BaseDatabase" + +export class UserDatabase extends BaseDatabase { + public static TABLE_USERS = "Lama_Users" + + public UserDBModel = (user:User):IUserDB => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role:user.getRole() + } + + return userDB + } + + public findByEmail = async (email:string):Promise =>{ + const result: IUserDB[] = await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .select() + .where({email}) + return result[0] + } + + public createUser = async(user:User): Promise =>{ + const userDB = this.UserDBModel(user) + + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(userDB) + } + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/database/migrations/Migrations.ts b/modulo5/projeto-LAMA/src/database/migrations/Migrations.ts new file mode 100644 index 0000000..0b83fda --- /dev/null +++ b/modulo5/projeto-LAMA/src/database/migrations/Migrations.ts @@ -0,0 +1,76 @@ +import { BaseDatabase } from "../BaseDatabase" +import { ShowDatabase } from "../ShowDatabase" +import { UserDatabase } from "../UserDatabase" +import { shows, tickets, users } from "./data" + +class Migrations extends BaseDatabase { + execute = async () => { + try { + console.log("Creating tables...") + await this.createTables() + console.log("Tables created successfully.") + + console.log("Populating tables...") + await this.insertData() + console.log("Tables populated successfully.") + + console.log("Migrations completed.") + } catch (error) { + console.log("FAILED! Error in migrations...") + if (error instanceof Error) { + console.log(error.message) + } + } finally { + console.log("Ending connection...") + BaseDatabase.connection.destroy() + console.log("Connection closed graciously.") + } + } + + createTables = async () => { + await BaseDatabase.connection.raw(` + DROP TABLE IF EXISTS ${ShowDatabase.TABLE_TICKETS}; + DROP TABLE IF EXISTS ${ShowDatabase.TABLE_SHOWS}; + DROP TABLE IF EXISTS ${UserDatabase.TABLE_USERS}; + + CREATE TABLE IF NOT EXISTS ${UserDatabase.TABLE_USERS}( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM("NORMAL", "ADMIN") DEFAULT "NORMAL" NOT NULL + ); + + CREATE TABLE IF NOT EXISTS ${ShowDatabase.TABLE_SHOWS}( + id VARCHAR(255) PRIMARY KEY, + band VARCHAR(255) NOT NULL, + starts_at DATE NOT NULL + ); + + CREATE TABLE IF NOT EXISTS ${ShowDatabase.TABLE_TICKETS}( + id VARCHAR(255) PRIMARY KEY, + show_id VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + FOREIGN KEY (user_id) REFERENCES ${UserDatabase.TABLE_USERS}(id), + FOREIGN KEY (show_id) REFERENCES ${ShowDatabase.TABLE_SHOWS}(id) + ); + `) + } + + insertData = async () => { + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(users) + + await BaseDatabase + .connection(ShowDatabase.TABLE_SHOWS) + .insert(shows) + + await BaseDatabase + .connection(ShowDatabase.TABLE_TICKETS) + .insert(tickets) + } +} + +const migrations = new Migrations() +migrations.execute() \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/database/migrations/data.ts b/modulo5/projeto-LAMA/src/database/migrations/data.ts new file mode 100644 index 0000000..924e5ec --- /dev/null +++ b/modulo5/projeto-LAMA/src/database/migrations/data.ts @@ -0,0 +1,77 @@ +import { IShowDB, ITicketDB } from "../../models/Show" +import { IUserDB, USER_ROLES } from "../../models/User" + +export const users: IUserDB[] = [ + { + id: "101", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC", // bananinha + role: USER_ROLES.ADMIN + }, + { + id: "102", + name: "Fulano", + email: "fulano@gmail.com", + password: "$2a$12$PULtVNlAll87D6E8pR/0HO9vbzVDPaUMA89rc5cNmYoAAepbwmkcO", // qwerty00 + role: USER_ROLES.NORMAL + }, + { + id: "103", + name: "Ciclana", + email: "ciclana@gmail.com", + password: "$2a$12$LkWMqS3oPhP2iVMcZOVvWer9ahUPulxjB0EA4TWPxWaRuEEfYGu/i", // asdfg123 + role: USER_ROLES.NORMAL + } +] + +export const shows: IShowDB[] = [ + { + id: "201", + band: "Foo Fighters", + starts_at: new Date("2022/12/05") + }, + { + id: "202", + band: "System of a Down", + starts_at: new Date("2022/12/06") + }, + { + id: "203", + band: "Evanescence", + starts_at: new Date("2022/12/07") + }, +] + +export const tickets: ITicketDB[] = [ + { + id: "301", + show_id: "201", + user_id: "101" + }, + { + id: "302", + show_id: "202", + user_id: "101" + }, + { + id: "303", + show_id: "203", + user_id: "101" + }, + { + id: "304", + show_id: "201", + user_id: "102" + }, + { + id: "305", + show_id: "201", + user_id: "102" + }, + { + id: "306", + show_id: "202", + user_id: "103" + } +] \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/AuthenticationError.ts b/modulo5/projeto-LAMA/src/errors/AuthenticationError.ts new file mode 100644 index 0000000..8ddc147 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/AuthenticationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthenticationError extends BaseError { + constructor( + message: string = "Credenciais inválidas" + ) { + super(401, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/AuthorizationError.ts b/modulo5/projeto-LAMA/src/errors/AuthorizationError.ts new file mode 100644 index 0000000..579ef71 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/AuthorizationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthorizationError extends BaseError { + constructor( + message: string = "Permissão insuficiente" + ) { + super(403, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/BaseError.ts b/modulo5/projeto-LAMA/src/errors/BaseError.ts new file mode 100644 index 0000000..f6324d2 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/BaseError.ts @@ -0,0 +1,8 @@ +export class BaseError extends Error { + constructor( + public statusCode: number, + message: string + ) { + super(message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/ConflictError.ts b/modulo5/projeto-LAMA/src/errors/ConflictError.ts new file mode 100644 index 0000000..5f43622 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/ConflictError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ConflictError extends BaseError { + constructor( + message: string = "Recurso já existe" + ) { + super(409, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/NotFoundError.ts b/modulo5/projeto-LAMA/src/errors/NotFoundError.ts new file mode 100644 index 0000000..9ecac80 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/NotFoundError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class NotFoundError extends BaseError { + constructor( + message: string = "Recurso não encontrado" + ) { + super(404, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/ParamsError.ts b/modulo5/projeto-LAMA/src/errors/ParamsError.ts new file mode 100644 index 0000000..bf551fb --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/ParamsError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ParamsError extends BaseError { + constructor( + message: string = "Parâmetros inválidos ou faltando" + ) { + super(400, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/RequestError.ts b/modulo5/projeto-LAMA/src/errors/RequestError.ts new file mode 100644 index 0000000..2a9ea75 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/RequestError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class RequestError extends BaseError { + constructor( + message: string = "Requisição inválida" + ) { + super(400, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/UnauthorizedError.ts b/modulo5/projeto-LAMA/src/errors/UnauthorizedError.ts new file mode 100644 index 0000000..1ffa64b --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/UnauthorizedError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class UnauthorizedError extends BaseError { + constructor( + message: string = "Credenciais inválidas" + ) { + super(401, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/errors/UnprocessableError.ts b/modulo5/projeto-LAMA/src/errors/UnprocessableError.ts new file mode 100644 index 0000000..3e1dd49 --- /dev/null +++ b/modulo5/projeto-LAMA/src/errors/UnprocessableError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class UnprocessableError extends BaseError { + constructor( + message: string = "Parâmetros válidos, porém com erros de semântica" + ) { + super(422, message) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/index.ts b/modulo5/projeto-LAMA/src/index.ts new file mode 100644 index 0000000..f62052d --- /dev/null +++ b/modulo5/projeto-LAMA/src/index.ts @@ -0,0 +1,21 @@ +import express from 'express' +import cors from 'cors' +import dotenv from "dotenv" + +import { pingRouter } from './router/pingRouter' +import { showRouter } from './router/showRouter' +import { userRouter } from './router/userRouter' + +dotenv.config() + +const app = express() +app.use(express.json()) +app.use(cors()) + +app.listen(process.env.PORT || 3003, () => { + console.log(`Servidor rodando na porta ${process.env.PORT || 3003}`) +}) + +app.use("/ping", pingRouter) +app.use("/users", userRouter) +app.use("/shows", showRouter) \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/models/Show.ts b/modulo5/projeto-LAMA/src/models/Show.ts new file mode 100644 index 0000000..dd505cb --- /dev/null +++ b/modulo5/projeto-LAMA/src/models/Show.ts @@ -0,0 +1,52 @@ +export interface IShowDB { + id: string, + band: string, + starts_at: Date +} + +export interface ITicketDB { + id: string, + show_id: string, + user_id: string +} + +export class Show { + constructor( + private id: string, + private band: string, + private startsAt: Date, + private tickets: number = 5000 + ) {} + + public getId = () => { + return this.id + } + + public getBand = () => { + return this.band + } + + public getStartsAt = () => { + return this.startsAt + } + + public getTickets = () => { + return this.tickets + } + + public setId = (newId: string) => { + this.id = newId + } + + public setBand = (newBand: string) => { + this.band = newBand + } + + public setStartsAt = (newStartsAt: Date) => { + this.startsAt = newStartsAt + } + + public setTickets = (newTickets: number) => { + this.tickets = newTickets + } +} diff --git a/modulo5/projeto-LAMA/src/models/User.ts b/modulo5/projeto-LAMA/src/models/User.ts new file mode 100644 index 0000000..d9cff45 --- /dev/null +++ b/modulo5/projeto-LAMA/src/models/User.ts @@ -0,0 +1,62 @@ +export enum USER_ROLES { + NORMAL = "NORMAL", + ADMIN = "ADMIN" +} + +export interface IUserDB { + id: string, + name: string, + email: string, + password: string, + role: USER_ROLES +} + +export class User { + constructor( + private id: string, + private name: string, + private email: string, + private password: string, + private role: USER_ROLES + ) {} + + public getId = () => { + return this.id + } + + public getName = () => { + return this.name + } + + public getEmail = () => { + return this.email + } + + public getPassword = () => { + return this.password + } + + public getRole = () => { + return this.role + } + + public setId = (newId: string) => { + this.id = newId + } + + public setName = (newName: string) => { + this.name = newName + } + + public setEmail = (newEmail: string) => { + this.email = newEmail + } + + public setPassword = (newPassword: string) => { + this.password = newPassword + } + + public setRole = (newRole: USER_ROLES) => { + this.role = newRole + } +} diff --git a/modulo5/projeto-LAMA/src/router/pingRouter.ts b/modulo5/projeto-LAMA/src/router/pingRouter.ts new file mode 100644 index 0000000..d16081d --- /dev/null +++ b/modulo5/projeto-LAMA/src/router/pingRouter.ts @@ -0,0 +1,11 @@ +import { Router } from 'express' +import { PingBusiness } from '../business/PingBusiness' +import { PingController } from '../controller/PingController' + +export const pingRouter = Router() + +const pingController = new PingController( + new PingBusiness() +) + +pingRouter.get("/", pingController.ping) \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/router/showRouter.ts b/modulo5/projeto-LAMA/src/router/showRouter.ts new file mode 100644 index 0000000..ea48817 --- /dev/null +++ b/modulo5/projeto-LAMA/src/router/showRouter.ts @@ -0,0 +1,18 @@ +import { Router } from 'express' +import { ShowBusiness } from '../business/ShowBusiness' +import { ShowController } from '../controller/ShowController' +import { ShowDatabase } from '../database/ShowDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const showRouter = Router() + +const showController = new ShowController( + new ShowBusiness( + new ShowDatabase(), + new IdGenerator(), + new Authenticator() + ) +) + diff --git a/modulo5/projeto-LAMA/src/router/userRouter.ts b/modulo5/projeto-LAMA/src/router/userRouter.ts new file mode 100644 index 0000000..8475f8d --- /dev/null +++ b/modulo5/projeto-LAMA/src/router/userRouter.ts @@ -0,0 +1,19 @@ +import { Router } from 'express' +import { UserBusiness } from '../business/UserBusiness' +import { UserController } from '../controller/UserController' +import { UserDatabase } from '../database/UserDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const userRouter = Router() + +const userController = new UserController( + new UserBusiness( + new UserDatabase(), + new IdGenerator(), + new HashManager(), + new Authenticator() + ) +) + diff --git a/modulo5/projeto-LAMA/src/services/Authenticator.ts b/modulo5/projeto-LAMA/src/services/Authenticator.ts new file mode 100644 index 0000000..dfa9293 --- /dev/null +++ b/modulo5/projeto-LAMA/src/services/Authenticator.ts @@ -0,0 +1,37 @@ +import jwt from 'jsonwebtoken' +import dotenv from "dotenv" +import { USER_ROLES } from '../models/User' + +dotenv.config() + +export interface ITokenPayload { + id: string, + role: USER_ROLES +} + +export class Authenticator { + generateToken = (payload: ITokenPayload): string => { + const token = jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + + return token + } + + getTokenPayload = (token: string): ITokenPayload | null => { + try { + const payload = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return payload as ITokenPayload + } catch (error) { + return null + } + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/services/HashManager.ts b/modulo5/projeto-LAMA/src/services/HashManager.ts new file mode 100644 index 0000000..5676b5a --- /dev/null +++ b/modulo5/projeto-LAMA/src/services/HashManager.ts @@ -0,0 +1,15 @@ +import bcrypt from 'bcryptjs' + +export class HashManager { + public hash = async (plaintext: string): Promise => { + const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) + const salt = await bcrypt.genSalt(rounds) + const hash = await bcrypt.hash(plaintext, salt) + + return hash + } + + public compare = async (plaintext: string, hash: string): Promise => { + return bcrypt.compare(plaintext, hash) + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/services/IdGenerator.ts b/modulo5/projeto-LAMA/src/services/IdGenerator.ts new file mode 100644 index 0000000..75c9e00 --- /dev/null +++ b/modulo5/projeto-LAMA/src/services/IdGenerator.ts @@ -0,0 +1,7 @@ +import { v4 } from 'uuid' + +export class IdGenerator { + public generate = (): string => { + return v4() + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/PingBusiness/ping.test.ts b/modulo5/projeto-LAMA/tests/PingBusiness/ping.test.ts new file mode 100644 index 0000000..5a52aa9 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/PingBusiness/ping.test.ts @@ -0,0 +1,10 @@ +import { PingBusiness } from "../../src/business/PingBusiness" + +describe("Testing PingBusiness", () => { + const pingBusiness = new PingBusiness() + + test("deve retornar 'Pong!' em caso de sucesso", async () => { + const response = await pingBusiness.ping() + expect(response.message).toBe("Pong!") + }) +}) \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/PingBusinessTests/ping.test.ts b/modulo5/projeto-LAMA/tests/PingBusinessTests/ping.test.ts new file mode 100644 index 0000000..85b7183 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/PingBusinessTests/ping.test.ts @@ -0,0 +1,12 @@ +import { PingBusiness } from "../../src/business/PingBusiness" + +describe("Testing PingBusiness", () => { + const pingBusiness = new PingBusiness( + // não possui dependências + ) + + test("deve retornar 'Pong!' em caso de sucesso", async () => { + const response = await pingBusiness.ping() + expect(response.message).toBe("Pong!") + }) +}) \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/AuthenticatorMock.ts b/modulo5/projeto-LAMA/tests/mocks/AuthenticatorMock.ts new file mode 100644 index 0000000..84498e6 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/AuthenticatorMock.ts @@ -0,0 +1,37 @@ +import { USER_ROLES } from "../../src/models/User" +import { ITokenPayload } from "../../src/services/Authenticator" + +export class AuthenticatorMock { + public generateToken = (payload: ITokenPayload): string => { + switch (payload.role) { + case USER_ROLES.ADMIN: + return "token-mock-admin" + default: + return "token-mock-normal" + } + } + + public getTokenPayload = (token: string): ITokenPayload | null => { + switch (token) { + case "token-mock-admin": + const adminPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.ADMIN + } + + return adminPayload + + case "token-mock-normal": + const normalPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.NORMAL + } + + return normalPayload + + default: + return null + } + } + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/HashManagerMock.ts b/modulo5/projeto-LAMA/tests/mocks/HashManagerMock.ts new file mode 100644 index 0000000..0b4ec43 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/HashManagerMock.ts @@ -0,0 +1,17 @@ +export class HashManagerMock { + public hash = async (plaintext: string): Promise => { + if (plaintext == "bananinha") { + return "hash-bananinha" + } + + return "hash-mock" + } + + public compare = async (plaintext: string, hash: string): Promise => { + if (plaintext == "bananinha" && hash == "hash-bananinha") { + return true + } + + return false + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/IdGeneratorMock.ts b/modulo5/projeto-LAMA/tests/mocks/IdGeneratorMock.ts new file mode 100644 index 0000000..57472b7 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/IdGeneratorMock.ts @@ -0,0 +1,5 @@ +export class IdGeneratorMock { + public generate = (): string => { + return "id-mock" + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/ShowDatabaseMock.ts b/modulo5/projeto-LAMA/tests/mocks/ShowDatabaseMock.ts new file mode 100644 index 0000000..da09710 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/ShowDatabaseMock.ts @@ -0,0 +1,7 @@ +import { BaseDatabase } from "../../src/database/BaseDatabase" + +export class ShowDatabaseMock extends BaseDatabase { + public static TABLE_POSTS = "Labook_Posts" + public static TABLE_LIKES = "Labook_Likes" + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/UserDatabaseMock.ts b/modulo5/projeto-LAMA/tests/mocks/UserDatabaseMock.ts new file mode 100644 index 0000000..461dede --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/UserDatabaseMock.ts @@ -0,0 +1,6 @@ +import { BaseDatabase } from "../../src/database/BaseDatabase" + +export class UserDatabaseMock extends BaseDatabase { + public static TABLE_USERS = "Labook_Users" + +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/services/AuthenticatorMock.ts b/modulo5/projeto-LAMA/tests/mocks/services/AuthenticatorMock.ts new file mode 100644 index 0000000..249b58a --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/services/AuthenticatorMock.ts @@ -0,0 +1,30 @@ +import { USER_ROLES } from "../../../src/models/User" +import { ITokenPayload } from "../../../src/services/Authenticator" + +export class AuthenticatorMock { + generateToken = (payload: ITokenPayload): string => { + switch(payload.id) { + case "101": + return "token-astrodev" + default: + return "token-mock" + } + } + + getTokenPayload = (token: string): ITokenPayload | null => { + switch(token) { + case "token-mock": + return { + id: "id-mock", + role: USER_ROLES.NORMAL + } + case "token-astrodev": + return { + id: "101", + role: USER_ROLES.ADMIN + } + default: + return null + } + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/services/HashManagerMock.ts b/modulo5/projeto-LAMA/tests/mocks/services/HashManagerMock.ts new file mode 100644 index 0000000..6b8b7c2 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/services/HashManagerMock.ts @@ -0,0 +1,19 @@ +export class HashManagerMock { + public hash = async (plaintext: string): Promise => { + switch(plaintext) { + case "bananinha": + return "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC" + default: + return "hash-mock" + } + } + + public compare = async (plaintext: string, hash: string): Promise => { + switch(plaintext) { + case "bananinha": + return hash === "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC" + default: + return false + } + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tests/mocks/services/IdGeneratorMock.ts b/modulo5/projeto-LAMA/tests/mocks/services/IdGeneratorMock.ts new file mode 100644 index 0000000..57472b7 --- /dev/null +++ b/modulo5/projeto-LAMA/tests/mocks/services/IdGeneratorMock.ts @@ -0,0 +1,5 @@ +export class IdGeneratorMock { + public generate = (): string => { + return "id-mock" + } +} \ No newline at end of file diff --git a/modulo5/projeto-LAMA/tsconfig.json b/modulo5/projeto-LAMA/tsconfig.json new file mode 100644 index 0000000..5abb76c --- /dev/null +++ b/modulo5/projeto-LAMA/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./", + "removeComments": true, + "noImplicitAny": true, + "esModuleInterop": true, + "strict": true + }, + "exclude": [ + "./tests/*" + ] +} \ No newline at end of file From 03468bec37e427e230c1fefb9f3c6b0c32f9fef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Thu, 29 Sep 2022 18:21:41 -0300 Subject: [PATCH 05/19] projeto --- .../projeto-LAMA/src/business/UserBusiness.ts | 67 ++++++++++++++++++- .../src/controller/UserController.ts | 18 +++++ 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/modulo5/projeto-LAMA/src/business/UserBusiness.ts b/modulo5/projeto-LAMA/src/business/UserBusiness.ts index ab966b9..1c51200 100644 --- a/modulo5/projeto-LAMA/src/business/UserBusiness.ts +++ b/modulo5/projeto-LAMA/src/business/UserBusiness.ts @@ -1,5 +1,7 @@ import { UserDatabase } from "../database/UserDatabase"; +import { AuthenticationError } from "../errors/AuthenticationError"; import { ConflictError } from "../errors/ConflictError"; +import { NotFoundError } from "../errors/NotFoundError"; import { ParamsError } from "../errors/ParamsError"; import { User, USER_ROLES } from "../models/User"; import { Authenticator, ITokenPayload } from "../services/Authenticator"; @@ -36,7 +38,7 @@ export class UserBusiness { if (password.length < 6) { throw new ParamsError( - "Parâmetro 'password' inválido: mínimo de 3 caracteres" + "Parâmetro 'password' inválido: mínimo de 6 caracteres" ); } @@ -67,5 +69,66 @@ export class UserBusiness { token } return response - }; + } + + public login = async (input:any) =>{ + const { email, password} = input + + if(typeof email !== "string"){ + throw new ParamsError("Parâmetro 'email' inválido") + } + + if(typeof password !== "string"){ + throw new ParamsError("Parâmetro 'password' inválido") + } + + if (email.length < 3) { + throw new ParamsError( + "Parâmetro 'email' inválido: mínimo de 3 caracteres" + ); + } + + if (password.length < 6) { + throw new ParamsError( + "Parâmetro 'password' inválido: mínimo de 6 caracteres" + ); + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido"); + } + const userDB = await this.userDatabase.findByEmail(email); + + if(!userDB){ + throw new NotFoundError("Email não cadastrado") + } + + const user = new User( + userDB.id, + userDB.name, + userDB.email, + userDB.password, + userDB.role + ) + const isPasswordCorrect = await this.hashManager.compare( + password, + user.getPassword() + ) + if(!isPasswordCorrect){ + throw new AuthenticationError("Password incorreto") + } + + const payload:ITokenPayload = { + id:user.getId(), + role: user.getRole() + } + const token = this.authenticator.generateToken(payload) + + const response = { + message: "Login realizado com sucesso", + token + } + return response + + } } diff --git a/modulo5/projeto-LAMA/src/controller/UserController.ts b/modulo5/projeto-LAMA/src/controller/UserController.ts index 594b221..198d917 100644 --- a/modulo5/projeto-LAMA/src/controller/UserController.ts +++ b/modulo5/projeto-LAMA/src/controller/UserController.ts @@ -25,4 +25,22 @@ export class UserController { } } + public login = async(req:Request, res:Response) =>{ + try { + const input = { + email:req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.login(input) + res.status(201).send(response) + + } catch (error:any) { + if(error instanceof BaseError){ + return res.status(error.statusCode).send({message:error.message}) + } + res.status(500).send({message: "Erro inesperado"}) + } + } + } \ No newline at end of file From b9a3280a2e40f7a05582b01f674a7ada69a1904b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Fri, 30 Sep 2022 12:16:42 -0300 Subject: [PATCH 06/19] endpoinst signup, login e createShow funcionando --- modulo5/projeto-LAMA/requests.rest | 31 ++++++++++++++ .../projeto-LAMA/src/business/ShowBusiness.ts | 41 +++++++++++++++++++ .../src/controller/ShowController.ts | 16 ++++++++ .../projeto-LAMA/src/database/ShowDatabase.ts | 9 ++++ modulo5/projeto-LAMA/src/models/Show.ts | 12 ++++-- modulo5/projeto-LAMA/src/router/showRouter.ts | 2 + modulo5/projeto-LAMA/src/router/userRouter.ts | 6 ++- 7 files changed, 113 insertions(+), 4 deletions(-) diff --git a/modulo5/projeto-LAMA/requests.rest b/modulo5/projeto-LAMA/requests.rest index 31bc5d2..6ecc3a2 100644 --- a/modulo5/projeto-LAMA/requests.rest +++ b/modulo5/projeto-LAMA/requests.rest @@ -1,3 +1,34 @@ ### Endpoint de teste GET http://localhost:3003/ping + +### +POST http://localhost:3003/users/signup +Content-Type: application/json + +{ + "name": "aline", + "email": "aline@gmail.com", + "password": "aline89" +} + +### +# @name login +POST http://localhost:3003/users/login +Content-Type: application/json + +{ + "email": "astrodev@gmail.com", + "password": "bananinha" +} + +### +POST http://localhost:3003/shows/create-show +Authorization: {{login.response.body.token}} +Content-Type: application/json + +{ + "band": "Coldplay", + "starts_at": "2022-12-05" +} + diff --git a/modulo5/projeto-LAMA/src/business/ShowBusiness.ts b/modulo5/projeto-LAMA/src/business/ShowBusiness.ts index 804195a..b23524d 100644 --- a/modulo5/projeto-LAMA/src/business/ShowBusiness.ts +++ b/modulo5/projeto-LAMA/src/business/ShowBusiness.ts @@ -1,4 +1,8 @@ import { ShowDatabase } from "../database/ShowDatabase" +import { ParamsError } from "../errors/ParamsError" +import { UnauthorizedError } from "../errors/UnauthorizedError" +import { ICreateShowDTO, Show } from "../models/Show" +import { USER_ROLES } from "../models/User" import { Authenticator } from "../services/Authenticator" import { HashManager } from "../services/HashManager" import { IdGenerator } from "../services/IdGenerator" @@ -9,5 +13,42 @@ export class ShowBusiness { private idGenerator: IdGenerator, private authenticator: Authenticator ) {} + public createShow = async (input:ICreateShowDTO) => { + const {band, token, starts_at} = input + if(!band || !token) { + throw new ParamsError() + + } + if(typeof band !== "string"){ + throw new ParamsError() + } + + if( band.length < 1){ + throw new Error("O campo deve conter pelo menos um caractere") + } + + const payload = this.authenticator.getTokenPayload(token) + + if(!payload){ + throw new ParamsError() + } + + if(payload.role !== USER_ROLES.ADMIN){ + throw new UnauthorizedError() + } + + const id = this.idGenerator.generate() + + const show = new Show(id, band, starts_at) + await this.showDatabase.createShow(show) + const response = { + message: "Show criado com sucesso" + } + return response + } + + + + } \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/controller/ShowController.ts b/modulo5/projeto-LAMA/src/controller/ShowController.ts index 1dc5a45..10d57ac 100644 --- a/modulo5/projeto-LAMA/src/controller/ShowController.ts +++ b/modulo5/projeto-LAMA/src/controller/ShowController.ts @@ -1,9 +1,25 @@ import { Request, Response } from "express"; import { ShowBusiness } from "../business/ShowBusiness"; +import { ICreateShowDTO } from "../models/Show"; export class ShowController { constructor( private showBusiness: ShowBusiness ) {} + +public createShow = async(req:Request, res:Response) =>{ + try { + const input:ICreateShowDTO = { + band:req.body.band, + token: req.headers.authorization as string, + starts_at: req.body.starts_at + } + const response = await this.showBusiness.createShow(input) + res.status(201).send(response) + + } catch (error:any) { + res.status(400).send({message:error.message}) + } +} } \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/database/ShowDatabase.ts b/modulo5/projeto-LAMA/src/database/ShowDatabase.ts index 87cd897..13fe3ad 100644 --- a/modulo5/projeto-LAMA/src/database/ShowDatabase.ts +++ b/modulo5/projeto-LAMA/src/database/ShowDatabase.ts @@ -1,7 +1,16 @@ +import { Show } from "../models/Show" import { BaseDatabase } from "./BaseDatabase" export class ShowDatabase extends BaseDatabase { public static TABLE_SHOWS = "Lama_Shows" public static TABLE_TICKETS = "Lama_Tickets" + createShow = async (show:Show)=>{ + await BaseDatabase.connection(ShowDatabase.TABLE_SHOWS) + .insert({ + id:show.getId(), + band:show.getBand(), + starts_at: show.getStartsAt() + }) + } } \ No newline at end of file diff --git a/modulo5/projeto-LAMA/src/models/Show.ts b/modulo5/projeto-LAMA/src/models/Show.ts index dd505cb..cfaa2c3 100644 --- a/modulo5/projeto-LAMA/src/models/Show.ts +++ b/modulo5/projeto-LAMA/src/models/Show.ts @@ -14,7 +14,7 @@ export class Show { constructor( private id: string, private band: string, - private startsAt: Date, + private starts_at: Date, private tickets: number = 5000 ) {} @@ -27,7 +27,7 @@ export class Show { } public getStartsAt = () => { - return this.startsAt + return this.starts_at } public getTickets = () => { @@ -43,10 +43,16 @@ export class Show { } public setStartsAt = (newStartsAt: Date) => { - this.startsAt = newStartsAt + this.starts_at = newStartsAt } public setTickets = (newTickets: number) => { this.tickets = newTickets } } + +export interface ICreateShowDTO { + token:string, + band:string, + starts_at:Date +} diff --git a/modulo5/projeto-LAMA/src/router/showRouter.ts b/modulo5/projeto-LAMA/src/router/showRouter.ts index ea48817..2d99eae 100644 --- a/modulo5/projeto-LAMA/src/router/showRouter.ts +++ b/modulo5/projeto-LAMA/src/router/showRouter.ts @@ -16,3 +16,5 @@ const showController = new ShowController( ) ) +showRouter.post("/create-show", showController.createShow) + diff --git a/modulo5/projeto-LAMA/src/router/userRouter.ts b/modulo5/projeto-LAMA/src/router/userRouter.ts index 8475f8d..62c9a0b 100644 --- a/modulo5/projeto-LAMA/src/router/userRouter.ts +++ b/modulo5/projeto-LAMA/src/router/userRouter.ts @@ -15,5 +15,9 @@ const userController = new UserController( new HashManager(), new Authenticator() ) -) + + ) + + userRouter.post("/signup", userController.signup) + userRouter.post("/login", userController.login) From ecae0083f4c1b68285d2c3e898dbf8cd4513f57b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Mon, 3 Oct 2022 17:46:17 -0300 Subject: [PATCH 07/19] =?UTF-8?q?in=C3=ADcio=20case=20Ambulnz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo6/case-2-Ambulnz/tables.sql | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 modulo6/case-2-Ambulnz/tables.sql diff --git a/modulo6/case-2-Ambulnz/tables.sql b/modulo6/case-2-Ambulnz/tables.sql new file mode 100644 index 0000000..a33f634 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tables.sql @@ -0,0 +1,47 @@ +-- Active: 1662659335013@@35.226.146.116@3306@freire-aline-chagas +CREATE TABLE IF NOT EXISTS Amb_pizzas( + NAME VARCHAR(255) PRIMARY KEY, + PRICE DECIMAL(3,2) NOT NULL +); +CREATE TABLE IF NOT EXISTS Amb_ingredients( + NAME VARCHAR(255) PRIMARY KEY +); +CREATE TABLE IF NOT EXISTS Amb_pizzas_ingredients( + PIZZA_NAME VARCHAR(255) NOT NULL, + INGREDIENT_NAME VARCHAR(255) NOT NULL, + FOREIGN KEY (PIZZA_NAME) REFERENCES Amb_pizzas(name), + FOREIGN KEY (INGREDIENT_NAME) REFERENCES Amb_ingredients(name) +); + +CREATE TABLE IF NOT EXISTS Amb_order_item( +ID MEDIUMINT AUTO_INCREMENT PRIMARY KEY, +NAME VARCHAR (255) NOT NULL, +QUANTITY TINYINT, +FOREIGN KEY (NAME) REFERENCES Amb_pizzas(name) +); + +CREATE TABLE IF NOT EXISTS Amb_orders( +id VARCHAR(255) NOT NULL +); + +CREATE TABLE IF NOT EXISTS Amb_orders_order_item( + order_id VARCHAR(255) NOT NULL, + item_id VARCHAR(255) NOT NULL, + FOREIGN KEY (order_id) REFERENCES Amb_order_item(name) +); +INSERT INTO `Amb_pizzas_ingredients` VALUES( +"Bufala", +"Mozzarella di bufala" +); + + +SELECT * FROM `Amb_pizzas` +JOIN `Amb_pizzas_ingredients` +ON Amb_pizzas_ingredients.PIZZA_NAME = Amb_pizzas.NAME +WHERE NAME = "Margherita"; + +SELECT * FROM `Amb_orders` +JOIN `Amb_orders_order_item` +ON Amb_orders_order_item +WHERE NAME = "Margherita"; + From b7c1ce40d376195158da4d624c0c26be0ca71fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Tue, 4 Oct 2022 15:16:11 -0300 Subject: [PATCH 08/19] =?UTF-8?q?in=C3=ADcio=20backend=20projeto=20case=20?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo6/case-2-Ambulnz/jest.config.js | 8 + modulo6/case-2-Ambulnz/package-lock.json | 8761 +++++++++++++++++ modulo6/case-2-Ambulnz/package.json | 40 + modulo6/case-2-Ambulnz/requests.rest | 21 + .../src/business/PingBusiness.ts | 9 + .../src/business/UserBusiness.ts | 136 + .../src/controller/PingController.ts | 22 + .../src/controller/UserController.ts | 47 + .../src/database/BaseDatabase.ts | 18 + .../src/database/UserDatabase.ts | 35 + .../src/database/migrations/Migrations.ts | 51 + .../src/database/migrations/data.ts | 25 + .../src/errors/AuthenticationError.ts | 9 + .../src/errors/AuthorizationError.ts | 9 + .../case-2-Ambulnz/src/errors/BaseError.ts | 8 + .../src/errors/ConflictError.ts | 9 + .../src/errors/NotFoundError.ts | 9 + .../case-2-Ambulnz/src/errors/ParamsError.ts | 9 + .../src/errors/UnprocessableError.ts | 9 + modulo6/case-2-Ambulnz/src/index.ts | 19 + modulo6/case-2-Ambulnz/src/models/User.ts | 83 + .../case-2-Ambulnz/src/router/pingRouter.ts | 11 + .../case-2-Ambulnz/src/router/userRouter.ts | 21 + .../src/services/Authenticator.ts | 37 + .../src/services/HashManager.ts | 15 + .../src/services/IdGenerator.ts | 7 + .../tests/UserBusinessTests/login.test.ts | 66 + .../tests/UserBusinessTests/signup.test.ts | 27 + .../tests/mocks/AuthenticatorMock.ts | 37 + .../tests/mocks/HashManagerMock.ts | 17 + .../tests/mocks/IdGeneratorMock.ts | 5 + .../tests/mocks/UserDatabaseMock.ts | 49 + modulo6/case-2-Ambulnz/tsconfig.json | 16 + 33 files changed, 9645 insertions(+) create mode 100644 modulo6/case-2-Ambulnz/jest.config.js create mode 100644 modulo6/case-2-Ambulnz/package-lock.json create mode 100644 modulo6/case-2-Ambulnz/package.json create mode 100644 modulo6/case-2-Ambulnz/requests.rest create mode 100644 modulo6/case-2-Ambulnz/src/business/PingBusiness.ts create mode 100644 modulo6/case-2-Ambulnz/src/business/UserBusiness.ts create mode 100644 modulo6/case-2-Ambulnz/src/controller/PingController.ts create mode 100644 modulo6/case-2-Ambulnz/src/controller/UserController.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/UserDatabase.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/migrations/data.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/BaseError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/ConflictError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/ParamsError.ts create mode 100644 modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts create mode 100644 modulo6/case-2-Ambulnz/src/index.ts create mode 100644 modulo6/case-2-Ambulnz/src/models/User.ts create mode 100644 modulo6/case-2-Ambulnz/src/router/pingRouter.ts create mode 100644 modulo6/case-2-Ambulnz/src/router/userRouter.ts create mode 100644 modulo6/case-2-Ambulnz/src/services/Authenticator.ts create mode 100644 modulo6/case-2-Ambulnz/src/services/HashManager.ts create mode 100644 modulo6/case-2-Ambulnz/src/services/IdGenerator.ts create mode 100644 modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts create mode 100644 modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts create mode 100644 modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts create mode 100644 modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts create mode 100644 modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts create mode 100644 modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts create mode 100644 modulo6/case-2-Ambulnz/tsconfig.json diff --git a/modulo6/case-2-Ambulnz/jest.config.js b/modulo6/case-2-Ambulnz/jest.config.js new file mode 100644 index 0000000..cee01ad --- /dev/null +++ b/modulo6/case-2-Ambulnz/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/package-lock.json b/modulo6/case-2-Ambulnz/package-lock.json new file mode 100644 index 0000000..cb52959 --- /dev/null +++ b/modulo6/case-2-Ambulnz/package-lock.json @@ -0,0 +1,8761 @@ +{ + "name": "template-backend", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "template-backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.2", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.3.0", + "mysql": "^2.18.1", + "uuid": "^9.0.0" + }, + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.14", + "@types/jest": "^29.0.3", + "@types/jsonwebtoken": "^8.5.9", + "@types/knex": "^0.16.1", + "@types/node": "^18.7.23", + "@types/uuid": "^8.3.4", + "jest": "^29.1.1", + "ts-jest": "^29.0.2", + "ts-node-dev": "^2.0.0", + "typescript": "^4.8.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/core/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/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "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/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "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.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "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-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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/@babel/traverse/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/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "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/@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/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": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@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": "^29.0.0", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-mock": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", + "dev": true, + "dependencies": { + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@jridgewell/trace-mapping": "^0.3.15", + "@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": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", + "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": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.1.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.1.2", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "@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": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "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.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "deprecated": "This is a stub types definition. knex provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "knex": "*" + } + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.2.tgz", + "integrity": "sha512-cRMwIgdDN43GO4xMWAfJAecYn8wV4JbsOGHNfNUIDiuYkUYAR5ec4Rj7IO2SAhFPEfpPtLtUTbbny/TCT7aDwA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "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.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "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": "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/babel-jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.1.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "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": "^14.15.0 || ^16.10.0 || >=18.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": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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==", + "dev": true + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "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.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "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-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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/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.30001415", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001415.tgz", + "integrity": "sha512-ER+PfgCJUe8BqunLGWd/1EY4g8AzQcsDAVzdtMGKVtQEmKAwaFfU6vb7EAVIqTMYsqxBorYZi2+22Iouj/y7GQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "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/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/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "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/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.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "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==", + "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.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "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/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==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "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==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.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==", + "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==", + "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", + "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": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.271", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", + "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", + "dev": true + }, + "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/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "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": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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/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/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/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==", + "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/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/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "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/getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "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": "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/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/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "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": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "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-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.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "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==", + "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-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/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "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/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "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-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-lib-source-maps/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/istanbul-lib-source-maps/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/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", + "import-local": "^3.0.2", + "jest-cli": "^29.1.2" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "@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": "^29.0.0", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.1.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-util": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", + "dev": true, + "dependencies": { + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.1.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.1.2", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.1.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "leven": "^3.1.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.1.2", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.1.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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": "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/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-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/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/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==" + }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "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/knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "dependencies": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "bin": { + "knex": "bin/cli.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependenciesMeta": { + "better-sqlite3": { + "optional": true + }, + "mysql": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-native": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/knex/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/knex/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/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/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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "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/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==", + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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==", + "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==", + "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==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "dependencies": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mysql/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/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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "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.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "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-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "ee-first": "1.1.1" + }, + "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/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": "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/p-locate/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/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/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/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "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==" + }, + "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==" + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "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/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pretty-format": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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/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==" + }, + "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/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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "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/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/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/readable-stream/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/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.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.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-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.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "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/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "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==", + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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/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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/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/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==", + "dev": true, + "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==", + "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-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/tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "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/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/tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.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": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "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/ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "bin": { + "ts-node-dev": "lib/bin.js", + "tsnd": "lib/bin.js" + }, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "node-notifier": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tsconfig/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/tsconfig/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.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.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/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.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==" + }, + "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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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/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==", + "dev": true + }, + "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/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "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.0.0" + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "dev": true + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dev": true, + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "dev": true + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@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 + }, + "@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, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@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, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@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, + "requires": { + "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" + } + }, + "@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 + }, + "@jest/console": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", + "dev": true, + "requires": { + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@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": "^29.0.0", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-mock": "^29.1.2" + } + }, + "@jest/expect": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", + "dev": true, + "requires": { + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" + } + }, + "@jest/expect-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "dev": true, + "requires": { + "jest-get-type": "^29.0.0" + } + }, + "@jest/fake-timers": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" + } + }, + "@jest/globals": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", + "dev": true, + "requires": { + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" + } + }, + "@jest/reporters": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@jridgewell/trace-mapping": "^0.3.15", + "@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": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", + "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" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", + "dev": true, + "requires": { + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", + "dev": true, + "requires": { + "@jest/test-result": "^29.1.2", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.1.2", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + } + }, + "@jest/types": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@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, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@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 + }, + "@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 + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/bcryptjs": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz", + "integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", + "dev": true, + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/jsonwebtoken": { + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz", + "integrity": "sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/knex": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/knex/-/knex-0.16.1.tgz", + "integrity": "sha512-54gWD1HWwdVx5iLHaJ1qxH3I6KyBsj5fFqzRpXFn7REWiEB2jwspeVCombNsocSrqPd7IRPqKrsIME7/cD+TFQ==", + "dev": true, + "requires": { + "knex": "*" + } + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/node": { + "version": "18.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.2.tgz", + "integrity": "sha512-cRMwIgdDN43GO4xMWAfJAecYn8wV4JbsOGHNfNUIDiuYkUYAR5ec4Rj7IO2SAhFPEfpPtLtUTbbny/TCT7aDwA==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "babel-jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", + "dev": true, + "requires": { + "@jest/transform": "^29.1.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "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, + "requires": { + "@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" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "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, + "requires": { + "@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" + } + }, + "babel-preset-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "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 + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "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, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "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, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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 + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001415", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001415.tgz", + "integrity": "sha512-ER+PfgCJUe8BqunLGWd/1EY4g8AzQcsDAVzdtMGKVtQEmKAwaFfU6vb7EAVIqTMYsqxBorYZi2+22Iouj/y7GQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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 + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "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, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "commander": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "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 + } + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "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==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "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 + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "diff-sequences": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "dev": true + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, + "dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "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==" + }, + "electron-to-chromium": { + "version": "1.4.271", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.271.tgz", + "integrity": "sha512-BCPBtK07xR1/uY2HFDtl3wK2De66AW4MSiPlLrnPNxKC/Qhccxd59W73654S3y6Rb/k3hmuGJOBnhjfoutetXA==", + "dev": true + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true + }, + "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 + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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==" + }, + "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 + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" + }, + "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 + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expect": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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" + } + }, + "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 + }, + "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, + "requires": { + "bser": "2.1.1" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "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" + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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 + }, + "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 + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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==" + }, + "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 + }, + "getopts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/getopts/-/getopts-2.3.0.tgz", + "integrity": "sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-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, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "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 + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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 + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" + }, + "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==" + }, + "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 + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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 + }, + "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 + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "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 + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@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" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", + "dev": true, + "requires": { + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", + "import-local": "^3.0.2", + "jest-cli": "^29.1.2" + } + }, + "jest-changed-files": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", + "dev": true, + "requires": { + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", + "dev": true, + "requires": { + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-diff": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + } + }, + "jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" + } + }, + "jest-environment-node": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", + "dev": true, + "requires": { + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" + } + }, + "jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "dev": true + }, + "jest-haste-map": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", + "dev": true, + "requires": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + } + }, + "jest-matcher-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + } + }, + "jest-message-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.1.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-util": "^29.1.2" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "dev": true + }, + "jest-resolve": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", + "dev": true, + "requires": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.2" + } + }, + "jest-runner": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", + "dev": true, + "requires": { + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", + "dev": true, + "requires": { + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.1.2", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "natural-compare": "^1.4.0", + "pretty-format": "^29.1.2", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "jest-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", + "dev": true, + "requires": { + "@jest/types": "^29.1.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "leven": "^3.1.0", + "pretty-format": "^29.1.2" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", + "dev": true, + "requires": { + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.1.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.1.2", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "knex": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/knex/-/knex-2.3.0.tgz", + "integrity": "sha512-WMizPaq9wRMkfnwKXKXgBZeZFOSHGdtoSz5SaLAVNs3WRDfawt9O89T4XyH52PETxjV8/kRk0Yf+8WBEP/zbYw==", + "requires": { + "colorette": "2.0.19", + "commander": "^9.1.0", + "debug": "4.3.4", + "escalade": "^3.1.1", + "esm": "^3.2.25", + "get-package-type": "^0.1.0", + "getopts": "2.3.0", + "interpret": "^2.2.0", + "lodash": "^4.17.21", + "pg-connection-string": "2.5.0", + "rechoir": "^0.8.0", + "resolve-from": "^5.0.0", + "tarn": "^3.0.2", + "tildify": "2.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "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 + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "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==" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "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 + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "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 + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "mysql": { + "version": "2.18.1", + "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", + "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", + "requires": { + "bignumber.js": "9.0.0", + "readable-stream": "2.3.7", + "safe-buffer": "5.1.2", + "sqlstring": "2.3.1" + }, + "dependencies": { + "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==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "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-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "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==", + "requires": { + "ee-first": "1.1.1" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "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, + "requires": { + "@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" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "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 + }, + "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 + }, + "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 + }, + "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==" + }, + "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==" + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "pretty-format": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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 + } + } + }, + "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==" + }, + "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, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "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==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "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 + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + }, + "dependencies": { + "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==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "requires": { + "resolve": "^1.20.0" + } + }, + "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 + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "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" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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 + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sqlstring": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", + "integrity": "sha512-ooAzh/7dxIG5+uDik1z/Rd1vli0+38izZhGzSa34FwR7IbelPWCCKSNIl8jlL/F7ERvy8CB2jNeM1E9i9mXMAQ==" + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "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==" + } + } + }, + "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, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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==" + }, + "tarn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tarn/-/tarn-3.0.2.tgz", + "integrity": "sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ==" + }, + "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, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@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" + } + }, + "ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "requires": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + }, + "dependencies": { + "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 + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true + } + } + }, + "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 + }, + "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 + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "update-browserslist-db": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "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==" + }, + "uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" + }, + "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 + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "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 + }, + "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, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", + "dev": true, + "requires": { + "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.0.0" + } + }, + "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 + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "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 + } + } +} diff --git a/modulo6/case-2-Ambulnz/package.json b/modulo6/case-2-Ambulnz/package.json new file mode 100644 index 0000000..478c292 --- /dev/null +++ b/modulo6/case-2-Ambulnz/package.json @@ -0,0 +1,40 @@ +{ + "name": "template-backend", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node ./build/src/index.js", + "build": "tsc", + "dev": "ts-node-dev ./src/index.ts", + "migrations": "tsc && node ./build/src/database/migrations/Migrations.js", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.14", + "@types/jest": "^29.0.3", + "@types/jsonwebtoken": "^8.5.9", + "@types/knex": "^0.16.1", + "@types/node": "^18.7.23", + "@types/uuid": "^8.3.4", + "jest": "^29.1.1", + "ts-jest": "^29.0.2", + "ts-node-dev": "^2.0.0", + "typescript": "^4.8.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.2", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.3.0", + "mysql": "^2.18.1", + "uuid": "^9.0.0" + } +} diff --git a/modulo6/case-2-Ambulnz/requests.rest b/modulo6/case-2-Ambulnz/requests.rest new file mode 100644 index 0000000..b04c478 --- /dev/null +++ b/modulo6/case-2-Ambulnz/requests.rest @@ -0,0 +1,21 @@ +### Ping +GET http://localhost:3003/ping + +### Signup +POST http://localhost:3003/users/signup +Content-Type: application/json + +{ + "name": "alice", + "email": "alice@gmail.com", + "password": "alice99" +} + +### Login +POST http://localhost:3003/users/login +Content-Type: application/json + +{ + "email": "astrodev@gmail.com", + "password": "bananinha" +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/PingBusiness.ts b/modulo6/case-2-Ambulnz/src/business/PingBusiness.ts new file mode 100644 index 0000000..9c624ae --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/business/PingBusiness.ts @@ -0,0 +1,9 @@ +export class PingBusiness { + public ping = async () => { + const response = { + message: "Pong!" + } + + return response + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts b/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts new file mode 100644 index 0000000..ab99554 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts @@ -0,0 +1,136 @@ +import { UserDatabase } from "../database/UserDatabase" +import { NotFoundError } from "../errors/NotFoundError" +import { ConflictError} from "../errors/ConflictError" +import { ParamsError} from "../errors/ParamsError" +import { ILoginInputDTO, ILoginOutputDTO, ISignupInputDTO, ISignupOutputDTO, User, USER_ROLES } from "../models/User" +import { Authenticator, ITokenPayload } from "../services/Authenticator" +import { HashManager } from "../services/HashManager" +import { IdGenerator } from "../services/IdGenerator" +import { AuthenticationError } from "../errors/AuthenticationError" + +export class UserBusiness { + constructor( + private userDatabase: UserDatabase, + private idGenerator: IdGenerator, + private hashManager: HashManager, + private authenticator: Authenticator + ) {} + + public signup = async (input: ISignupInputDTO): Promise => { + const { name, email, password } = input + + if (typeof name !== "string") { + throw new ParamsError("Parâmetro 'name' inválido: deve ser uma string") + } + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido: deve ser uma string") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido: deve ser uma string") + } + + if (name.length < 3) { + throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) + + if (isEmailAlreadyExists) { + throw new ConflictError("Email já cadastrado") + } + + const id = this.idGenerator.generate() + const hashedPassword = await this.hashManager.hash(password) + + const user = new User( + id, + name, + email, + hashedPassword, + USER_ROLES.NORMAL + ) + + await this.userDatabase.createUser(user) + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ISignupOutputDTO = { + message: "Cadastro realizado com sucesso", + token + } + + return response + } + + public login = async (input: ILoginInputDTO): Promise => { + const { email, password } = input + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const userDB = await this.userDatabase.findByEmail(email) + + if (!userDB) { + throw new NotFoundError("Email não cadastrado") + } + + const user = new User( + userDB.id, + userDB.name, + userDB.email, + userDB.password, + userDB.role + ) + + const isPasswordCorrect = await this.hashManager.compare( + password, + user.getPassword() + ) + + if (!isPasswordCorrect) { + throw new AuthenticationError("Password incorreto") + } + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ILoginOutputDTO = { + message: "Login realizado com sucesso", + token + } + + return response + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/PingController.ts b/modulo6/case-2-Ambulnz/src/controller/PingController.ts new file mode 100644 index 0000000..c80eec2 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/controller/PingController.ts @@ -0,0 +1,22 @@ +import { Request, Response } from "express" +import { PingBusiness } from "../business/PingBusiness" +import { BaseError } from "../errors/BaseError" + +export class PingController { + constructor( + private pingBusiness: PingBusiness + ) {} + + public ping = async (req: Request, res: Response) => { + try { + const response = await this.pingBusiness.ping() + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado no endpoint ping" }) + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/UserController.ts b/modulo6/case-2-Ambulnz/src/controller/UserController.ts new file mode 100644 index 0000000..0e2c774 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/controller/UserController.ts @@ -0,0 +1,47 @@ +import { Request, Response } from "express"; +import { UserBusiness } from "../business/UserBusiness"; +import { BaseError } from "../errors/BaseError"; +import { ILoginInputDTO, ISignupInputDTO } from "../models/User"; + +export class UserController { + constructor( + private userBusiness: UserBusiness + ) {} + + public signup = async (req: Request, res: Response) => { + try { + const input: ISignupInputDTO = { + name: req.body.name, + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.signup(input) + res.status(201).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + } + } + + public login = async (req: Request, res: Response) => { + try { + const input: ILoginInputDTO = { + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.login(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts b/modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts new file mode 100644 index 0000000..2b66ee8 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts @@ -0,0 +1,18 @@ +import knex from "knex" +import dotenv from "dotenv" + +dotenv.config() + +export abstract class BaseDatabase { + protected static connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_DATABASE, + multipleStatements: true + }, + }) +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts b/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts new file mode 100644 index 0000000..7d42a6c --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts @@ -0,0 +1,35 @@ +import { IUserDB, User } from "../models/User" +import { BaseDatabase } from "./BaseDatabase" + +export class UserDatabase extends BaseDatabase { + public static TABLE_USERS = "Template_Users" + + public toUserDBModel = (user: User): IUserDB => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + const result: IUserDB[] = await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .select() + .where({ email }) + + return result[0] + } + + public createUser = async (user: User): Promise => { + const userDB = this.toUserDBModel(user) + + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(userDB) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts new file mode 100644 index 0000000..f0c6b9d --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts @@ -0,0 +1,51 @@ +import { BaseDatabase } from "../BaseDatabase" +import { UserDatabase } from "../UserDatabase" +import { users } from "./data" + +class Migrations extends BaseDatabase { + execute = async () => { + try { + console.log("Creating tables...") + await this.createTables() + console.log("Tables created successfully.") + + console.log("Populating tables...") + await this.insertData() + console.log("Tables populated successfully.") + + console.log("Migrations completed.") + } catch (error) { + console.log("FAILED! Error in migrations...") + if (error instanceof Error) { + console.log(error.message) + } + } finally { + console.log("Ending connection...") + BaseDatabase.connection.destroy() + console.log("Connection closed graciously.") + } + } + + createTables = async () => { + await BaseDatabase.connection.raw(` + DROP TABLE IF EXISTS ${UserDatabase.TABLE_USERS}; + + CREATE TABLE IF NOT EXISTS ${UserDatabase.TABLE_USERS}( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM("NORMAL", "ADMIN") DEFAULT "NORMAL" NOT NULL + ); + `) + } + + insertData = async () => { + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(users) + } +} + +const migrations = new Migrations() +migrations.execute() \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts new file mode 100644 index 0000000..43665d7 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts @@ -0,0 +1,25 @@ +import { IUserDB, USER_ROLES } from "../../models/User" + +export const users: IUserDB[] = [ + { + id: "101", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC", // bananinha + role: USER_ROLES.ADMIN + }, + { + id: "102", + name: "Fulano", + email: "fulano@gmail.com", + password: "$2a$12$PULtVNlAll87D6E8pR/0HO9vbzVDPaUMA89rc5cNmYoAAepbwmkcO", // qwerty00 + role: USER_ROLES.NORMAL + }, + { + id: "103", + name: "Ciclana", + email: "ciclana@gmail.com", + password: "$2a$12$LkWMqS3oPhP2iVMcZOVvWer9ahUPulxjB0EA4TWPxWaRuEEfYGu/i", // asdfg123 + role: USER_ROLES.NORMAL + } +] \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts b/modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts new file mode 100644 index 0000000..8ddc147 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthenticationError extends BaseError { + constructor( + message: string = "Credenciais inválidas" + ) { + super(401, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts b/modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts new file mode 100644 index 0000000..579ef71 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthorizationError extends BaseError { + constructor( + message: string = "Permissão insuficiente" + ) { + super(403, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/BaseError.ts b/modulo6/case-2-Ambulnz/src/errors/BaseError.ts new file mode 100644 index 0000000..f6324d2 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/BaseError.ts @@ -0,0 +1,8 @@ +export class BaseError extends Error { + constructor( + public statusCode: number, + message: string + ) { + super(message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/ConflictError.ts b/modulo6/case-2-Ambulnz/src/errors/ConflictError.ts new file mode 100644 index 0000000..5f43622 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/ConflictError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ConflictError extends BaseError { + constructor( + message: string = "Recurso já existe" + ) { + super(409, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts b/modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts new file mode 100644 index 0000000..9ecac80 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class NotFoundError extends BaseError { + constructor( + message: string = "Recurso não encontrado" + ) { + super(404, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/ParamsError.ts b/modulo6/case-2-Ambulnz/src/errors/ParamsError.ts new file mode 100644 index 0000000..bf551fb --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/ParamsError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ParamsError extends BaseError { + constructor( + message: string = "Parâmetros inválidos ou faltando" + ) { + super(400, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts b/modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts new file mode 100644 index 0000000..3e1dd49 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class UnprocessableError extends BaseError { + constructor( + message: string = "Parâmetros válidos, porém com erros de semântica" + ) { + super(422, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/index.ts b/modulo6/case-2-Ambulnz/src/index.ts new file mode 100644 index 0000000..ea8f538 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/index.ts @@ -0,0 +1,19 @@ +import express from 'express' +import cors from 'cors' +import dotenv from "dotenv" + +import { pingRouter } from './router/pingRouter' +import { userRouter } from './router/userRouter' + +dotenv.config() + +const app = express() +app.use(express.json()) +app.use(cors()) + +app.listen(process.env.PORT || 3003, () => { + console.log(`Servidor rodando na porta ${process.env.PORT || 3003}`) +}) + +app.use("/ping", pingRouter) +app.use("/users", userRouter) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/models/User.ts b/modulo6/case-2-Ambulnz/src/models/User.ts new file mode 100644 index 0000000..93d84c3 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/models/User.ts @@ -0,0 +1,83 @@ +export enum USER_ROLES { + NORMAL = "NORMAL", + ADMIN = "ADMIN" +} + +export interface IUserDB { + id: string, + name: string, + email: string, + password: string, + role: USER_ROLES +} + +export class User { + constructor( + private id: string, + private name: string, + private email: string, + private password: string, + private role: USER_ROLES + ) {} + + public getId = () => { + return this.id + } + + public getName = () => { + return this.name + } + + public getEmail = () => { + return this.email + } + + public getPassword = () => { + return this.password + } + + public getRole = () => { + return this.role + } + + public setId = (newId: string) => { + this.id = newId + } + + public setName = (newName: string) => { + this.name = newName + } + + public setEmail = (newEmail: string) => { + this.email = newEmail + } + + public setPassword = (newPassword: string) => { + this.password = newPassword + } + + public setRole = (newRole: USER_ROLES) => { + this.role = newRole + } +} + +export interface ISignupInputDTO { + name: string, + email: string, + password: string +} + +export interface ISignupOutputDTO { + message: string, + token: string +} + +export interface ILoginInputDTO { + email: string, + password: string +} + +export interface ILoginOutputDTO { + message: string, + token: string +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/router/pingRouter.ts b/modulo6/case-2-Ambulnz/src/router/pingRouter.ts new file mode 100644 index 0000000..d16081d --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/router/pingRouter.ts @@ -0,0 +1,11 @@ +import { Router } from 'express' +import { PingBusiness } from '../business/PingBusiness' +import { PingController } from '../controller/PingController' + +export const pingRouter = Router() + +const pingController = new PingController( + new PingBusiness() +) + +pingRouter.get("/", pingController.ping) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/router/userRouter.ts b/modulo6/case-2-Ambulnz/src/router/userRouter.ts new file mode 100644 index 0000000..6de7d6c --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/router/userRouter.ts @@ -0,0 +1,21 @@ +import { Router } from 'express' +import { UserBusiness } from '../business/UserBusiness' +import { UserController } from '../controller/UserController' +import { UserDatabase } from '../database/UserDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const userRouter = Router() + +const userController = new UserController( + new UserBusiness( + new UserDatabase(), + new IdGenerator(), + new HashManager(), + new Authenticator() + ) +) + +userRouter.post("/signup", userController.signup) +userRouter.post("/login", userController.login) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/Authenticator.ts b/modulo6/case-2-Ambulnz/src/services/Authenticator.ts new file mode 100644 index 0000000..dfa9293 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/services/Authenticator.ts @@ -0,0 +1,37 @@ +import jwt from 'jsonwebtoken' +import dotenv from "dotenv" +import { USER_ROLES } from '../models/User' + +dotenv.config() + +export interface ITokenPayload { + id: string, + role: USER_ROLES +} + +export class Authenticator { + generateToken = (payload: ITokenPayload): string => { + const token = jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + + return token + } + + getTokenPayload = (token: string): ITokenPayload | null => { + try { + const payload = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return payload as ITokenPayload + } catch (error) { + return null + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/HashManager.ts b/modulo6/case-2-Ambulnz/src/services/HashManager.ts new file mode 100644 index 0000000..5676b5a --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/services/HashManager.ts @@ -0,0 +1,15 @@ +import bcrypt from 'bcryptjs' + +export class HashManager { + public hash = async (plaintext: string): Promise => { + const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) + const salt = await bcrypt.genSalt(rounds) + const hash = await bcrypt.hash(plaintext, salt) + + return hash + } + + public compare = async (plaintext: string, hash: string): Promise => { + return bcrypt.compare(plaintext, hash) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/IdGenerator.ts b/modulo6/case-2-Ambulnz/src/services/IdGenerator.ts new file mode 100644 index 0000000..75c9e00 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/services/IdGenerator.ts @@ -0,0 +1,7 @@ +import { v4 } from 'uuid' + +export class IdGenerator { + public generate = (): string => { + return v4() + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts b/modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts new file mode 100644 index 0000000..37f645d --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts @@ -0,0 +1,66 @@ +import { UserBusiness } from "../../src/business/UserBusiness" +import { BaseError } from "../../src/errors/BaseError" +import { ILoginInputDTO, ISignupInputDTO } from "../../src/models/User" +import { AuthenticatorMock } from ".././mocks/AuthenticatorMock" +import { HashManagerMock } from ".././mocks/HashManagerMock" +import { IdGeneratorMock } from ".././mocks/IdGeneratorMock" +import { UserDatabaseMock } from ".././mocks/UserDatabaseMock" + +describe("Testando o método login da UserBusiness", () => { + const userBusiness = new UserBusiness( + new UserDatabaseMock(), + new IdGeneratorMock(), + new HashManagerMock(), + new AuthenticatorMock() + ) + + test("Um token é retornado quando o login é bem-sucedido", async () => { + const input: ILoginInputDTO = { + email: "astrodev@gmail.com", + password: "bananinha" + } + + const response = await userBusiness.login(input) + expect(response.message).toBe("Login realizado com sucesso") + expect(response.token).toBe("token-mock-admin") + }) + + test("Erro quando 'password' possuir menos de 6 caracteres", async () => { + expect.assertions(2) + + try { + const input: ISignupInputDTO = { + email: "fulano@gmail.com", + name: "Fulano", + password: "123" + } + + await userBusiness.signup(input) + + } catch (error) { + if (error instanceof BaseError) { + expect(error.statusCode).toBe(400) + expect(error.message).toBe("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + } + }) + + test("Erro quando 'password' for incorreto", async () => { + expect.assertions(2) + + try { + const input: ILoginInputDTO = { + email: "astrodev@gmail.com", + password: "bananinha123" + } + + await userBusiness.login(input) + + } catch (error) { + if (error instanceof BaseError) { + expect(error.statusCode).toBe(401) + expect(error.message).toBe("Password incorreto") + } + } + }) +}) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts b/modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts new file mode 100644 index 0000000..4a8f918 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts @@ -0,0 +1,27 @@ +import { UserBusiness } from "../../src/business/UserBusiness" +import { ISignupInputDTO } from "../../src/models/User" +import { AuthenticatorMock } from ".././mocks/AuthenticatorMock" +import { HashManagerMock } from ".././mocks/HashManagerMock" +import { IdGeneratorMock } from ".././mocks/IdGeneratorMock" +import { UserDatabaseMock } from ".././mocks/UserDatabaseMock" + +describe("Testando o método signup da UserBusiness", () => { + const userBusiness = new UserBusiness( + new UserDatabaseMock(), + new IdGeneratorMock(), + new HashManagerMock(), + new AuthenticatorMock() + ) + + test("Um token é retornado quando o cadastro é bem-sucedido", async () => { + const input: ISignupInputDTO = { + email: "teste@gmail.com", + name: "Teste", + password: "teste123" + } + + const response = await userBusiness.signup(input) + expect(response.message).toBe("Cadastro realizado com sucesso") + expect(response.token).toBe("token-mock-normal") + }) +}) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts new file mode 100644 index 0000000..84498e6 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts @@ -0,0 +1,37 @@ +import { USER_ROLES } from "../../src/models/User" +import { ITokenPayload } from "../../src/services/Authenticator" + +export class AuthenticatorMock { + public generateToken = (payload: ITokenPayload): string => { + switch (payload.role) { + case USER_ROLES.ADMIN: + return "token-mock-admin" + default: + return "token-mock-normal" + } + } + + public getTokenPayload = (token: string): ITokenPayload | null => { + switch (token) { + case "token-mock-admin": + const adminPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.ADMIN + } + + return adminPayload + + case "token-mock-normal": + const normalPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.NORMAL + } + + return normalPayload + + default: + return null + } + } + +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts new file mode 100644 index 0000000..0b4ec43 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts @@ -0,0 +1,17 @@ +export class HashManagerMock { + public hash = async (plaintext: string): Promise => { + if (plaintext == "bananinha") { + return "hash-bananinha" + } + + return "hash-mock" + } + + public compare = async (plaintext: string, hash: string): Promise => { + if (plaintext == "bananinha" && hash == "hash-bananinha") { + return true + } + + return false + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts new file mode 100644 index 0000000..57472b7 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts @@ -0,0 +1,5 @@ +export class IdGeneratorMock { + public generate = (): string => { + return "id-mock" + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts new file mode 100644 index 0000000..b563546 --- /dev/null +++ b/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts @@ -0,0 +1,49 @@ +import { IUserDB, User, USER_ROLES } from "../../src/models/User" +import { BaseDatabase } from "../../src/database/BaseDatabase" + +export class UserDatabaseMock extends BaseDatabase { + public static TABLE_USERS = "Labook_Users" + + public toUserDBModel = (user: User) => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + switch (email) { + case "usermock@gmail.com": + const normalUser: IUserDB = { + id: "id-mock", + name: "User Mock", + email: "usermock@gmail.com", + password: "hash-mock", + role: USER_ROLES.NORMAL + } + + return normalUser + + case "astrodev@gmail.com": + const adminUser: IUserDB = { + id: "id-mock", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "hash-bananinha", + role: USER_ROLES.ADMIN + } + + return adminUser + + default: + return undefined + } + } + + public createUser = async (user: User): Promise => {} +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tsconfig.json b/modulo6/case-2-Ambulnz/tsconfig.json new file mode 100644 index 0000000..5abb76c --- /dev/null +++ b/modulo6/case-2-Ambulnz/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./", + "removeComments": true, + "noImplicitAny": true, + "esModuleInterop": true, + "strict": true + }, + "exclude": [ + "./tests/*" + ] +} \ No newline at end of file From 90239af00b29cc0af4dcc1bad40112ea5fe4c511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Tue, 4 Oct 2022 21:11:51 -0300 Subject: [PATCH 09/19] =?UTF-8?q?reparos=20no=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo6/case-2-Ambulnz/.gitignore | 3 + modulo6/case-2-Ambulnz/requests.rest | 22 +-- .../src/business/PizzaBusiness.ts | 163 ++++++++++++++++++ .../src/business/UserBusiness.ts | 136 --------------- .../src/controller/PizzaController.ts | 42 +++++ .../src/controller/UserController.ts | 47 ----- .../src/database/OrderDatabase.ts | 30 ++++ .../src/database/PizzaDatabase.ts | 37 ++++ .../src/database/UserDatabase.ts | 35 ---- .../src/database/migrations/Migrations.ts | 38 +++- modulo6/case-2-Ambulnz/src/index.ts | 6 +- modulo6/case-2-Ambulnz/src/models/Orders.ts | 47 +++++ modulo6/case-2-Ambulnz/src/models/Pizza.ts | 61 +++++++ modulo6/case-2-Ambulnz/src/models/User.ts | 83 --------- .../case-2-Ambulnz/src/router/pizzaRouter.ts | 17 ++ .../case-2-Ambulnz/src/router/userRouter.ts | 21 --- .../src/services/Authenticator.ts | 37 ---- .../src/services/HashManager.ts | 15 -- modulo6/case-2-Ambulnz/tables.sql | 152 ++++++++++++---- .../tests/mocks/AuthenticatorMock.ts | 60 +++---- .../tests/mocks/HashManagerMock.ts | 28 +-- .../tests/mocks/UserDatabaseMock.ts | 94 +++++----- 22 files changed, 649 insertions(+), 525 deletions(-) create mode 100644 modulo6/case-2-Ambulnz/.gitignore create mode 100644 modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts delete mode 100644 modulo6/case-2-Ambulnz/src/business/UserBusiness.ts create mode 100644 modulo6/case-2-Ambulnz/src/controller/PizzaController.ts delete mode 100644 modulo6/case-2-Ambulnz/src/controller/UserController.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts create mode 100644 modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts delete mode 100644 modulo6/case-2-Ambulnz/src/database/UserDatabase.ts create mode 100644 modulo6/case-2-Ambulnz/src/models/Orders.ts create mode 100644 modulo6/case-2-Ambulnz/src/models/Pizza.ts delete mode 100644 modulo6/case-2-Ambulnz/src/models/User.ts create mode 100644 modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts delete mode 100644 modulo6/case-2-Ambulnz/src/router/userRouter.ts delete mode 100644 modulo6/case-2-Ambulnz/src/services/Authenticator.ts delete mode 100644 modulo6/case-2-Ambulnz/src/services/HashManager.ts diff --git a/modulo6/case-2-Ambulnz/.gitignore b/modulo6/case-2-Ambulnz/.gitignore new file mode 100644 index 0000000..6fe20f0 --- /dev/null +++ b/modulo6/case-2-Ambulnz/.gitignore @@ -0,0 +1,3 @@ +node_modules +.env +package-lock.json \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/requests.rest b/modulo6/case-2-Ambulnz/requests.rest index b04c478..f607958 100644 --- a/modulo6/case-2-Ambulnz/requests.rest +++ b/modulo6/case-2-Ambulnz/requests.rest @@ -1,21 +1,5 @@ ### Ping -GET http://localhost:3003/ping +GET http://localhost:3003/api/ping -### Signup -POST http://localhost:3003/users/signup -Content-Type: application/json - -{ - "name": "alice", - "email": "alice@gmail.com", - "password": "alice99" -} - -### Login -POST http://localhost:3003/users/login -Content-Type: application/json - -{ - "email": "astrodev@gmail.com", - "password": "bananinha" -} \ No newline at end of file +### +GET http://localhost:3003/api/pizzas \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts b/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts new file mode 100644 index 0000000..2f09a79 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts @@ -0,0 +1,163 @@ +import { PizzaDatabase } from "../database/PizzaDatabase" +import { IGetPizzasOutputDTO, Pizza } from "../models/Pizza" +import { IdGenerator } from "../services/IdGenerator" + +export class PizzaBusiness { + constructor( + private pizzaDatabase: PizzaDatabase, + private idGenerator: IdGenerator + ) {} + + public getPizzas = async (): Promise => { + + const pizzasDB = await this.pizzaDatabase.getPizzas() + + const pizzas: Pizza[] = [] + + for (let pizzaDB of pizzasDB) { + const pizza = new Pizza( + pizzaDB.name, + pizzaDB.price, + [] + ) + + const ingredients = await + this.pizzaDatabase.getIngredients(pizzaDB.name) + + pizza.setIngredients(ingredients) + + pizzas.push(pizza) + } + + const response: IGetPizzasOutputDTO = { + message: "Pizzas retornadas com sucesso", + pizzas: pizzas.map((pizza) => ({ + name: pizza.getName(), + price: pizza.getPrice(), + ingredients: pizza.getIngredients() + })) + } + + return response + } + + + + // public signup = async (input: ISignupInputDTO): Promise => { + // const { name, email, password } = input + + // if (typeof name !== "string") { + // throw new ParamsError("Parâmetro 'name' inválido: deve ser uma string") + // } + + // if (typeof email !== "string") { + // throw new ParamsError("Parâmetro 'email' inválido: deve ser uma string") + // } + + // if (typeof password !== "string") { + // throw new ParamsError("Parâmetro 'password' inválido: deve ser uma string") + // } + + // if (name.length < 3) { + // throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") + // } + + // if (password.length < 6) { + // throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + // } + + // if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + // throw new ParamsError("Parâmetro 'email' inválido") + // } + + // const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) + + // if (isEmailAlreadyExists) { + // throw new ConflictError("Email já cadastrado") + // } + + // const id = this.idGenerator.generate() + // const hashedPassword = await this.hashManager.hash(password) + + // const user = new User( + // id, + // name, + // email, + // hashedPassword, + // USER_ROLES.NORMAL + // ) + + // await this.userDatabase.createUser(user) + + // const payload: ITokenPayload = { + // id: user.getId(), + // role: user.getRole() + // } + + // const token = this.authenticator.generateToken(payload) + + // const response: ISignupOutputDTO = { + // message: "Cadastro realizado com sucesso", + // token + // } + + // return response + // } + + // public login = async (input: ILoginInputDTO): Promise => { + // const { email, password } = input + + // if (typeof email !== "string") { + // throw new ParamsError("Parâmetro 'email' inválido") + // } + + // if (typeof password !== "string") { + // throw new ParamsError("Parâmetro 'password' inválido") + // } + + // if (password.length < 6) { + // throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + // } + + // if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + // throw new ParamsError("Parâmetro 'email' inválido") + // } + + // const userDB = await this.userDatabase.findByEmail(email) + + // if (!userDB) { + // throw new NotFoundError("Email não cadastrado") + // } + + // const user = new User( + // userDB.id, + // userDB.name, + // userDB.email, + // userDB.password, + // userDB.role + // ) + + // const isPasswordCorrect = await this.hashManager.compare( + // password, + // user.getPassword() + // ) + + // if (!isPasswordCorrect) { + // throw new AuthenticationError("Password incorreto") + // } + + // const payload: ITokenPayload = { + // id: user.getId(), + // role: user.getRole() + // } + + // const token = this.authenticator.generateToken(payload) + + // const response: ILoginOutputDTO = { + // message: "Login realizado com sucesso", + // token + // } + + // return response + // } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts b/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts deleted file mode 100644 index ab99554..0000000 --- a/modulo6/case-2-Ambulnz/src/business/UserBusiness.ts +++ /dev/null @@ -1,136 +0,0 @@ -import { UserDatabase } from "../database/UserDatabase" -import { NotFoundError } from "../errors/NotFoundError" -import { ConflictError} from "../errors/ConflictError" -import { ParamsError} from "../errors/ParamsError" -import { ILoginInputDTO, ILoginOutputDTO, ISignupInputDTO, ISignupOutputDTO, User, USER_ROLES } from "../models/User" -import { Authenticator, ITokenPayload } from "../services/Authenticator" -import { HashManager } from "../services/HashManager" -import { IdGenerator } from "../services/IdGenerator" -import { AuthenticationError } from "../errors/AuthenticationError" - -export class UserBusiness { - constructor( - private userDatabase: UserDatabase, - private idGenerator: IdGenerator, - private hashManager: HashManager, - private authenticator: Authenticator - ) {} - - public signup = async (input: ISignupInputDTO): Promise => { - const { name, email, password } = input - - if (typeof name !== "string") { - throw new ParamsError("Parâmetro 'name' inválido: deve ser uma string") - } - - if (typeof email !== "string") { - throw new ParamsError("Parâmetro 'email' inválido: deve ser uma string") - } - - if (typeof password !== "string") { - throw new ParamsError("Parâmetro 'password' inválido: deve ser uma string") - } - - if (name.length < 3) { - throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") - } - - if (password.length < 6) { - throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") - } - - if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { - throw new ParamsError("Parâmetro 'email' inválido") - } - - const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) - - if (isEmailAlreadyExists) { - throw new ConflictError("Email já cadastrado") - } - - const id = this.idGenerator.generate() - const hashedPassword = await this.hashManager.hash(password) - - const user = new User( - id, - name, - email, - hashedPassword, - USER_ROLES.NORMAL - ) - - await this.userDatabase.createUser(user) - - const payload: ITokenPayload = { - id: user.getId(), - role: user.getRole() - } - - const token = this.authenticator.generateToken(payload) - - const response: ISignupOutputDTO = { - message: "Cadastro realizado com sucesso", - token - } - - return response - } - - public login = async (input: ILoginInputDTO): Promise => { - const { email, password } = input - - if (typeof email !== "string") { - throw new ParamsError("Parâmetro 'email' inválido") - } - - if (typeof password !== "string") { - throw new ParamsError("Parâmetro 'password' inválido") - } - - if (password.length < 6) { - throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") - } - - if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { - throw new ParamsError("Parâmetro 'email' inválido") - } - - const userDB = await this.userDatabase.findByEmail(email) - - if (!userDB) { - throw new NotFoundError("Email não cadastrado") - } - - const user = new User( - userDB.id, - userDB.name, - userDB.email, - userDB.password, - userDB.role - ) - - const isPasswordCorrect = await this.hashManager.compare( - password, - user.getPassword() - ) - - if (!isPasswordCorrect) { - throw new AuthenticationError("Password incorreto") - } - - const payload: ITokenPayload = { - id: user.getId(), - role: user.getRole() - } - - const token = this.authenticator.generateToken(payload) - - const response: ILoginOutputDTO = { - message: "Login realizado com sucesso", - token - } - - return response - } -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/PizzaController.ts b/modulo6/case-2-Ambulnz/src/controller/PizzaController.ts new file mode 100644 index 0000000..568c5fb --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/controller/PizzaController.ts @@ -0,0 +1,42 @@ +import { Request, Response } from "express"; +import { PizzaBusiness } from "../business/PizzaBusiness"; +import { BaseError } from "../errors/BaseError"; + + +export class PizzaController { + constructor( + private PizzaBusiness: PizzaBusiness + ) {} + + public getPizzas = async (req: Request, res: Response) => { + try { + + const response = await this.PizzaBusiness.getPizzas() + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao buscar pizzas" }) + } + } + + // public login = async (req: Request, res: Response) => { + // try { + // const input: ILoginInputDTO = { + // email: req.body.email, + // password: req.body.password + // } + + // const response = await this.userBusiness.login(input) + // res.status(200).send(response) + // } catch (error) { + // console.log(error) + // if (error instanceof BaseError) { + // return res.status(error.statusCode).send({ message: error.message }) + // } + // res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + // } + // } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/UserController.ts b/modulo6/case-2-Ambulnz/src/controller/UserController.ts deleted file mode 100644 index 0e2c774..0000000 --- a/modulo6/case-2-Ambulnz/src/controller/UserController.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Request, Response } from "express"; -import { UserBusiness } from "../business/UserBusiness"; -import { BaseError } from "../errors/BaseError"; -import { ILoginInputDTO, ISignupInputDTO } from "../models/User"; - -export class UserController { - constructor( - private userBusiness: UserBusiness - ) {} - - public signup = async (req: Request, res: Response) => { - try { - const input: ISignupInputDTO = { - name: req.body.name, - email: req.body.email, - password: req.body.password - } - - const response = await this.userBusiness.signup(input) - res.status(201).send(response) - } catch (error) { - console.log(error) - if (error instanceof BaseError) { - return res.status(error.statusCode).send({ message: error.message }) - } - res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) - } - } - - public login = async (req: Request, res: Response) => { - try { - const input: ILoginInputDTO = { - email: req.body.email, - password: req.body.password - } - - const response = await this.userBusiness.login(input) - res.status(200).send(response) - } catch (error) { - console.log(error) - if (error instanceof BaseError) { - return res.status(error.statusCode).send({ message: error.message }) - } - res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) - } - } -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts new file mode 100644 index 0000000..63e99e4 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts @@ -0,0 +1,30 @@ +import { IPizzaDB, Pizza } from "../models/Pizza"; +import { BaseDatabase } from "./BaseDatabase"; + +export class OrderDatabase extends BaseDatabase{ + public static TABLE_ORDERS = "Amb_Orders" + public static TABLE_ORDER_ITEMS = "Amb_Order_Items" + + public toPizzaDBModel = (pizza:Pizza):IPizzaDB =>{ + return{ + name:pizza.getName(), + price:pizza.getPrice() + } + } + // public findByEmail = async (email: string): Promise => { + // const result: IUserDB[] = await BaseDatabase + // .connection(UserDatabase.TABLE_USERS) + // .select() + // .where({ email }) + + // return result[0] + // } + + // public createUser = async (user: User): Promise => { + // const userDB = this.toUserDBModel(user) + + // await BaseDatabase + // .connection(UserDatabase.TABLE_USERS) + // .insert(userDB) + // } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts b/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts new file mode 100644 index 0000000..80cd233 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts @@ -0,0 +1,37 @@ + +import { IPizzaDB, IpizzaIngredientsDB, Pizza } from "../models/Pizza" +import { BaseDatabase } from "./BaseDatabase" + + +export class PizzaDatabase extends BaseDatabase { + public static TABLE_PIZZAS = "Amb_Pizzas" + public static TABLE_INGREDIENTS = "Amb_Ingredients" + public static TABLE_PIZZAS_INGREDIENTS = "Amb_Pizzas_Ingredients" + + public toPizzaDBModel = (pizza:Pizza): IPizzaDB => { + return { + name: pizza.getName(), + price: pizza.getPrice(), + + } + } + public getPizzas = async ():Promise =>{ + const result: IPizzaDB[] = await BaseDatabase + .connection(PizzaDatabase.TABLE_PIZZAS_INGREDIENTS) + .select("ingredient_name") + .where({pizza_name: pizzaName}) + + return result.map(item =>item.ingredient_name) + } + + // public getPizzas = async():Promise =>{ + + // } + public getIngredients = async(pizzaName:string):Promise =>{ + const result = await BaseDatabase + .connection(PizzaDatabase.TABLE_PIZZAS_INGREDIENTS) + .select() + + return result + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts b/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts deleted file mode 100644 index 7d42a6c..0000000 --- a/modulo6/case-2-Ambulnz/src/database/UserDatabase.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { IUserDB, User } from "../models/User" -import { BaseDatabase } from "./BaseDatabase" - -export class UserDatabase extends BaseDatabase { - public static TABLE_USERS = "Template_Users" - - public toUserDBModel = (user: User): IUserDB => { - const userDB: IUserDB = { - id: user.getId(), - name: user.getName(), - email: user.getEmail(), - password: user.getPassword(), - role: user.getRole() - } - - return userDB - } - - public findByEmail = async (email: string): Promise => { - const result: IUserDB[] = await BaseDatabase - .connection(UserDatabase.TABLE_USERS) - .select() - .where({ email }) - - return result[0] - } - - public createUser = async (user: User): Promise => { - const userDB = this.toUserDBModel(user) - - await BaseDatabase - .connection(UserDatabase.TABLE_USERS) - .insert(userDB) - } -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts index f0c6b9d..497f901 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts @@ -28,15 +28,41 @@ class Migrations extends BaseDatabase { createTables = async () => { await BaseDatabase.connection.raw(` - DROP TABLE IF EXISTS ${UserDatabase.TABLE_USERS}; + DROP TABLE IF EXISTS Amb_Order_Items; + DROP TABLE IF EXISTS Amb_Orders; + DROP TABLE IF EXISTS Amb_Pizzas_Ingredients; + DROP TABLE IF EXISTS Amb_Ingredients; + DROP TABLE IF EXISTS Amb_Pizzas; - CREATE TABLE IF NOT EXISTS ${UserDatabase.TABLE_USERS}( + CREATE TABLE IF NOT EXISTS Amb_Pizzas ( + name VARCHAR(255) PRIMARY KEY, + price DECIMAL(3,2) NOT NULL + ); + + CREATE TABLE IF NOT EXISTS Amb_Ingredients ( + name VARCHAR(255) PRIMARY KEY + ); + + CREATE TABLE IF NOT EXISTS Amb_Pizzas_Ingredients ( + pizza_name VARCHAR(255) NOT NULL, + ingredient_name VARCHAR(255) NOT NULL, + FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name), + FOREIGN KEY (ingredient_name) REFERENCES Amb_Ingredients (name) + ); + + CREATE TABLE IF NOT EXISTS Amb_Orders ( + id VARCHAR(255) PRIMARY KEY + ); + + CREATE TABLE IF NOT EXISTS Amb_Order_Items ( id VARCHAR(255) PRIMARY KEY, - name VARCHAR(255) NOT NULL, - email VARCHAR(255) NOT NULL UNIQUE, - password VARCHAR(255) NOT NULL, - role ENUM("NORMAL", "ADMIN") DEFAULT "NORMAL" NOT NULL + pizza_name VARCHAR(255) NOT NULL, + quantity TINYINT, + order_id VARCHAR(255) NOT NULL, + FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name) + FOREIGN KEY (order_id) REFERENCES Amb_Pizzas (id) ); + `) } diff --git a/modulo6/case-2-Ambulnz/src/index.ts b/modulo6/case-2-Ambulnz/src/index.ts index ea8f538..490bc59 100644 --- a/modulo6/case-2-Ambulnz/src/index.ts +++ b/modulo6/case-2-Ambulnz/src/index.ts @@ -3,7 +3,7 @@ import cors from 'cors' import dotenv from "dotenv" import { pingRouter } from './router/pingRouter' -import { userRouter } from './router/userRouter' +import { pizzaRouter } from './router/pizzaRouter' dotenv.config() @@ -15,5 +15,5 @@ app.listen(process.env.PORT || 3003, () => { console.log(`Servidor rodando na porta ${process.env.PORT || 3003}`) }) -app.use("/ping", pingRouter) -app.use("/users", userRouter) \ No newline at end of file +app.use("/api/ping", pingRouter) +app.use("/api/pizzas", pizzaRouter) diff --git a/modulo6/case-2-Ambulnz/src/models/Orders.ts b/modulo6/case-2-Ambulnz/src/models/Orders.ts new file mode 100644 index 0000000..71c0021 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/models/Orders.ts @@ -0,0 +1,47 @@ +export interface IOrdersDB { +id:string + +} + +export interface IOrderItemsDB { + id:string, + pizza_name:string, + quantity:string, + order_id:string +} + +export interface IOrderItem { + id:string, + pizza_name:string, + quantity:string, + order_id:string +} + + +export class Order{ + constructor( + private id: string, + private orderItems: IOrderItem[] + ) {} + + + public getId = () => { + return this.id + } + + public getOrderItems = () => { + return this.orderItems + } + + public setOrderItems = (newOrderItems: IOrderItem[]) => { + this.orderItems = newOrderItems + } + + public addOrderItem = (newOrderItem: IOrderItem) => { + this.orderItems.push(newOrderItem) + } + + public removeOrderItem = (idToRemove: string) => { + return this.orderItems.filter(orderItem => orderItem.id !== idToRemove) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/models/Pizza.ts b/modulo6/case-2-Ambulnz/src/models/Pizza.ts new file mode 100644 index 0000000..76d5336 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/models/Pizza.ts @@ -0,0 +1,61 @@ + +export interface IPizzaDB { + name: string, + price:number +} + +export interface IIngredientsDB { + name: string +} + +export interface IpizzaIngredientsDB { + pizza_name: string, + ingredient_name:string +} + +export class Pizza { + constructor( + private name: string, + private price: number, + private ingredients: string[] + ) {} + + + public getName = () => { + return this.name + } + + public getPrice = () => { + return this.price + } + + public getIngredients = () => { + return this.ingredients + } + + public setName = (newName: string) => { + this.name = newName + } + + public setPrice = (newPrice: number) => { + this.price = newPrice + } + + public setIngredients = (newIngredients: string[]) => { + this.ingredients = newIngredients + } + + public removeIngredient = (ingredientToRemove:string) =>{ + return this.ingredients.filter((ingredient)=>(ingredient !== ingredientToRemove)) + } +} + +export interface IGetPizzasOutputDTO { + message:string, + pizzas:{ + name:string, + price:number, + ingredients:string[] + }[] +} + diff --git a/modulo6/case-2-Ambulnz/src/models/User.ts b/modulo6/case-2-Ambulnz/src/models/User.ts deleted file mode 100644 index 93d84c3..0000000 --- a/modulo6/case-2-Ambulnz/src/models/User.ts +++ /dev/null @@ -1,83 +0,0 @@ -export enum USER_ROLES { - NORMAL = "NORMAL", - ADMIN = "ADMIN" -} - -export interface IUserDB { - id: string, - name: string, - email: string, - password: string, - role: USER_ROLES -} - -export class User { - constructor( - private id: string, - private name: string, - private email: string, - private password: string, - private role: USER_ROLES - ) {} - - public getId = () => { - return this.id - } - - public getName = () => { - return this.name - } - - public getEmail = () => { - return this.email - } - - public getPassword = () => { - return this.password - } - - public getRole = () => { - return this.role - } - - public setId = (newId: string) => { - this.id = newId - } - - public setName = (newName: string) => { - this.name = newName - } - - public setEmail = (newEmail: string) => { - this.email = newEmail - } - - public setPassword = (newPassword: string) => { - this.password = newPassword - } - - public setRole = (newRole: USER_ROLES) => { - this.role = newRole - } -} - -export interface ISignupInputDTO { - name: string, - email: string, - password: string -} - -export interface ISignupOutputDTO { - message: string, - token: string -} - -export interface ILoginInputDTO { - email: string, - password: string -} - -export interface ILoginOutputDTO { - message: string, - token: string -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts b/modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts new file mode 100644 index 0000000..7565689 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts @@ -0,0 +1,17 @@ +import { Router } from 'express' +import { PizzaBusiness } from '../business/PizzaBusiness' +import { PizzaController } from '../controller/PizzaController' +import { PizzaDatabase } from '../database/PizzaDatabase' +import { IdGenerator } from '../services/IdGenerator' + +export const pizzaRouter = Router() + +const pizzaController = new PizzaController( + new PizzaBusiness( + new PizzaDatabase(), + new IdGenerator() + ) +) + + +pizzaRouter.get("/", pizzaController.getPizzas) diff --git a/modulo6/case-2-Ambulnz/src/router/userRouter.ts b/modulo6/case-2-Ambulnz/src/router/userRouter.ts deleted file mode 100644 index 6de7d6c..0000000 --- a/modulo6/case-2-Ambulnz/src/router/userRouter.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Router } from 'express' -import { UserBusiness } from '../business/UserBusiness' -import { UserController } from '../controller/UserController' -import { UserDatabase } from '../database/UserDatabase' -import { Authenticator } from '../services/Authenticator' -import { HashManager } from '../services/HashManager' -import { IdGenerator } from '../services/IdGenerator' - -export const userRouter = Router() - -const userController = new UserController( - new UserBusiness( - new UserDatabase(), - new IdGenerator(), - new HashManager(), - new Authenticator() - ) -) - -userRouter.post("/signup", userController.signup) -userRouter.post("/login", userController.login) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/Authenticator.ts b/modulo6/case-2-Ambulnz/src/services/Authenticator.ts deleted file mode 100644 index dfa9293..0000000 --- a/modulo6/case-2-Ambulnz/src/services/Authenticator.ts +++ /dev/null @@ -1,37 +0,0 @@ -import jwt from 'jsonwebtoken' -import dotenv from "dotenv" -import { USER_ROLES } from '../models/User' - -dotenv.config() - -export interface ITokenPayload { - id: string, - role: USER_ROLES -} - -export class Authenticator { - generateToken = (payload: ITokenPayload): string => { - const token = jwt.sign( - payload, - process.env.JWT_KEY as string, - { - expiresIn: process.env.JWT_EXPIRES_IN - } - ) - - return token - } - - getTokenPayload = (token: string): ITokenPayload | null => { - try { - const payload = jwt.verify( - token, - process.env.JWT_KEY as string - ) - - return payload as ITokenPayload - } catch (error) { - return null - } - } -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/HashManager.ts b/modulo6/case-2-Ambulnz/src/services/HashManager.ts deleted file mode 100644 index 5676b5a..0000000 --- a/modulo6/case-2-Ambulnz/src/services/HashManager.ts +++ /dev/null @@ -1,15 +0,0 @@ -import bcrypt from 'bcryptjs' - -export class HashManager { - public hash = async (plaintext: string): Promise => { - const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) - const salt = await bcrypt.genSalt(rounds) - const hash = await bcrypt.hash(plaintext, salt) - - return hash - } - - public compare = async (plaintext: string, hash: string): Promise => { - return bcrypt.compare(plaintext, hash) - } -} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tables.sql b/modulo6/case-2-Ambulnz/tables.sql index a33f634..c300961 100644 --- a/modulo6/case-2-Ambulnz/tables.sql +++ b/modulo6/case-2-Ambulnz/tables.sql @@ -1,47 +1,135 @@ -- Active: 1662659335013@@35.226.146.116@3306@freire-aline-chagas -CREATE TABLE IF NOT EXISTS Amb_pizzas( - NAME VARCHAR(255) PRIMARY KEY, - PRICE DECIMAL(3,2) NOT NULL -); -CREATE TABLE IF NOT EXISTS Amb_ingredients( - NAME VARCHAR(255) PRIMARY KEY +-- Entities + +-- -- Amb_Pizzas +-- -- Amb_Ingredients +-- -- Amb_Pizzas_Ingredients +-- -- Amb_Orders +-- -- Amb_Order_Items +-- -- Amb_Orders_Order_Items + +DROP TABLE IF EXISTS Amb_Orders_Order_Items; +DROP TABLE IF EXISTS Amb_Order_Items; +DROP TABLE IF EXISTS Amb_Orders; +DROP TABLE IF EXISTS Amb_Pizzas_Ingredients; +DROP TABLE IF EXISTS Amb_Ingredients; +DROP TABLE IF EXISTS Amb_Pizzas; + +CREATE TABLE IF NOT EXISTS Amb_Pizzas ( + name VARCHAR(255) PRIMARY KEY, + price DECIMAL(3,2) NOT NULL ); -CREATE TABLE IF NOT EXISTS Amb_pizzas_ingredients( - PIZZA_NAME VARCHAR(255) NOT NULL, - INGREDIENT_NAME VARCHAR(255) NOT NULL, - FOREIGN KEY (PIZZA_NAME) REFERENCES Amb_pizzas(name), - FOREIGN KEY (INGREDIENT_NAME) REFERENCES Amb_ingredients(name) + +CREATE TABLE IF NOT EXISTS Amb_Ingredients ( + name VARCHAR(255) PRIMARY KEY ); -CREATE TABLE IF NOT EXISTS Amb_order_item( -ID MEDIUMINT AUTO_INCREMENT PRIMARY KEY, -NAME VARCHAR (255) NOT NULL, -QUANTITY TINYINT, -FOREIGN KEY (NAME) REFERENCES Amb_pizzas(name) +CREATE TABLE IF NOT EXISTS Amb_Pizzas_Ingredients ( + pizza_name VARCHAR(255) NOT NULL, + ingredient_name VARCHAR(255) NOT NULL, + FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name), + FOREIGN KEY (ingredient_name) REFERENCES Amb_Ingredients (name) ); -CREATE TABLE IF NOT EXISTS Amb_orders( -id VARCHAR(255) NOT NULL +CREATE TABLE IF NOT EXISTS Amb_Orders ( + id VARCHAR(255) PRIMARY KEY ); -CREATE TABLE IF NOT EXISTS Amb_orders_order_item( +CREATE TABLE IF NOT EXISTS Amb_Order_Items ( + id VARCHAR(255) PRIMARY KEY, + pizza_name VARCHAR(255) NOT NULL, + quantity TINYINT, order_id VARCHAR(255) NOT NULL, - item_id VARCHAR(255) NOT NULL, - FOREIGN KEY (order_id) REFERENCES Amb_order_item(name) + FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name), + FOREIGN KEY (order_id) REFERENCES Amb_Orders (id) +); + +-- CREATE TABLE IF NOT EXISTS Amb_Orders_Order_Items ( +-- order_id VARCHAR(255) NOT NULL, +-- item_id VARCHAR(255) NOT NULL, +-- FOREIGN KEY (order_id) REFERENCES Amb_Orders (id), +-- FOREIGN KEY (item_id) REFERENCES Amb_Order_Items (id) +-- ); + +INSERT INTO Amb_Pizzas VALUES ( + "Margherita", + 5 +); + +INSERT INTO Amb_Pizzas VALUES ( + "Bufala", + 6 +); + +INSERT INTO Amb_Ingredients VALUES ( + "tomato" +); + +INSERT INTO Amb_Ingredients VALUES ( + "mozzarella" +); + +INSERT INTO Amb_Ingredients VALUES ( + "mozarella di bufala" +); + +INSERT INTO Amb_Pizzas_Ingredients VALUES ( + "Margherita", + "tomato" +); + +INSERT INTO Amb_Pizzas_Ingredients VALUES ( + "Margherita", + "mozzarella" +); + +INSERT INTO Amb_Pizzas_Ingredients VALUES ( + "Bufala", + "tomato" ); -INSERT INTO `Amb_pizzas_ingredients` VALUES( -"Bufala", -"Mozzarella di bufala" + +INSERT INTO Amb_Pizzas_Ingredients VALUES ( + "Bufala", + "mozarella di bufala" ); +SELECT * FROM Amb_Pizzas +JOIN Amb_Pizzas_Ingredients ON Amb_Pizzas_Ingredients.pizza_name = Amb_Pizzas.name +WHERE name = "Margherita"; + +SELECT * FROM Amb_Pizzas +JOIN Amb_Pizzas_Ingredients ON Amb_Pizzas_Ingredients.pizza_name = Amb_Pizzas.name +WHERE name = "Bufala"; + +INSERT INTO Amb_Orders VALUES ( + "mesa-1" +); + +INSERT INTO Amb_Order_Items VALUES ( + "pedido-1", + "Margherita", + 2, + "mesa-1" +); + +INSERT INTO Amb_Order_Items VALUES ( + "pedido-2", + "Bufala", + 1, + "mesa-1" +); -SELECT * FROM `Amb_pizzas` -JOIN `Amb_pizzas_ingredients` -ON Amb_pizzas_ingredients.PIZZA_NAME = Amb_pizzas.NAME -WHERE NAME = "Margherita"; +-- INSERT INTO Amb_Orders_Order_Items VALUES ( +-- "p1", +-- "order-item-1" +-- ); -SELECT * FROM `Amb_orders` -JOIN `Amb_orders_order_item` -ON Amb_orders_order_item -WHERE NAME = "Margherita"; +-- INSERT INTO Amb_Orders_Order_Items VALUES ( +-- "p1", +-- "order-item-2" +-- ); +SELECT * FROM Amb_Orders +JOIN Amb_Order_Items ON Amb_Order_Items.order_id = Amb_Orders.id +JOIN Amb_Pizzas ON Amb_Order_Items.pizza_name = Amb_Pizzas.name +WHERE Amb_Orders.id = "mesa-1"; \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts index 84498e6..e073517 100644 --- a/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts +++ b/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts @@ -1,37 +1,37 @@ -import { USER_ROLES } from "../../src/models/User" -import { ITokenPayload } from "../../src/services/Authenticator" +// import { USER_ROLES } from "../../src/models/User" +// import { ITokenPayload } from "../../src/services/Authenticator" -export class AuthenticatorMock { - public generateToken = (payload: ITokenPayload): string => { - switch (payload.role) { - case USER_ROLES.ADMIN: - return "token-mock-admin" - default: - return "token-mock-normal" - } - } +// export class AuthenticatorMock { +// public generateToken = (payload: ITokenPayload): string => { +// switch (payload.role) { +// case USER_ROLES.ADMIN: +// return "token-mock-admin" +// default: +// return "token-mock-normal" +// } +// } - public getTokenPayload = (token: string): ITokenPayload | null => { - switch (token) { - case "token-mock-admin": - const adminPayload: ITokenPayload = { - id: "id-mock", - role: USER_ROLES.ADMIN - } +// public getTokenPayload = (token: string): ITokenPayload | null => { +// switch (token) { +// case "token-mock-admin": +// const adminPayload: ITokenPayload = { +// id: "id-mock", +// role: USER_ROLES.ADMIN +// } - return adminPayload +// return adminPayload - case "token-mock-normal": - const normalPayload: ITokenPayload = { - id: "id-mock", - role: USER_ROLES.NORMAL - } +// case "token-mock-normal": +// const normalPayload: ITokenPayload = { +// id: "id-mock", +// role: USER_ROLES.NORMAL +// } - return normalPayload +// return normalPayload - default: - return null - } - } +// default: +// return null +// } +// } -} \ No newline at end of file +// } \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts index 0b4ec43..321de2c 100644 --- a/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts +++ b/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts @@ -1,17 +1,17 @@ -export class HashManagerMock { - public hash = async (plaintext: string): Promise => { - if (plaintext == "bananinha") { - return "hash-bananinha" - } +// export class HashManagerMock { +// public hash = async (plaintext: string): Promise => { +// if (plaintext == "bananinha") { +// return "hash-bananinha" +// } - return "hash-mock" - } +// return "hash-mock" +// } - public compare = async (plaintext: string, hash: string): Promise => { - if (plaintext == "bananinha" && hash == "hash-bananinha") { - return true - } +// public compare = async (plaintext: string, hash: string): Promise => { +// if (plaintext == "bananinha" && hash == "hash-bananinha") { +// return true +// } - return false - } -} \ No newline at end of file +// return false +// } +// } \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts b/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts index b563546..577c959 100644 --- a/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts +++ b/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts @@ -1,49 +1,49 @@ -import { IUserDB, User, USER_ROLES } from "../../src/models/User" -import { BaseDatabase } from "../../src/database/BaseDatabase" - -export class UserDatabaseMock extends BaseDatabase { - public static TABLE_USERS = "Labook_Users" - - public toUserDBModel = (user: User) => { - const userDB: IUserDB = { - id: user.getId(), - name: user.getName(), - email: user.getEmail(), - password: user.getPassword(), - role: user.getRole() - } - - return userDB - } - - public findByEmail = async (email: string): Promise => { - switch (email) { - case "usermock@gmail.com": - const normalUser: IUserDB = { - id: "id-mock", - name: "User Mock", - email: "usermock@gmail.com", - password: "hash-mock", - role: USER_ROLES.NORMAL - } - - return normalUser - - case "astrodev@gmail.com": - const adminUser: IUserDB = { - id: "id-mock", - name: "Astrodev", - email: "astrodev@gmail.com", - password: "hash-bananinha", - role: USER_ROLES.ADMIN - } - - return adminUser +// import { IUserDB, User, USER_ROLES } from "../../src/models/User" +// import { BaseDatabase } from "../../src/database/BaseDatabase" + +// export class UserDatabaseMock extends BaseDatabase { +// public static TABLE_USERS = "Labook_Users" + +// public toUserDBModel = (user: User) => { +// const userDB: IUserDB = { +// id: user.getId(), +// name: user.getName(), +// email: user.getEmail(), +// password: user.getPassword(), +// role: user.getRole() +// } + +// return userDB +// } + +// public findByEmail = async (email: string): Promise => { +// switch (email) { +// case "usermock@gmail.com": +// const normalUser: IUserDB = { +// id: "id-mock", +// name: "User Mock", +// email: "usermock@gmail.com", +// password: "hash-mock", +// role: USER_ROLES.NORMAL +// } + +// return normalUser + +// case "astrodev@gmail.com": +// const adminUser: IUserDB = { +// id: "id-mock", +// name: "Astrodev", +// email: "astrodev@gmail.com", +// password: "hash-bananinha", +// role: USER_ROLES.ADMIN +// } + +// return adminUser - default: - return undefined - } - } +// default: +// return undefined +// } +// } - public createUser = async (user: User): Promise => {} -} \ No newline at end of file +// public createUser = async (user: User): Promise => {} +// } \ No newline at end of file From 10a02843c4c0eb0b02f9a2679818294386b0d27c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 5 Oct 2022 15:33:07 -0300 Subject: [PATCH 10/19] endpoint de getPizzas --- .../src/database/migrations/Migrations.ts | 18 +++- .../src/database/migrations/data.ts | 84 +++++++++++++++---- 2 files changed, 81 insertions(+), 21 deletions(-) diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts index 497f901..3d4e1c4 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts @@ -1,6 +1,6 @@ import { BaseDatabase } from "../BaseDatabase" -import { UserDatabase } from "../UserDatabase" -import { users } from "./data" +import { PizzaDatabase } from "../PizzaDatabase" +import { ingredientsSeed, pizzasIngredientsSeed, pizzasSeed } from "./data" class Migrations extends BaseDatabase { execute = async () => { @@ -68,8 +68,18 @@ class Migrations extends BaseDatabase { insertData = async () => { await BaseDatabase - .connection(UserDatabase.TABLE_USERS) - .insert(users) + .connection(PizzaDatabase.TABLE_PIZZAS) + .insert(pizzasSeed) + + + await BaseDatabase + .connection(PizzaDatabase.TABLE_INGREDIENTS) + .insert(ingredientsSeed) + + + await BaseDatabase + .connection(PizzaDatabase.TABLE_PIZZAS_INGREDIENTS) + .insert(pizzasIngredientsSeed) } } diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts index 43665d7..fefeb96 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts @@ -1,25 +1,75 @@ -import { IUserDB, USER_ROLES } from "../../models/User" +import { IPizzaDB, IIngredientsDB, IpizzaIngredientsDB } from "../../models/Pizza" + + +export const pizzasSeed: IPizzaDB[] = [ + { + "name": "Margherita", + "price": 5 + + }, + + {"name": "Bufala", + "price": 6 + + }, + + { + "name": "Romana", + "price": 5 + }, + + { + "name": "Diavola", + "price": 7.5 + }, -export const users: IUserDB[] = [ { - id: "101", - name: "Astrodev", - email: "astrodev@gmail.com", - password: "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC", // bananinha - role: USER_ROLES.ADMIN + "name": "Pizza Bianca", + "price": 5 + } + ] + + export const ingredientsSeed: IIngredientsDB[] = [ + { + "name": "tomato" + }, + { + "name": "mozzarella" + }, + { + "name": "mozarella di bufala" + }, + { + "name": "anchovies" }, { - id: "102", - name: "Fulano", - email: "fulano@gmail.com", - password: "$2a$12$PULtVNlAll87D6E8pR/0HO9vbzVDPaUMA89rc5cNmYoAAepbwmkcO", // qwerty00 - role: USER_ROLES.NORMAL + "name": "oregano" }, { - id: "103", - name: "Ciclana", - email: "ciclana@gmail.com", - password: "$2a$12$LkWMqS3oPhP2iVMcZOVvWer9ahUPulxjB0EA4TWPxWaRuEEfYGu/i", // asdfg123 - role: USER_ROLES.NORMAL + "name": "oil" + { + "name": "spicy salami" } +] + + + export const pizzasIngredientsSeed: IpizzaIngredientsDB[] =[ + + { + "pizza_name": "Margherita", + "ingredient_name":"tomato" +}, + { + "pizza_name": "Margherita", + "ingredient_name":"mozzarella" +}, + { + "pizza_name": "Bufala", + "ingredient_name":"mozzarella di bufala" +}, + { + "pizza_name": "Bufala", + "ingredient_name":"tomato" +}, + ] \ No newline at end of file From 25950fe56ddf6e86bd3902444de64cbfccb59f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 5 Oct 2022 20:45:00 -0300 Subject: [PATCH 11/19] teste endpoints --- modulo6/case-2-Ambulnz/requests.rest | 4 +- .../src/business/OrderBusiness.ts | 106 ++++++++++++++++++ .../src/controller/OrderController.ts | 40 +++++++ .../src/database/OrderDatabase.ts | 69 ++++++++---- .../src/database/migrations/data.ts | 46 +++++++- modulo6/case-2-Ambulnz/src/index.ts | 2 + modulo6/case-2-Ambulnz/src/models/Orders.ts | 59 ++++++++-- .../case-2-Ambulnz/src/router/orderRouter.ts | 18 +++ modulo6/case-2-Ambulnz/tables.sql | 4 +- 9 files changed, 313 insertions(+), 35 deletions(-) create mode 100644 modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts create mode 100644 modulo6/case-2-Ambulnz/src/controller/OrderController.ts create mode 100644 modulo6/case-2-Ambulnz/src/router/orderRouter.ts diff --git a/modulo6/case-2-Ambulnz/requests.rest b/modulo6/case-2-Ambulnz/requests.rest index f607958..546deed 100644 --- a/modulo6/case-2-Ambulnz/requests.rest +++ b/modulo6/case-2-Ambulnz/requests.rest @@ -2,4 +2,6 @@ GET http://localhost:3003/api/ping ### -GET http://localhost:3003/api/pizzas \ No newline at end of file +GET http://localhost:3003/api/pizzas + +### diff --git a/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts b/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts new file mode 100644 index 0000000..8f88de6 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts @@ -0,0 +1,106 @@ + +import { OrderDatabase } from "../database/OrderDatabase" +import { NotFoundError } from "../errors/NotFoundError" +import { ParamsError } from "../errors/ParamsError" +import { IcreateOrderInputDTO, Order, ICreateOrderOutputDTO, IOrderItemDB, IGetOrdersOutputDTO } from "../models/Orders" +import { IdGenerator } from "../services/IdGenerator" + +export class OrderBusiness { + constructor( + private orderDatabase: OrderDatabase, + private idGenerator: IdGenerator + ) {} + + public createOrder = async (input:IcreateOrderInputDTO): Promise => { + + const pizzasInput = input.pizzas + + if(pizzasInput.length<=0){ + throw new ParamsError("Pedido vazio!") + } + + const pizzas = pizzasInput.map((pizza)=> { + if(pizza.quantity <= 0){ + throw new ParamsError("quantidade mínima: 1 unidade") + } + return{ + ...pizza, + price:0 + } + }) + + for(let pizza of pizzas){ + const price = await this.orderDatabase.getPrice(pizza.name) + if(!price) { + throw new NotFoundError("Pizza não encontrada") + } + pizza.price = price + } + + const orderId = this.idGenerator.generate() + + await this.orderDatabase.createOrder(orderId) + + for(let pizza of pizzas) { + const orderItem:IOrderItemDB ={ + id:this.idGenerator.generate(), + pizza_name:pizza.name, + price:pizza.price, + quantity:pizza.quantity, + order_id:orderId + } + await this.orderDatabase.insertItemOnOrder(orderItem) + + } + const total = pizzas.reduce((acc, pizza) =>(acc +(pizza.price*pizza.quantity)), + 0 + ) + + const response: ICreateOrderOutputDTO = { + message: "Pedido realizado com sucesso", + order:{ + id:orderId, + pizzas, + total + } + } + + return response + } + public getOrders= async(): Promise =>{ + const ordersDB = await this.orderDatabase.getOrders() + + const orders:Order[] = [] + + for (let orderDB of ordersDB) { + const order = new Order( + orderDB.id, + [] + ) + const orderItemsDB:any = await + this.orderDatabase.getOrderItem(order.getId()) + + for (let orderItemDB of orderItemsDB) { + const price = await this.orderDatabase.getPrice(orderItemDB.pizza_name) + + orderItemDB.price = price + } + order.setOrderItems(orderItemsDB) + + orders.push(order) + } + const response: IGetOrdersOutputDTO ={ + orders:orders.map((order) =>({ + id:order.getId(), + pizzas:order.getOrderItems().map((item) =>({ + name:item.pizza_name, + quantity:item.quantity, + price:item.price + })), + total:order.getTotal() + })) + } + return response + } + +} diff --git a/modulo6/case-2-Ambulnz/src/controller/OrderController.ts b/modulo6/case-2-Ambulnz/src/controller/OrderController.ts new file mode 100644 index 0000000..bda05cc --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/controller/OrderController.ts @@ -0,0 +1,40 @@ +import { Request, Response } from "express"; +import { OrderBusiness } from "../business/OrderBusiness"; +import { BaseError } from "../errors/BaseError"; +import { IcreateOrderInputDTO } from "../models/Orders"; + + + +export class OrderController { + constructor( + private orderBusiness: OrderBusiness + ) {} + + public createOrder = async (req: Request, res: Response) => { + try { + const input:IcreateOrderInputDTO ={ + pizzas:req.body.pizzas + } + + const response = await this.orderBusiness.createOrder(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao criar pizzas" }) + } + } + public getOrders = async(req:Request, res:Response) =>{ + try { + const response = await this.orderBusiness.getOrders() + res.status(200).send(response) + } catch (error) { + if(error instanceof BaseError){ + return res.status(error.statusCode).send({message:error.message}) + } + res.status(500).send({message: "Erro inesperado ao buscar pedidos."}) + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts index 63e99e4..b8f8e88 100644 --- a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts +++ b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts @@ -1,30 +1,53 @@ -import { IPizzaDB, Pizza } from "../models/Pizza"; + +import { IGetOrdersOutputDTO, IOrderDB, IOrderItemDB } from "../models/Orders"; import { BaseDatabase } from "./BaseDatabase"; +import { PizzaDatabase } from "./PizzaDatabase"; export class OrderDatabase extends BaseDatabase{ public static TABLE_ORDERS = "Amb_Orders" public static TABLE_ORDER_ITEMS = "Amb_Order_Items" + + public createOrder = async (orderId:string): Promise => { + + await BaseDatabase + .connection(OrderDatabase.TABLE_ORDERS) + .insert({ + id:orderId + }) + } + public insertItemOnOrder = async (orderItem:IOrderItemDB):Promise =>{ + await BaseDatabase + .connection(OrderDatabase.TABLE_ORDER_ITEMS) + .insert(orderItem) + + } + public getPrice = async(pizzaName:string):Promise =>{ + const result: any[] = + await BaseDatabase + .connection(PizzaDatabase.TABLE_PIZZAS) + .select("price") + .where({name:pizzaName}) + + return result[0] as number + } + public getOrders = async():Promise =>{ + const result:IOrderDB[] = + await BaseDatabase + .connection(OrderDatabase.TABLE_ORDERS) + .select() + + + return result + } + + public getOrderItem = async (orderId:string): Promise =>{ + const result:IOrderItemDB[] = await BaseDatabase + .connection(OrderDatabase.TABLE_ORDER_ITEMS) + .select() + .where({order_id: orderId}) + + return result + } - public toPizzaDBModel = (pizza:Pizza):IPizzaDB =>{ - return{ - name:pizza.getName(), - price:pizza.getPrice() - } } - // public findByEmail = async (email: string): Promise => { - // const result: IUserDB[] = await BaseDatabase - // .connection(UserDatabase.TABLE_USERS) - // .select() - // .where({ email }) - - // return result[0] - // } - - // public createUser = async (user: User): Promise => { - // const userDB = this.toUserDBModel(user) - - // await BaseDatabase - // .connection(UserDatabase.TABLE_USERS) - // .insert(userDB) - // } -} \ No newline at end of file + \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts index fefeb96..6bdeef5 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts @@ -47,6 +47,7 @@ export const pizzasSeed: IPizzaDB[] = [ }, { "name": "oil" + }, { "name": "spicy salami" } @@ -71,5 +72,48 @@ export const pizzasSeed: IPizzaDB[] = [ "pizza_name": "Bufala", "ingredient_name":"tomato" }, - + { + "pizza_name": "Romana", + "ingredient_name":"tomato" +}, + { + "pizza_name": "Romana", + "ingredient_name":"mozzarella" +}, + { + "pizza_name": "Romana", + "ingredient_name":"anchovies", +}, + { + "pizza_name": "Romana", + "ingredient_name":"oregano" +}, + { + "pizza_name": "Romana", + "ingredient_name":"oil" +}, + { + "pizza_name": "Diavola", + "ingredient_name":"mozzarella" + }, + { + "pizza_name": "Diavola", + "ingredient_name":"tomato" + }, + { + "pizza_name": "Diavola", + "ingredient_name":"tomato" + }, + { + "pizza_name": "Bufala", + "ingredient_name": "spicy salami" + }, + { + "pizza_name": "Pizza Bianca", + "ingredient_name":"mozzarella" + }, + { + "pizza_name": "Pizza Bianca", + "ingredient_name":"oregano" + } ] \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/index.ts b/modulo6/case-2-Ambulnz/src/index.ts index 490bc59..3782f96 100644 --- a/modulo6/case-2-Ambulnz/src/index.ts +++ b/modulo6/case-2-Ambulnz/src/index.ts @@ -4,6 +4,7 @@ import dotenv from "dotenv" import { pingRouter } from './router/pingRouter' import { pizzaRouter } from './router/pizzaRouter' +import { orderRouter } from './router/orderRouter' dotenv.config() @@ -17,3 +18,4 @@ app.listen(process.env.PORT || 3003, () => { app.use("/api/ping", pingRouter) app.use("/api/pizzas", pizzaRouter) +app.use("/api/orders", orderRouter) diff --git a/modulo6/case-2-Ambulnz/src/models/Orders.ts b/modulo6/case-2-Ambulnz/src/models/Orders.ts index 71c0021..fc91008 100644 --- a/modulo6/case-2-Ambulnz/src/models/Orders.ts +++ b/modulo6/case-2-Ambulnz/src/models/Orders.ts @@ -1,30 +1,52 @@ -export interface IOrdersDB { +export interface IOrderDB { id:string } -export interface IOrderItemsDB { +export interface IOrderItemDB { id:string, pizza_name:string, - quantity:string, + price:number, + quantity:number, order_id:string } export interface IOrderItem { id:string, pizza_name:string, - quantity:string, + price:number + quantity:number, order_id:string } - +export interface IOrderResume { + id:string, + pizzas:{ + name:string, + quantity:number, + price:number + }[], + total: number +} export class Order{ + + private total:number = 0 + constructor( private id: string, private orderItems: IOrderItem[] - ) {} + ) { + this.total = this.calculateTotal() + } + + private calculateTotal = () => { + const total = this.orderItems.reduce( + (acc, pizza) => acc + (pizza.price *pizza.quantity), + 0 + ) + return total + } - public getId = () => { return this.id } @@ -44,4 +66,25 @@ export class Order{ public removeOrderItem = (idToRemove: string) => { return this.orderItems.filter(orderItem => orderItem.id !== idToRemove) } -} \ No newline at end of file + public getTotal = () => { + return this.total + } +} + +export interface IcreateOrderInputDTO { + + pizzas: { + name:string, + quantity:number + }[] +} + +export interface ICreateOrderOutputDTO { + message: string, + order:IOrderResume + +} + +export interface IGetOrdersOutputDTO{ + orders:IOrderResume[] +} diff --git a/modulo6/case-2-Ambulnz/src/router/orderRouter.ts b/modulo6/case-2-Ambulnz/src/router/orderRouter.ts new file mode 100644 index 0000000..54fe221 --- /dev/null +++ b/modulo6/case-2-Ambulnz/src/router/orderRouter.ts @@ -0,0 +1,18 @@ +import { Router } from 'express' +import { OrderBusiness } from '../business/OrderBusiness' +import { OrderController } from '../controller/OrderController' +import { OrderDatabase } from '../database/OrderDatabase' +import { IdGenerator } from '../services/IdGenerator' + +export const orderRouter = Router() + +const orderController = new OrderController( + new OrderBusiness( + new OrderDatabase(), + new IdGenerator() + ) +) + + +orderRouter.post("/", orderController.createOrder) +orderRouter.get("/", orderController.getOrders) diff --git a/modulo6/case-2-Ambulnz/tables.sql b/modulo6/case-2-Ambulnz/tables.sql index c300961..96796fa 100644 --- a/modulo6/case-2-Ambulnz/tables.sql +++ b/modulo6/case-2-Ambulnz/tables.sql @@ -106,14 +106,14 @@ INSERT INTO Amb_Orders VALUES ( ); INSERT INTO Amb_Order_Items VALUES ( - "pedido-1", + "item-1", "Margherita", 2, "mesa-1" ); INSERT INTO Amb_Order_Items VALUES ( - "pedido-2", + "item-2", "Bufala", 1, "mesa-1" From 4421b348c4fe1f5fd281a10670b5c1ebf421dfc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Wed, 5 Oct 2022 20:46:08 -0300 Subject: [PATCH 12/19] debug erros endpoints --- modulo6/case-2-Ambulnz/requests.rest | 24 ++- .../src/business/OrderBusiness.ts | 3 +- .../src/business/PizzaBusiness.ts | 137 +++----------- .../src/controller/OrderController.ts | 6 +- .../src/database/OrderDatabase.ts | 5 +- .../src/database/PizzaDatabase.ts | 26 +-- .../src/database/migrations/Migrations.ts | 30 ++-- .../src/database/migrations/data.ts | 168 ++++++++---------- modulo6/case-2-Ambulnz/src/models/Orders.ts | 1 - modulo6/case-2-Ambulnz/src/models/Pizza.ts | 31 ++-- 10 files changed, 177 insertions(+), 254 deletions(-) diff --git a/modulo6/case-2-Ambulnz/requests.rest b/modulo6/case-2-Ambulnz/requests.rest index 546deed..b992515 100644 --- a/modulo6/case-2-Ambulnz/requests.rest +++ b/modulo6/case-2-Ambulnz/requests.rest @@ -4,4 +4,26 @@ GET http://localhost:3003/api/ping ### GET http://localhost:3003/api/pizzas -### + +### Get Pizzas V2 +GET http://localhost:3003/api/pizzas/v2 + +### Create Order +POST http://localhost:3003/api/orders +Content-Type: application/json + +{ + "pizzas": [ + { + "name": "Margherita", + "quantity": 10 + }, + { + "name": "Bufala", + "quantity": 10 + } + ] +} + +### Get Orders +GET http://localhost:3003/api/orders \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts b/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts index 8f88de6..eb2ea58 100644 --- a/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts +++ b/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts @@ -15,7 +15,7 @@ export class OrderBusiness { const pizzasInput = input.pizzas - if(pizzasInput.length<=0){ + if(pizzasInput.length <= 0){ throw new ParamsError("Pedido vazio!") } @@ -45,7 +45,6 @@ export class OrderBusiness { const orderItem:IOrderItemDB ={ id:this.idGenerator.generate(), pizza_name:pizza.name, - price:pizza.price, quantity:pizza.quantity, order_id:orderId } diff --git a/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts b/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts index 2f09a79..0089a49 100644 --- a/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts +++ b/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts @@ -40,124 +40,31 @@ export class PizzaBusiness { return response } + public getPizzasV2 = async () => { + const rawPizzasFormatted = await this.pizzaDatabase.getPizzasFormatted() + const pizzas: any = [] - // public signup = async (input: ISignupInputDTO): Promise => { - // const { name, email, password } = input + for (let rawPizza of rawPizzasFormatted) { + const pizzaAlreadyOnArray = pizzas + .find((pizza: any) => pizza.name === rawPizza.name) - // if (typeof name !== "string") { - // throw new ParamsError("Parâmetro 'name' inválido: deve ser uma string") - // } + if (pizzaAlreadyOnArray) { + pizzaAlreadyOnArray.ingredients.push(rawPizza.ingredient_name) + } else { + const pizza = { + name: rawPizza.name, + price: rawPizza.price, + ingredients: [ rawPizza.ingredient_name ] + } - // if (typeof email !== "string") { - // throw new ParamsError("Parâmetro 'email' inválido: deve ser uma string") - // } - - // if (typeof password !== "string") { - // throw new ParamsError("Parâmetro 'password' inválido: deve ser uma string") - // } - - // if (name.length < 3) { - // throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") - // } - - // if (password.length < 6) { - // throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") - // } - - // if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { - // throw new ParamsError("Parâmetro 'email' inválido") - // } - - // const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) - - // if (isEmailAlreadyExists) { - // throw new ConflictError("Email já cadastrado") - // } - - // const id = this.idGenerator.generate() - // const hashedPassword = await this.hashManager.hash(password) - - // const user = new User( - // id, - // name, - // email, - // hashedPassword, - // USER_ROLES.NORMAL - // ) - - // await this.userDatabase.createUser(user) - - // const payload: ITokenPayload = { - // id: user.getId(), - // role: user.getRole() - // } - - // const token = this.authenticator.generateToken(payload) - - // const response: ISignupOutputDTO = { - // message: "Cadastro realizado com sucesso", - // token - // } - - // return response - // } - - // public login = async (input: ILoginInputDTO): Promise => { - // const { email, password } = input - - // if (typeof email !== "string") { - // throw new ParamsError("Parâmetro 'email' inválido") - // } - - // if (typeof password !== "string") { - // throw new ParamsError("Parâmetro 'password' inválido") - // } - - // if (password.length < 6) { - // throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") - // } - - // if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { - // throw new ParamsError("Parâmetro 'email' inválido") - // } - - // const userDB = await this.userDatabase.findByEmail(email) - - // if (!userDB) { - // throw new NotFoundError("Email não cadastrado") - // } - - // const user = new User( - // userDB.id, - // userDB.name, - // userDB.email, - // userDB.password, - // userDB.role - // ) - - // const isPasswordCorrect = await this.hashManager.compare( - // password, - // user.getPassword() - // ) - - // if (!isPasswordCorrect) { - // throw new AuthenticationError("Password incorreto") - // } - - // const payload: ITokenPayload = { - // id: user.getId(), - // role: user.getRole() - // } - - // const token = this.authenticator.generateToken(payload) - - // const response: ILoginOutputDTO = { - // message: "Login realizado com sucesso", - // token - // } + pizzas.push(pizza) + } + } - // return response - // } -} \ No newline at end of file + return { + pizzas + } + } +} diff --git a/modulo6/case-2-Ambulnz/src/controller/OrderController.ts b/modulo6/case-2-Ambulnz/src/controller/OrderController.ts index bda05cc..55ebafc 100644 --- a/modulo6/case-2-Ambulnz/src/controller/OrderController.ts +++ b/modulo6/case-2-Ambulnz/src/controller/OrderController.ts @@ -12,7 +12,7 @@ export class OrderController { public createOrder = async (req: Request, res: Response) => { try { - const input:IcreateOrderInputDTO ={ + const input: IcreateOrderInputDTO = { pizzas:req.body.pizzas } @@ -23,7 +23,7 @@ export class OrderController { if (error instanceof BaseError) { return res.status(error.statusCode).send({ message: error.message }) } - res.status(500).send({ message: "Erro inesperado ao criar pizzas" }) + res.status(500).send({ message: "Erro inesperado ao criar pedido" }) } } public getOrders = async(req:Request, res:Response) =>{ @@ -37,4 +37,4 @@ export class OrderController { res.status(500).send({message: "Erro inesperado ao buscar pedidos."}) } } -} \ No newline at end of file +} diff --git a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts index b8f8e88..bb44827 100644 --- a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts +++ b/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts @@ -1,5 +1,5 @@ -import { IGetOrdersOutputDTO, IOrderDB, IOrderItemDB } from "../models/Orders"; +import { IOrderDB, IOrderItemDB } from "../models/Orders"; import { BaseDatabase } from "./BaseDatabase"; import { PizzaDatabase } from "./PizzaDatabase"; @@ -35,8 +35,7 @@ export class OrderDatabase extends BaseDatabase{ await BaseDatabase .connection(OrderDatabase.TABLE_ORDERS) .select() - - + return result } diff --git a/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts b/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts index 80cd233..215eb0a 100644 --- a/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts +++ b/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts @@ -1,5 +1,5 @@ -import { IPizzaDB, IpizzaIngredientsDB, Pizza } from "../models/Pizza" +import { IPizzaDB, IPizzasIngredientsDB, Pizza } from "../models/Pizza" import { BaseDatabase } from "./BaseDatabase" @@ -17,21 +17,27 @@ export class PizzaDatabase extends BaseDatabase { } public getPizzas = async ():Promise =>{ const result: IPizzaDB[] = await BaseDatabase - .connection(PizzaDatabase.TABLE_PIZZAS_INGREDIENTS) - .select("ingredient_name") - .where({pizza_name: pizzaName}) + .connection(PizzaDatabase.TABLE_PIZZAS) + .select() - return result.map(item =>item.ingredient_name) + return result + } - // public getPizzas = async():Promise =>{ - - // } public getIngredients = async(pizzaName:string):Promise =>{ - const result = await BaseDatabase + const result: IPizzasIngredientsDB[] = await BaseDatabase .connection(PizzaDatabase.TABLE_PIZZAS_INGREDIENTS) - .select() + .select("ingredient_name") + .where({pizza_name: pizzaName}) + return result.map(item =>item.ingredient_name) + } + public getPizzasFormatted = async():Promise =>{ + const[result] = await BaseDatabase + .connection.raw(` + SELECT *FROM Amb_Pizzas + JOIN Amb_Pizzas_Ingredients ON Amb_PIzzas_Ingredients.pizza_name = Amb_Pizzas.name; + `) return result } } \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts index 3d4e1c4..859b1a0 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts @@ -1,4 +1,5 @@ import { BaseDatabase } from "../BaseDatabase" +import { OrderDatabase } from "../OrderDatabase" import { PizzaDatabase } from "../PizzaDatabase" import { ingredientsSeed, pizzasIngredientsSeed, pizzasSeed } from "./data" @@ -28,41 +29,40 @@ class Migrations extends BaseDatabase { createTables = async () => { await BaseDatabase.connection.raw(` - DROP TABLE IF EXISTS Amb_Order_Items; - DROP TABLE IF EXISTS Amb_Orders; - DROP TABLE IF EXISTS Amb_Pizzas_Ingredients; - DROP TABLE IF EXISTS Amb_Ingredients; - DROP TABLE IF EXISTS Amb_Pizzas; - - CREATE TABLE IF NOT EXISTS Amb_Pizzas ( + DROP TABLE IF EXISTS ${OrderDatabase.TABLE_ORDER_ITEMS}; + DROP TABLE IF EXISTS ${OrderDatabase.TABLE_ORDERS}; + DROP TABLE IF EXISTS ${PizzaDatabase.TABLE_PIZZAS_INGREDIENTS}; + DROP TABLE IF EXISTS ${PizzaDatabase.TABLE_INGREDIENTS}; + DROP TABLE IF EXISTS ${PizzaDatabase.TABLE_PIZZAS}; + + CREATE TABLE IF NOT EXISTS ${PizzaDatabase.TABLE_PIZZAS} ( name VARCHAR(255) PRIMARY KEY, price DECIMAL(3,2) NOT NULL ); - CREATE TABLE IF NOT EXISTS Amb_Ingredients ( + CREATE TABLE IF NOT EXISTS ${PizzaDatabase.TABLE_INGREDIENTS} ( name VARCHAR(255) PRIMARY KEY ); - CREATE TABLE IF NOT EXISTS Amb_Pizzas_Ingredients ( + CREATE TABLE IF NOT EXISTS ${PizzaDatabase.TABLE_PIZZAS_INGREDIENTS} ( pizza_name VARCHAR(255) NOT NULL, ingredient_name VARCHAR(255) NOT NULL, FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name), FOREIGN KEY (ingredient_name) REFERENCES Amb_Ingredients (name) ); - CREATE TABLE IF NOT EXISTS Amb_Orders ( + CREATE TABLE IF NOT EXISTS ${OrderDatabase.TABLE_ORDERS} ( id VARCHAR(255) PRIMARY KEY ); - CREATE TABLE IF NOT EXISTS Amb_Order_Items ( + CREATE TABLE IF NOT EXISTS ${OrderDatabase.TABLE_ORDER_ITEMS} ( id VARCHAR(255) PRIMARY KEY, pizza_name VARCHAR(255) NOT NULL, quantity TINYINT, order_id VARCHAR(255) NOT NULL, - FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name) - FOREIGN KEY (order_id) REFERENCES Amb_Pizzas (id) - ); - + FOREIGN KEY (pizza_name) REFERENCES Amb_Pizzas (name), + FOREIGN KEY (order_id) REFERENCES Amb_Orders (id) + ); `) } diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts index 6bdeef5..05faf67 100644 --- a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts +++ b/modulo6/case-2-Ambulnz/src/database/migrations/data.ts @@ -1,119 +1,109 @@ -import { IPizzaDB, IIngredientsDB, IpizzaIngredientsDB } from "../../models/Pizza" +import { IIngredientsDB, IPizzaDB, IPizzasIngredientsDB } from "../../models/Pizza"; +// seeds export const pizzasSeed: IPizzaDB[] = [ { - "name": "Margherita", - "price": 5 - + "name": "Margherita", + "price": 5 }, - - {"name": "Bufala", - "price": 6 - + { + "name": "Bufala", + "price": 6 }, - { - "name": "Romana", - "price": 5 + "name": "Romana", + "price": 5 }, - { - "name": "Diavola", - "price": 7.5 + "name": "Diavola", + "price": 7.5 }, - { - "name": "Pizza Bianca", - "price": 5 + "name": "Pizza Bianca", + "price": 5 } - ] +] - export const ingredientsSeed: IIngredientsDB[] = [ +export const ingredientsSeed: IIngredientsDB[] = [ { - "name": "tomato" + name: "tomato" }, { - "name": "mozzarella" + name: "mozzarella" }, { - "name": "mozarella di bufala" + name: "mozarella di bufala" }, { - "name": "anchovies" + name: "anchovies" }, { - "name": "oregano" + name: "oregano" }, { - "name": "oil" + name: "oil" }, { - "name": "spicy salami" + name: "spicy salami" } ] - - - export const pizzasIngredientsSeed: IpizzaIngredientsDB[] =[ - { - "pizza_name": "Margherita", - "ingredient_name":"tomato" -}, - { - "pizza_name": "Margherita", - "ingredient_name":"mozzarella" -}, - { - "pizza_name": "Bufala", - "ingredient_name":"mozzarella di bufala" -}, - { - "pizza_name": "Bufala", - "ingredient_name":"tomato" -}, - { - "pizza_name": "Romana", - "ingredient_name":"tomato" -}, - { - "pizza_name": "Romana", - "ingredient_name":"mozzarella" -}, - { - "pizza_name": "Romana", - "ingredient_name":"anchovies", -}, - { - "pizza_name": "Romana", - "ingredient_name":"oregano" -}, - { - "pizza_name": "Romana", - "ingredient_name":"oil" -}, - { - "pizza_name": "Diavola", - "ingredient_name":"mozzarella" - }, - { - "pizza_name": "Diavola", - "ingredient_name":"tomato" - }, - { - "pizza_name": "Diavola", - "ingredient_name":"tomato" - }, - { - "pizza_name": "Bufala", - "ingredient_name": "spicy salami" - }, - { - "pizza_name": "Pizza Bianca", - "ingredient_name":"mozzarella" - }, - { - "pizza_name": "Pizza Bianca", - "ingredient_name":"oregano" - } +export const pizzasIngredientsSeed: IPizzasIngredientsDB[] = [ + { + pizza_name: "Margherita", + ingredient_name: "tomato" + }, + { + pizza_name: "Margherita", + ingredient_name: "mozzarella" + }, + { + pizza_name: "Bufala", + ingredient_name: "tomato" + }, + { + pizza_name: "Bufala", + ingredient_name: "mozarella di bufala" + }, + { + pizza_name: "Romana", + ingredient_name: "tomato" + }, + { + pizza_name: "Romana", + ingredient_name: "mozzarella" + }, + { + pizza_name: "Romana", + ingredient_name: "anchovies" + }, + { + pizza_name: "Romana", + ingredient_name: "oregano" + }, + { + pizza_name: "Romana", + ingredient_name: "oil" + }, + { + pizza_name: "Diavola", + ingredient_name: "tomato" + }, + { + pizza_name: "Diavola", + ingredient_name: "mozzarella" + }, + { + pizza_name: "Diavola", + ingredient_name: "spicy salami" + }, + { + pizza_name: "Pizza Bianca", + ingredient_name: "mozzarella" + }, + { + pizza_name: "Pizza Bianca", + ingredient_name: "oregano" + } ] \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/models/Orders.ts b/modulo6/case-2-Ambulnz/src/models/Orders.ts index fc91008..1fd2d38 100644 --- a/modulo6/case-2-Ambulnz/src/models/Orders.ts +++ b/modulo6/case-2-Ambulnz/src/models/Orders.ts @@ -6,7 +6,6 @@ id:string export interface IOrderItemDB { id:string, pizza_name:string, - price:number, quantity:number, order_id:string } diff --git a/modulo6/case-2-Ambulnz/src/models/Pizza.ts b/modulo6/case-2-Ambulnz/src/models/Pizza.ts index 76d5336..064c7a5 100644 --- a/modulo6/case-2-Ambulnz/src/models/Pizza.ts +++ b/modulo6/case-2-Ambulnz/src/models/Pizza.ts @@ -1,16 +1,15 @@ - export interface IPizzaDB { name: string, - price:number + price: number } export interface IIngredientsDB { name: string } -export interface IpizzaIngredientsDB { +export interface IPizzasIngredientsDB { pizza_name: string, - ingredient_name:string + ingredient_name: string } export class Pizza { @@ -19,12 +18,11 @@ export class Pizza { private price: number, private ingredients: string[] ) {} - - + public getName = () => { return this.name } - + public getPrice = () => { return this.price } @@ -45,17 +43,20 @@ export class Pizza { this.ingredients = newIngredients } - public removeIngredient = (ingredientToRemove:string) =>{ - return this.ingredients.filter((ingredient)=>(ingredient !== ingredientToRemove)) + public addIngredient = (newIngredient: string) => { + this.ingredients.push(newIngredient) + } + + public removeIngredient = (ingredientToRemove: string) => { + return this.ingredients.filter(ingredient => ingredient !== ingredientToRemove) } } export interface IGetPizzasOutputDTO { - message:string, - pizzas:{ - name:string, - price:number, - ingredients:string[] + message: string, + pizzas: { + name: string, + price: number, + ingredients: string[] }[] } - From 20b082f7cbc7762758eb74d42a60d7fb96cebfe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Thu, 6 Oct 2022 15:16:11 -0300 Subject: [PATCH 13/19] reestruturando arquivos por conflito na branch --- .../jest.config.js | 0 .../package-lock.json | 0 .../package.json | 0 case-1-Ambulnz/requests.rest | 21 +++ .../src/business/PingBusiness.ts | 0 case-1-Ambulnz/src/business/UserBusiness.ts | 136 ++++++++++++++++++ .../src/controller/PingController.ts | 0 .../src/controller/UserController.ts | 47 ++++++ .../src/database/BaseDatabase.ts | 0 case-1-Ambulnz/src/database/UserDatabase.ts | 35 +++++ .../src/database/migrations/Migrations.ts | 51 +++++++ .../src/database/migrations/data.ts | 25 ++++ .../src/errors/AuthenticationError.ts | 0 .../src/errors/AuthorizationError.ts | 0 .../src/errors/BaseError.ts | 0 .../src/errors/ConflictError.ts | 0 .../src/errors/NotFoundError.ts | 0 .../src/errors/ParamsError.ts | 0 .../src/errors/UnprocessableError.ts | 0 case-1-Ambulnz/src/index.ts | 19 +++ case-1-Ambulnz/src/models/User.ts | 83 +++++++++++ .../src/router/pingRouter.ts | 0 case-1-Ambulnz/src/router/userRouter.ts | 21 +++ case-1-Ambulnz/src/services/Authenticator.ts | 37 +++++ case-1-Ambulnz/src/services/HashManager.ts | 15 ++ .../src/services/IdGenerator.ts | 0 case-1-Ambulnz/tables.sql | 47 ++++++ .../tests/UserBusinessTests/login.test.ts | 0 .../tests/UserBusinessTests/signup.test.ts | 0 .../tests/mocks/AuthenticatorMock.ts | 37 +++++ case-1-Ambulnz/tests/mocks/HashManagerMock.ts | 17 +++ .../tests/mocks/IdGeneratorMock.ts | 0 .../tests/mocks/UserDatabaseMock.ts | 49 +++++++ .../tsconfig.json | 0 .../.gitignore | 0 modulo6/case-1-Ambulnz/jest.config.js | 8 ++ modulo6/case-1-Ambulnz/package.json | 40 ++++++ .../requests.rest | 0 .../src/business/OrderBusiness.ts | 0 .../src/business/PingBusiness.ts | 9 ++ .../src/business/PizzaBusiness.ts | 0 .../src/controller/OrderController.ts | 0 .../src/controller/PingController.ts | 22 +++ .../src/controller/PizzaController.ts | 0 .../src/database/BaseDatabase.ts | 18 +++ .../src/database/OrderDatabase.ts | 0 .../src/database/PizzaDatabase.ts | 0 .../src/database/migrations/Migrations.ts | 0 .../src/database/migrations/data.ts | 0 .../src/errors/AuthenticationError.ts | 9 ++ .../src/errors/AuthorizationError.ts | 9 ++ .../case-1-Ambulnz/src/errors/BaseError.ts | 8 ++ .../src/errors/ConflictError.ts | 9 ++ .../src/errors/NotFoundError.ts | 9 ++ .../case-1-Ambulnz/src/errors/ParamsError.ts | 9 ++ .../src/errors/UnprocessableError.ts | 9 ++ .../src/index.ts | 0 .../src/models/Orders.ts | 5 +- .../src/models/Pizza.ts | 0 .../src/router/orderRouter.ts | 0 .../case-1-Ambulnz/src/router/pingRouter.ts | 11 ++ .../src/router/pizzaRouter.ts | 0 .../src/services/Authenticator.ts | 37 +++++ .../src/services/HashManager.ts | 15 ++ .../src/services/IdGenerator.ts | 7 + .../tables.sql | 0 .../tests/mocks/AuthenticatorMock.ts | 0 .../tests/mocks/HashManagerMock.ts | 0 .../tests/mocks/UserDatabaseMock.ts | 0 modulo6/case-1-Ambulnz/tsconfig.json | 16 +++ 70 files changed, 889 insertions(+), 1 deletion(-) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/jest.config.js (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/package-lock.json (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/package.json (100%) create mode 100644 case-1-Ambulnz/requests.rest rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/business/PingBusiness.ts (100%) create mode 100644 case-1-Ambulnz/src/business/UserBusiness.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/controller/PingController.ts (100%) create mode 100644 case-1-Ambulnz/src/controller/UserController.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/database/BaseDatabase.ts (100%) create mode 100644 case-1-Ambulnz/src/database/UserDatabase.ts create mode 100644 case-1-Ambulnz/src/database/migrations/Migrations.ts create mode 100644 case-1-Ambulnz/src/database/migrations/data.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/AuthenticationError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/AuthorizationError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/BaseError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/ConflictError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/NotFoundError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/ParamsError.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/errors/UnprocessableError.ts (100%) create mode 100644 case-1-Ambulnz/src/index.ts create mode 100644 case-1-Ambulnz/src/models/User.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/router/pingRouter.ts (100%) create mode 100644 case-1-Ambulnz/src/router/userRouter.ts create mode 100644 case-1-Ambulnz/src/services/Authenticator.ts create mode 100644 case-1-Ambulnz/src/services/HashManager.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/src/services/IdGenerator.ts (100%) create mode 100644 case-1-Ambulnz/tables.sql rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/tests/UserBusinessTests/login.test.ts (100%) rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/tests/UserBusinessTests/signup.test.ts (100%) create mode 100644 case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts create mode 100644 case-1-Ambulnz/tests/mocks/HashManagerMock.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/tests/mocks/IdGeneratorMock.ts (100%) create mode 100644 case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts rename {modulo6/case-2-Ambulnz => case-1-Ambulnz}/tsconfig.json (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/.gitignore (100%) create mode 100644 modulo6/case-1-Ambulnz/jest.config.js create mode 100644 modulo6/case-1-Ambulnz/package.json rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/requests.rest (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/business/OrderBusiness.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/business/PingBusiness.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/business/PizzaBusiness.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/controller/OrderController.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/controller/PingController.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/controller/PizzaController.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/database/OrderDatabase.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/database/PizzaDatabase.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/database/migrations/Migrations.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/database/migrations/data.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/BaseError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/ConflictError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/ParamsError.ts create mode 100644 modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/index.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/models/Orders.ts (90%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/models/Pizza.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/router/orderRouter.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/router/pingRouter.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/src/router/pizzaRouter.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/src/services/Authenticator.ts create mode 100644 modulo6/case-1-Ambulnz/src/services/HashManager.ts create mode 100644 modulo6/case-1-Ambulnz/src/services/IdGenerator.ts rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/tables.sql (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/tests/mocks/AuthenticatorMock.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/tests/mocks/HashManagerMock.ts (100%) rename modulo6/{case-2-Ambulnz => case-1-Ambulnz}/tests/mocks/UserDatabaseMock.ts (100%) create mode 100644 modulo6/case-1-Ambulnz/tsconfig.json diff --git a/modulo6/case-2-Ambulnz/jest.config.js b/case-1-Ambulnz/jest.config.js similarity index 100% rename from modulo6/case-2-Ambulnz/jest.config.js rename to case-1-Ambulnz/jest.config.js diff --git a/modulo6/case-2-Ambulnz/package-lock.json b/case-1-Ambulnz/package-lock.json similarity index 100% rename from modulo6/case-2-Ambulnz/package-lock.json rename to case-1-Ambulnz/package-lock.json diff --git a/modulo6/case-2-Ambulnz/package.json b/case-1-Ambulnz/package.json similarity index 100% rename from modulo6/case-2-Ambulnz/package.json rename to case-1-Ambulnz/package.json diff --git a/case-1-Ambulnz/requests.rest b/case-1-Ambulnz/requests.rest new file mode 100644 index 0000000..b04c478 --- /dev/null +++ b/case-1-Ambulnz/requests.rest @@ -0,0 +1,21 @@ +### Ping +GET http://localhost:3003/ping + +### Signup +POST http://localhost:3003/users/signup +Content-Type: application/json + +{ + "name": "alice", + "email": "alice@gmail.com", + "password": "alice99" +} + +### Login +POST http://localhost:3003/users/login +Content-Type: application/json + +{ + "email": "astrodev@gmail.com", + "password": "bananinha" +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/PingBusiness.ts b/case-1-Ambulnz/src/business/PingBusiness.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/business/PingBusiness.ts rename to case-1-Ambulnz/src/business/PingBusiness.ts diff --git a/case-1-Ambulnz/src/business/UserBusiness.ts b/case-1-Ambulnz/src/business/UserBusiness.ts new file mode 100644 index 0000000..ab99554 --- /dev/null +++ b/case-1-Ambulnz/src/business/UserBusiness.ts @@ -0,0 +1,136 @@ +import { UserDatabase } from "../database/UserDatabase" +import { NotFoundError } from "../errors/NotFoundError" +import { ConflictError} from "../errors/ConflictError" +import { ParamsError} from "../errors/ParamsError" +import { ILoginInputDTO, ILoginOutputDTO, ISignupInputDTO, ISignupOutputDTO, User, USER_ROLES } from "../models/User" +import { Authenticator, ITokenPayload } from "../services/Authenticator" +import { HashManager } from "../services/HashManager" +import { IdGenerator } from "../services/IdGenerator" +import { AuthenticationError } from "../errors/AuthenticationError" + +export class UserBusiness { + constructor( + private userDatabase: UserDatabase, + private idGenerator: IdGenerator, + private hashManager: HashManager, + private authenticator: Authenticator + ) {} + + public signup = async (input: ISignupInputDTO): Promise => { + const { name, email, password } = input + + if (typeof name !== "string") { + throw new ParamsError("Parâmetro 'name' inválido: deve ser uma string") + } + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido: deve ser uma string") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido: deve ser uma string") + } + + if (name.length < 3) { + throw new ParamsError("Parâmetro 'name' inválido: mínimo de 3 caracteres") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const isEmailAlreadyExists = await this.userDatabase.findByEmail(email) + + if (isEmailAlreadyExists) { + throw new ConflictError("Email já cadastrado") + } + + const id = this.idGenerator.generate() + const hashedPassword = await this.hashManager.hash(password) + + const user = new User( + id, + name, + email, + hashedPassword, + USER_ROLES.NORMAL + ) + + await this.userDatabase.createUser(user) + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ISignupOutputDTO = { + message: "Cadastro realizado com sucesso", + token + } + + return response + } + + public login = async (input: ILoginInputDTO): Promise => { + const { email, password } = input + + if (typeof email !== "string") { + throw new ParamsError("Parâmetro 'email' inválido") + } + + if (typeof password !== "string") { + throw new ParamsError("Parâmetro 'password' inválido") + } + + if (password.length < 6) { + throw new ParamsError("Parâmetro 'password' inválido: mínimo de 6 caracteres") + } + + if (!email.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g)) { + throw new ParamsError("Parâmetro 'email' inválido") + } + + const userDB = await this.userDatabase.findByEmail(email) + + if (!userDB) { + throw new NotFoundError("Email não cadastrado") + } + + const user = new User( + userDB.id, + userDB.name, + userDB.email, + userDB.password, + userDB.role + ) + + const isPasswordCorrect = await this.hashManager.compare( + password, + user.getPassword() + ) + + if (!isPasswordCorrect) { + throw new AuthenticationError("Password incorreto") + } + + const payload: ITokenPayload = { + id: user.getId(), + role: user.getRole() + } + + const token = this.authenticator.generateToken(payload) + + const response: ILoginOutputDTO = { + message: "Login realizado com sucesso", + token + } + + return response + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/PingController.ts b/case-1-Ambulnz/src/controller/PingController.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/controller/PingController.ts rename to case-1-Ambulnz/src/controller/PingController.ts diff --git a/case-1-Ambulnz/src/controller/UserController.ts b/case-1-Ambulnz/src/controller/UserController.ts new file mode 100644 index 0000000..0e2c774 --- /dev/null +++ b/case-1-Ambulnz/src/controller/UserController.ts @@ -0,0 +1,47 @@ +import { Request, Response } from "express"; +import { UserBusiness } from "../business/UserBusiness"; +import { BaseError } from "../errors/BaseError"; +import { ILoginInputDTO, ISignupInputDTO } from "../models/User"; + +export class UserController { + constructor( + private userBusiness: UserBusiness + ) {} + + public signup = async (req: Request, res: Response) => { + try { + const input: ISignupInputDTO = { + name: req.body.name, + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.signup(input) + res.status(201).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + } + } + + public login = async (req: Request, res: Response) => { + try { + const input: ILoginInputDTO = { + email: req.body.email, + password: req.body.password + } + + const response = await this.userBusiness.login(input) + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado ao cadastrar usuário" }) + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts b/case-1-Ambulnz/src/database/BaseDatabase.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/database/BaseDatabase.ts rename to case-1-Ambulnz/src/database/BaseDatabase.ts diff --git a/case-1-Ambulnz/src/database/UserDatabase.ts b/case-1-Ambulnz/src/database/UserDatabase.ts new file mode 100644 index 0000000..7d42a6c --- /dev/null +++ b/case-1-Ambulnz/src/database/UserDatabase.ts @@ -0,0 +1,35 @@ +import { IUserDB, User } from "../models/User" +import { BaseDatabase } from "./BaseDatabase" + +export class UserDatabase extends BaseDatabase { + public static TABLE_USERS = "Template_Users" + + public toUserDBModel = (user: User): IUserDB => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + const result: IUserDB[] = await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .select() + .where({ email }) + + return result[0] + } + + public createUser = async (user: User): Promise => { + const userDB = this.toUserDBModel(user) + + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(userDB) + } +} \ No newline at end of file diff --git a/case-1-Ambulnz/src/database/migrations/Migrations.ts b/case-1-Ambulnz/src/database/migrations/Migrations.ts new file mode 100644 index 0000000..f0c6b9d --- /dev/null +++ b/case-1-Ambulnz/src/database/migrations/Migrations.ts @@ -0,0 +1,51 @@ +import { BaseDatabase } from "../BaseDatabase" +import { UserDatabase } from "../UserDatabase" +import { users } from "./data" + +class Migrations extends BaseDatabase { + execute = async () => { + try { + console.log("Creating tables...") + await this.createTables() + console.log("Tables created successfully.") + + console.log("Populating tables...") + await this.insertData() + console.log("Tables populated successfully.") + + console.log("Migrations completed.") + } catch (error) { + console.log("FAILED! Error in migrations...") + if (error instanceof Error) { + console.log(error.message) + } + } finally { + console.log("Ending connection...") + BaseDatabase.connection.destroy() + console.log("Connection closed graciously.") + } + } + + createTables = async () => { + await BaseDatabase.connection.raw(` + DROP TABLE IF EXISTS ${UserDatabase.TABLE_USERS}; + + CREATE TABLE IF NOT EXISTS ${UserDatabase.TABLE_USERS}( + id VARCHAR(255) PRIMARY KEY, + name VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM("NORMAL", "ADMIN") DEFAULT "NORMAL" NOT NULL + ); + `) + } + + insertData = async () => { + await BaseDatabase + .connection(UserDatabase.TABLE_USERS) + .insert(users) + } +} + +const migrations = new Migrations() +migrations.execute() \ No newline at end of file diff --git a/case-1-Ambulnz/src/database/migrations/data.ts b/case-1-Ambulnz/src/database/migrations/data.ts new file mode 100644 index 0000000..43665d7 --- /dev/null +++ b/case-1-Ambulnz/src/database/migrations/data.ts @@ -0,0 +1,25 @@ +import { IUserDB, USER_ROLES } from "../../models/User" + +export const users: IUserDB[] = [ + { + id: "101", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "$2a$12$RBAWOHpUvGTE.MEeIohAzec9tlVqtNA/x2PMPt/Hrt0vI437cQdJC", // bananinha + role: USER_ROLES.ADMIN + }, + { + id: "102", + name: "Fulano", + email: "fulano@gmail.com", + password: "$2a$12$PULtVNlAll87D6E8pR/0HO9vbzVDPaUMA89rc5cNmYoAAepbwmkcO", // qwerty00 + role: USER_ROLES.NORMAL + }, + { + id: "103", + name: "Ciclana", + email: "ciclana@gmail.com", + password: "$2a$12$LkWMqS3oPhP2iVMcZOVvWer9ahUPulxjB0EA4TWPxWaRuEEfYGu/i", // asdfg123 + role: USER_ROLES.NORMAL + } +] \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts b/case-1-Ambulnz/src/errors/AuthenticationError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/AuthenticationError.ts rename to case-1-Ambulnz/src/errors/AuthenticationError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts b/case-1-Ambulnz/src/errors/AuthorizationError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/AuthorizationError.ts rename to case-1-Ambulnz/src/errors/AuthorizationError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/BaseError.ts b/case-1-Ambulnz/src/errors/BaseError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/BaseError.ts rename to case-1-Ambulnz/src/errors/BaseError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/ConflictError.ts b/case-1-Ambulnz/src/errors/ConflictError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/ConflictError.ts rename to case-1-Ambulnz/src/errors/ConflictError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts b/case-1-Ambulnz/src/errors/NotFoundError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/NotFoundError.ts rename to case-1-Ambulnz/src/errors/NotFoundError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/ParamsError.ts b/case-1-Ambulnz/src/errors/ParamsError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/ParamsError.ts rename to case-1-Ambulnz/src/errors/ParamsError.ts diff --git a/modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts b/case-1-Ambulnz/src/errors/UnprocessableError.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/errors/UnprocessableError.ts rename to case-1-Ambulnz/src/errors/UnprocessableError.ts diff --git a/case-1-Ambulnz/src/index.ts b/case-1-Ambulnz/src/index.ts new file mode 100644 index 0000000..ea8f538 --- /dev/null +++ b/case-1-Ambulnz/src/index.ts @@ -0,0 +1,19 @@ +import express from 'express' +import cors from 'cors' +import dotenv from "dotenv" + +import { pingRouter } from './router/pingRouter' +import { userRouter } from './router/userRouter' + +dotenv.config() + +const app = express() +app.use(express.json()) +app.use(cors()) + +app.listen(process.env.PORT || 3003, () => { + console.log(`Servidor rodando na porta ${process.env.PORT || 3003}`) +}) + +app.use("/ping", pingRouter) +app.use("/users", userRouter) \ No newline at end of file diff --git a/case-1-Ambulnz/src/models/User.ts b/case-1-Ambulnz/src/models/User.ts new file mode 100644 index 0000000..93d84c3 --- /dev/null +++ b/case-1-Ambulnz/src/models/User.ts @@ -0,0 +1,83 @@ +export enum USER_ROLES { + NORMAL = "NORMAL", + ADMIN = "ADMIN" +} + +export interface IUserDB { + id: string, + name: string, + email: string, + password: string, + role: USER_ROLES +} + +export class User { + constructor( + private id: string, + private name: string, + private email: string, + private password: string, + private role: USER_ROLES + ) {} + + public getId = () => { + return this.id + } + + public getName = () => { + return this.name + } + + public getEmail = () => { + return this.email + } + + public getPassword = () => { + return this.password + } + + public getRole = () => { + return this.role + } + + public setId = (newId: string) => { + this.id = newId + } + + public setName = (newName: string) => { + this.name = newName + } + + public setEmail = (newEmail: string) => { + this.email = newEmail + } + + public setPassword = (newPassword: string) => { + this.password = newPassword + } + + public setRole = (newRole: USER_ROLES) => { + this.role = newRole + } +} + +export interface ISignupInputDTO { + name: string, + email: string, + password: string +} + +export interface ISignupOutputDTO { + message: string, + token: string +} + +export interface ILoginInputDTO { + email: string, + password: string +} + +export interface ILoginOutputDTO { + message: string, + token: string +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/router/pingRouter.ts b/case-1-Ambulnz/src/router/pingRouter.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/router/pingRouter.ts rename to case-1-Ambulnz/src/router/pingRouter.ts diff --git a/case-1-Ambulnz/src/router/userRouter.ts b/case-1-Ambulnz/src/router/userRouter.ts new file mode 100644 index 0000000..6de7d6c --- /dev/null +++ b/case-1-Ambulnz/src/router/userRouter.ts @@ -0,0 +1,21 @@ +import { Router } from 'express' +import { UserBusiness } from '../business/UserBusiness' +import { UserController } from '../controller/UserController' +import { UserDatabase } from '../database/UserDatabase' +import { Authenticator } from '../services/Authenticator' +import { HashManager } from '../services/HashManager' +import { IdGenerator } from '../services/IdGenerator' + +export const userRouter = Router() + +const userController = new UserController( + new UserBusiness( + new UserDatabase(), + new IdGenerator(), + new HashManager(), + new Authenticator() + ) +) + +userRouter.post("/signup", userController.signup) +userRouter.post("/login", userController.login) \ No newline at end of file diff --git a/case-1-Ambulnz/src/services/Authenticator.ts b/case-1-Ambulnz/src/services/Authenticator.ts new file mode 100644 index 0000000..dfa9293 --- /dev/null +++ b/case-1-Ambulnz/src/services/Authenticator.ts @@ -0,0 +1,37 @@ +import jwt from 'jsonwebtoken' +import dotenv from "dotenv" +import { USER_ROLES } from '../models/User' + +dotenv.config() + +export interface ITokenPayload { + id: string, + role: USER_ROLES +} + +export class Authenticator { + generateToken = (payload: ITokenPayload): string => { + const token = jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + + return token + } + + getTokenPayload = (token: string): ITokenPayload | null => { + try { + const payload = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return payload as ITokenPayload + } catch (error) { + return null + } + } +} \ No newline at end of file diff --git a/case-1-Ambulnz/src/services/HashManager.ts b/case-1-Ambulnz/src/services/HashManager.ts new file mode 100644 index 0000000..5676b5a --- /dev/null +++ b/case-1-Ambulnz/src/services/HashManager.ts @@ -0,0 +1,15 @@ +import bcrypt from 'bcryptjs' + +export class HashManager { + public hash = async (plaintext: string): Promise => { + const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) + const salt = await bcrypt.genSalt(rounds) + const hash = await bcrypt.hash(plaintext, salt) + + return hash + } + + public compare = async (plaintext: string, hash: string): Promise => { + return bcrypt.compare(plaintext, hash) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/services/IdGenerator.ts b/case-1-Ambulnz/src/services/IdGenerator.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/services/IdGenerator.ts rename to case-1-Ambulnz/src/services/IdGenerator.ts diff --git a/case-1-Ambulnz/tables.sql b/case-1-Ambulnz/tables.sql new file mode 100644 index 0000000..a33f634 --- /dev/null +++ b/case-1-Ambulnz/tables.sql @@ -0,0 +1,47 @@ +-- Active: 1662659335013@@35.226.146.116@3306@freire-aline-chagas +CREATE TABLE IF NOT EXISTS Amb_pizzas( + NAME VARCHAR(255) PRIMARY KEY, + PRICE DECIMAL(3,2) NOT NULL +); +CREATE TABLE IF NOT EXISTS Amb_ingredients( + NAME VARCHAR(255) PRIMARY KEY +); +CREATE TABLE IF NOT EXISTS Amb_pizzas_ingredients( + PIZZA_NAME VARCHAR(255) NOT NULL, + INGREDIENT_NAME VARCHAR(255) NOT NULL, + FOREIGN KEY (PIZZA_NAME) REFERENCES Amb_pizzas(name), + FOREIGN KEY (INGREDIENT_NAME) REFERENCES Amb_ingredients(name) +); + +CREATE TABLE IF NOT EXISTS Amb_order_item( +ID MEDIUMINT AUTO_INCREMENT PRIMARY KEY, +NAME VARCHAR (255) NOT NULL, +QUANTITY TINYINT, +FOREIGN KEY (NAME) REFERENCES Amb_pizzas(name) +); + +CREATE TABLE IF NOT EXISTS Amb_orders( +id VARCHAR(255) NOT NULL +); + +CREATE TABLE IF NOT EXISTS Amb_orders_order_item( + order_id VARCHAR(255) NOT NULL, + item_id VARCHAR(255) NOT NULL, + FOREIGN KEY (order_id) REFERENCES Amb_order_item(name) +); +INSERT INTO `Amb_pizzas_ingredients` VALUES( +"Bufala", +"Mozzarella di bufala" +); + + +SELECT * FROM `Amb_pizzas` +JOIN `Amb_pizzas_ingredients` +ON Amb_pizzas_ingredients.PIZZA_NAME = Amb_pizzas.NAME +WHERE NAME = "Margherita"; + +SELECT * FROM `Amb_orders` +JOIN `Amb_orders_order_item` +ON Amb_orders_order_item +WHERE NAME = "Margherita"; + diff --git a/modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts b/case-1-Ambulnz/tests/UserBusinessTests/login.test.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/UserBusinessTests/login.test.ts rename to case-1-Ambulnz/tests/UserBusinessTests/login.test.ts diff --git a/modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts b/case-1-Ambulnz/tests/UserBusinessTests/signup.test.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/UserBusinessTests/signup.test.ts rename to case-1-Ambulnz/tests/UserBusinessTests/signup.test.ts diff --git a/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts b/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts new file mode 100644 index 0000000..84498e6 --- /dev/null +++ b/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts @@ -0,0 +1,37 @@ +import { USER_ROLES } from "../../src/models/User" +import { ITokenPayload } from "../../src/services/Authenticator" + +export class AuthenticatorMock { + public generateToken = (payload: ITokenPayload): string => { + switch (payload.role) { + case USER_ROLES.ADMIN: + return "token-mock-admin" + default: + return "token-mock-normal" + } + } + + public getTokenPayload = (token: string): ITokenPayload | null => { + switch (token) { + case "token-mock-admin": + const adminPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.ADMIN + } + + return adminPayload + + case "token-mock-normal": + const normalPayload: ITokenPayload = { + id: "id-mock", + role: USER_ROLES.NORMAL + } + + return normalPayload + + default: + return null + } + } + +} \ No newline at end of file diff --git a/case-1-Ambulnz/tests/mocks/HashManagerMock.ts b/case-1-Ambulnz/tests/mocks/HashManagerMock.ts new file mode 100644 index 0000000..0b4ec43 --- /dev/null +++ b/case-1-Ambulnz/tests/mocks/HashManagerMock.ts @@ -0,0 +1,17 @@ +export class HashManagerMock { + public hash = async (plaintext: string): Promise => { + if (plaintext == "bananinha") { + return "hash-bananinha" + } + + return "hash-mock" + } + + public compare = async (plaintext: string, hash: string): Promise => { + if (plaintext == "bananinha" && hash == "hash-bananinha") { + return true + } + + return false + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts b/case-1-Ambulnz/tests/mocks/IdGeneratorMock.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/mocks/IdGeneratorMock.ts rename to case-1-Ambulnz/tests/mocks/IdGeneratorMock.ts diff --git a/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts b/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts new file mode 100644 index 0000000..b563546 --- /dev/null +++ b/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts @@ -0,0 +1,49 @@ +import { IUserDB, User, USER_ROLES } from "../../src/models/User" +import { BaseDatabase } from "../../src/database/BaseDatabase" + +export class UserDatabaseMock extends BaseDatabase { + public static TABLE_USERS = "Labook_Users" + + public toUserDBModel = (user: User) => { + const userDB: IUserDB = { + id: user.getId(), + name: user.getName(), + email: user.getEmail(), + password: user.getPassword(), + role: user.getRole() + } + + return userDB + } + + public findByEmail = async (email: string): Promise => { + switch (email) { + case "usermock@gmail.com": + const normalUser: IUserDB = { + id: "id-mock", + name: "User Mock", + email: "usermock@gmail.com", + password: "hash-mock", + role: USER_ROLES.NORMAL + } + + return normalUser + + case "astrodev@gmail.com": + const adminUser: IUserDB = { + id: "id-mock", + name: "Astrodev", + email: "astrodev@gmail.com", + password: "hash-bananinha", + role: USER_ROLES.ADMIN + } + + return adminUser + + default: + return undefined + } + } + + public createUser = async (user: User): Promise => {} +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tsconfig.json b/case-1-Ambulnz/tsconfig.json similarity index 100% rename from modulo6/case-2-Ambulnz/tsconfig.json rename to case-1-Ambulnz/tsconfig.json diff --git a/modulo6/case-2-Ambulnz/.gitignore b/modulo6/case-1-Ambulnz/.gitignore similarity index 100% rename from modulo6/case-2-Ambulnz/.gitignore rename to modulo6/case-1-Ambulnz/.gitignore diff --git a/modulo6/case-1-Ambulnz/jest.config.js b/modulo6/case-1-Ambulnz/jest.config.js new file mode 100644 index 0000000..cee01ad --- /dev/null +++ b/modulo6/case-1-Ambulnz/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/package.json b/modulo6/case-1-Ambulnz/package.json new file mode 100644 index 0000000..478c292 --- /dev/null +++ b/modulo6/case-1-Ambulnz/package.json @@ -0,0 +1,40 @@ +{ + "name": "template-backend", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "node ./build/src/index.js", + "build": "tsc", + "dev": "ts-node-dev ./src/index.ts", + "migrations": "tsc && node ./build/src/database/migrations/Migrations.js", + "test": "jest" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/bcryptjs": "^2.4.2", + "@types/cors": "^2.8.12", + "@types/express": "^4.17.14", + "@types/jest": "^29.0.3", + "@types/jsonwebtoken": "^8.5.9", + "@types/knex": "^0.16.1", + "@types/node": "^18.7.23", + "@types/uuid": "^8.3.4", + "jest": "^29.1.1", + "ts-jest": "^29.0.2", + "ts-node-dev": "^2.0.0", + "typescript": "^4.8.4" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "cors": "^2.8.5", + "dotenv": "^16.0.2", + "express": "^4.18.1", + "jsonwebtoken": "^8.5.1", + "knex": "^2.3.0", + "mysql": "^2.18.1", + "uuid": "^9.0.0" + } +} diff --git a/modulo6/case-2-Ambulnz/requests.rest b/modulo6/case-1-Ambulnz/requests.rest similarity index 100% rename from modulo6/case-2-Ambulnz/requests.rest rename to modulo6/case-1-Ambulnz/requests.rest diff --git a/modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts b/modulo6/case-1-Ambulnz/src/business/OrderBusiness.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/business/OrderBusiness.ts rename to modulo6/case-1-Ambulnz/src/business/OrderBusiness.ts diff --git a/modulo6/case-1-Ambulnz/src/business/PingBusiness.ts b/modulo6/case-1-Ambulnz/src/business/PingBusiness.ts new file mode 100644 index 0000000..9c624ae --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/business/PingBusiness.ts @@ -0,0 +1,9 @@ +export class PingBusiness { + public ping = async () => { + const response = { + message: "Pong!" + } + + return response + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts b/modulo6/case-1-Ambulnz/src/business/PizzaBusiness.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/business/PizzaBusiness.ts rename to modulo6/case-1-Ambulnz/src/business/PizzaBusiness.ts diff --git a/modulo6/case-2-Ambulnz/src/controller/OrderController.ts b/modulo6/case-1-Ambulnz/src/controller/OrderController.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/controller/OrderController.ts rename to modulo6/case-1-Ambulnz/src/controller/OrderController.ts diff --git a/modulo6/case-1-Ambulnz/src/controller/PingController.ts b/modulo6/case-1-Ambulnz/src/controller/PingController.ts new file mode 100644 index 0000000..c80eec2 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/controller/PingController.ts @@ -0,0 +1,22 @@ +import { Request, Response } from "express" +import { PingBusiness } from "../business/PingBusiness" +import { BaseError } from "../errors/BaseError" + +export class PingController { + constructor( + private pingBusiness: PingBusiness + ) {} + + public ping = async (req: Request, res: Response) => { + try { + const response = await this.pingBusiness.ping() + res.status(200).send(response) + } catch (error) { + console.log(error) + if (error instanceof BaseError) { + return res.status(error.statusCode).send({ message: error.message }) + } + res.status(500).send({ message: "Erro inesperado no endpoint ping" }) + } + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/controller/PizzaController.ts b/modulo6/case-1-Ambulnz/src/controller/PizzaController.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/controller/PizzaController.ts rename to modulo6/case-1-Ambulnz/src/controller/PizzaController.ts diff --git a/modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts b/modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts new file mode 100644 index 0000000..2b66ee8 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts @@ -0,0 +1,18 @@ +import knex from "knex" +import dotenv from "dotenv" + +dotenv.config() + +export abstract class BaseDatabase { + protected static connection = knex({ + client: "mysql", + connection: { + host: process.env.DB_HOST, + port: 3306, + user: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_DATABASE, + multipleStatements: true + }, + }) +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts b/modulo6/case-1-Ambulnz/src/database/OrderDatabase.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/database/OrderDatabase.ts rename to modulo6/case-1-Ambulnz/src/database/OrderDatabase.ts diff --git a/modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts b/modulo6/case-1-Ambulnz/src/database/PizzaDatabase.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/database/PizzaDatabase.ts rename to modulo6/case-1-Ambulnz/src/database/PizzaDatabase.ts diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-1-Ambulnz/src/database/migrations/Migrations.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/database/migrations/Migrations.ts rename to modulo6/case-1-Ambulnz/src/database/migrations/Migrations.ts diff --git a/modulo6/case-2-Ambulnz/src/database/migrations/data.ts b/modulo6/case-1-Ambulnz/src/database/migrations/data.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/database/migrations/data.ts rename to modulo6/case-1-Ambulnz/src/database/migrations/data.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts b/modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts new file mode 100644 index 0000000..8ddc147 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthenticationError extends BaseError { + constructor( + message: string = "Credenciais inválidas" + ) { + super(401, message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts b/modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts new file mode 100644 index 0000000..579ef71 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class AuthorizationError extends BaseError { + constructor( + message: string = "Permissão insuficiente" + ) { + super(403, message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/BaseError.ts b/modulo6/case-1-Ambulnz/src/errors/BaseError.ts new file mode 100644 index 0000000..f6324d2 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/BaseError.ts @@ -0,0 +1,8 @@ +export class BaseError extends Error { + constructor( + public statusCode: number, + message: string + ) { + super(message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/ConflictError.ts b/modulo6/case-1-Ambulnz/src/errors/ConflictError.ts new file mode 100644 index 0000000..5f43622 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/ConflictError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ConflictError extends BaseError { + constructor( + message: string = "Recurso já existe" + ) { + super(409, message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts b/modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts new file mode 100644 index 0000000..9ecac80 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class NotFoundError extends BaseError { + constructor( + message: string = "Recurso não encontrado" + ) { + super(404, message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/ParamsError.ts b/modulo6/case-1-Ambulnz/src/errors/ParamsError.ts new file mode 100644 index 0000000..bf551fb --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/ParamsError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class ParamsError extends BaseError { + constructor( + message: string = "Parâmetros inválidos ou faltando" + ) { + super(400, message) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts b/modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts new file mode 100644 index 0000000..3e1dd49 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts @@ -0,0 +1,9 @@ +import { BaseError } from "./BaseError"; + +export class UnprocessableError extends BaseError { + constructor( + message: string = "Parâmetros válidos, porém com erros de semântica" + ) { + super(422, message) + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/index.ts b/modulo6/case-1-Ambulnz/src/index.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/index.ts rename to modulo6/case-1-Ambulnz/src/index.ts diff --git a/modulo6/case-2-Ambulnz/src/models/Orders.ts b/modulo6/case-1-Ambulnz/src/models/Orders.ts similarity index 90% rename from modulo6/case-2-Ambulnz/src/models/Orders.ts rename to modulo6/case-1-Ambulnz/src/models/Orders.ts index 1fd2d38..d2ed7ac 100644 --- a/modulo6/case-2-Ambulnz/src/models/Orders.ts +++ b/modulo6/case-1-Ambulnz/src/models/Orders.ts @@ -60,10 +60,13 @@ export class Order{ public addOrderItem = (newOrderItem: IOrderItem) => { this.orderItems.push(newOrderItem) + this.total = this.calculateTotal() } public removeOrderItem = (idToRemove: string) => { - return this.orderItems.filter(orderItem => orderItem.id !== idToRemove) + this.orderItems.filter(orderItem => orderItem.id !== idToRemove) + this.total = this.calculateTotal() + } public getTotal = () => { return this.total diff --git a/modulo6/case-2-Ambulnz/src/models/Pizza.ts b/modulo6/case-1-Ambulnz/src/models/Pizza.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/models/Pizza.ts rename to modulo6/case-1-Ambulnz/src/models/Pizza.ts diff --git a/modulo6/case-2-Ambulnz/src/router/orderRouter.ts b/modulo6/case-1-Ambulnz/src/router/orderRouter.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/router/orderRouter.ts rename to modulo6/case-1-Ambulnz/src/router/orderRouter.ts diff --git a/modulo6/case-1-Ambulnz/src/router/pingRouter.ts b/modulo6/case-1-Ambulnz/src/router/pingRouter.ts new file mode 100644 index 0000000..d16081d --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/router/pingRouter.ts @@ -0,0 +1,11 @@ +import { Router } from 'express' +import { PingBusiness } from '../business/PingBusiness' +import { PingController } from '../controller/PingController' + +export const pingRouter = Router() + +const pingController = new PingController( + new PingBusiness() +) + +pingRouter.get("/", pingController.ping) \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts b/modulo6/case-1-Ambulnz/src/router/pizzaRouter.ts similarity index 100% rename from modulo6/case-2-Ambulnz/src/router/pizzaRouter.ts rename to modulo6/case-1-Ambulnz/src/router/pizzaRouter.ts diff --git a/modulo6/case-1-Ambulnz/src/services/Authenticator.ts b/modulo6/case-1-Ambulnz/src/services/Authenticator.ts new file mode 100644 index 0000000..dfa9293 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/services/Authenticator.ts @@ -0,0 +1,37 @@ +import jwt from 'jsonwebtoken' +import dotenv from "dotenv" +import { USER_ROLES } from '../models/User' + +dotenv.config() + +export interface ITokenPayload { + id: string, + role: USER_ROLES +} + +export class Authenticator { + generateToken = (payload: ITokenPayload): string => { + const token = jwt.sign( + payload, + process.env.JWT_KEY as string, + { + expiresIn: process.env.JWT_EXPIRES_IN + } + ) + + return token + } + + getTokenPayload = (token: string): ITokenPayload | null => { + try { + const payload = jwt.verify( + token, + process.env.JWT_KEY as string + ) + + return payload as ITokenPayload + } catch (error) { + return null + } + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/services/HashManager.ts b/modulo6/case-1-Ambulnz/src/services/HashManager.ts new file mode 100644 index 0000000..5676b5a --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/services/HashManager.ts @@ -0,0 +1,15 @@ +import bcrypt from 'bcryptjs' + +export class HashManager { + public hash = async (plaintext: string): Promise => { + const rounds = Number(process.env.BCRYPT_SALT_ROUNDS) + const salt = await bcrypt.genSalt(rounds) + const hash = await bcrypt.hash(plaintext, salt) + + return hash + } + + public compare = async (plaintext: string, hash: string): Promise => { + return bcrypt.compare(plaintext, hash) + } +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz/src/services/IdGenerator.ts b/modulo6/case-1-Ambulnz/src/services/IdGenerator.ts new file mode 100644 index 0000000..75c9e00 --- /dev/null +++ b/modulo6/case-1-Ambulnz/src/services/IdGenerator.ts @@ -0,0 +1,7 @@ +import { v4 } from 'uuid' + +export class IdGenerator { + public generate = (): string => { + return v4() + } +} \ No newline at end of file diff --git a/modulo6/case-2-Ambulnz/tables.sql b/modulo6/case-1-Ambulnz/tables.sql similarity index 100% rename from modulo6/case-2-Ambulnz/tables.sql rename to modulo6/case-1-Ambulnz/tables.sql diff --git a/modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts b/modulo6/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/mocks/AuthenticatorMock.ts rename to modulo6/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts diff --git a/modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts b/modulo6/case-1-Ambulnz/tests/mocks/HashManagerMock.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/mocks/HashManagerMock.ts rename to modulo6/case-1-Ambulnz/tests/mocks/HashManagerMock.ts diff --git a/modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts b/modulo6/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts similarity index 100% rename from modulo6/case-2-Ambulnz/tests/mocks/UserDatabaseMock.ts rename to modulo6/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts diff --git a/modulo6/case-1-Ambulnz/tsconfig.json b/modulo6/case-1-Ambulnz/tsconfig.json new file mode 100644 index 0000000..5abb76c --- /dev/null +++ b/modulo6/case-1-Ambulnz/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./", + "removeComments": true, + "noImplicitAny": true, + "esModuleInterop": true, + "strict": true + }, + "exclude": [ + "./tests/*" + ] +} \ No newline at end of file From 4be2af542dbec877ae7c03770419764b491af1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Thu, 6 Oct 2022 15:26:15 -0300 Subject: [PATCH 14/19] renomeando pastas do case 1 - frontend e backend --- .../.gitignore | 0 .../jest.config.js | 0 .../package.json | 0 .../requests.rest | 0 .../src/business/OrderBusiness.ts | 0 .../src/business/PingBusiness.ts | 0 .../src/business/PizzaBusiness.ts | 0 .../src/controller/OrderController.ts | 0 .../src/controller/PingController.ts | 0 .../src/controller/PizzaController.ts | 0 .../src/database/BaseDatabase.ts | 0 .../src/database/OrderDatabase.ts | 0 .../src/database/PizzaDatabase.ts | 0 .../src/database/migrations/Migrations.ts | 0 .../src/database/migrations/data.ts | 0 .../src/errors/AuthenticationError.ts | 0 .../src/errors/AuthorizationError.ts | 0 .../src/errors/BaseError.ts | 0 .../src/errors/ConflictError.ts | 0 .../src/errors/NotFoundError.ts | 0 .../src/errors/ParamsError.ts | 0 .../src/errors/UnprocessableError.ts | 0 .../src/index.ts | 0 .../src/models/Orders.ts | 0 .../src/models/Pizza.ts | 0 .../src/router/orderRouter.ts | 0 .../src/router/pingRouter.ts | 0 .../src/router/pizzaRouter.ts | 0 .../src/services/Authenticator.ts | 0 .../src/services/HashManager.ts | 0 .../src/services/IdGenerator.ts | 0 .../tables.sql | 0 .../tests/mocks/AuthenticatorMock.ts | 0 .../tests/mocks/HashManagerMock.ts | 0 .../tests/mocks/UserDatabaseMock.ts | 0 .../tsconfig.json | 0 modulo6/case-1-Ambulnz-frontend/.gitignore | 23 + modulo6/case-1-Ambulnz-frontend/README.md | 70 + .../case-1-Ambulnz-frontend/package-lock.json | 28755 ++++++++++++++++ modulo6/case-1-Ambulnz-frontend/package.json | 38 + .../public/favicon.ico | Bin 0 -> 3870 bytes .../case-1-Ambulnz-frontend/public/index.html | 43 + .../public/logo192.png | Bin 0 -> 5347 bytes .../public/logo512.png | Bin 0 -> 9664 bytes .../public/manifest.json | 25 + .../case-1-Ambulnz-frontend/public/robots.txt | 3 + modulo6/case-1-Ambulnz-frontend/src/App.css | 38 + modulo6/case-1-Ambulnz-frontend/src/App.js | 25 + .../case-1-Ambulnz-frontend/src/App.test.js | 8 + modulo6/case-1-Ambulnz-frontend/src/index.css | 13 + modulo6/case-1-Ambulnz-frontend/src/index.js | 17 + modulo6/case-1-Ambulnz-frontend/src/logo.svg | 1 + .../src/reportWebVitals.js | 13 + .../case-1-Ambulnz-frontend/src/setupTests.js | 5 + 54 files changed, 29077 insertions(+) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/.gitignore (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/jest.config.js (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/package.json (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/requests.rest (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/business/OrderBusiness.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/business/PingBusiness.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/business/PizzaBusiness.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/controller/OrderController.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/controller/PingController.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/controller/PizzaController.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/database/BaseDatabase.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/database/OrderDatabase.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/database/PizzaDatabase.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/database/migrations/Migrations.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/database/migrations/data.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/AuthenticationError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/AuthorizationError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/BaseError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/ConflictError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/NotFoundError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/ParamsError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/errors/UnprocessableError.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/index.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/models/Orders.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/models/Pizza.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/router/orderRouter.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/router/pingRouter.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/router/pizzaRouter.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/services/Authenticator.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/services/HashManager.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/src/services/IdGenerator.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/tables.sql (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/tests/mocks/AuthenticatorMock.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/tests/mocks/HashManagerMock.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/tests/mocks/UserDatabaseMock.ts (100%) rename modulo6/{case-1-Ambulnz => case-1-Ambulnz-backend}/tsconfig.json (100%) create mode 100644 modulo6/case-1-Ambulnz-frontend/.gitignore create mode 100644 modulo6/case-1-Ambulnz-frontend/README.md create mode 100644 modulo6/case-1-Ambulnz-frontend/package-lock.json create mode 100644 modulo6/case-1-Ambulnz-frontend/package.json create mode 100644 modulo6/case-1-Ambulnz-frontend/public/favicon.ico create mode 100644 modulo6/case-1-Ambulnz-frontend/public/index.html create mode 100644 modulo6/case-1-Ambulnz-frontend/public/logo192.png create mode 100644 modulo6/case-1-Ambulnz-frontend/public/logo512.png create mode 100644 modulo6/case-1-Ambulnz-frontend/public/manifest.json create mode 100644 modulo6/case-1-Ambulnz-frontend/public/robots.txt create mode 100644 modulo6/case-1-Ambulnz-frontend/src/App.css create mode 100644 modulo6/case-1-Ambulnz-frontend/src/App.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/App.test.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/index.css create mode 100644 modulo6/case-1-Ambulnz-frontend/src/index.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/logo.svg create mode 100644 modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/setupTests.js diff --git a/modulo6/case-1-Ambulnz/.gitignore b/modulo6/case-1-Ambulnz-backend/.gitignore similarity index 100% rename from modulo6/case-1-Ambulnz/.gitignore rename to modulo6/case-1-Ambulnz-backend/.gitignore diff --git a/modulo6/case-1-Ambulnz/jest.config.js b/modulo6/case-1-Ambulnz-backend/jest.config.js similarity index 100% rename from modulo6/case-1-Ambulnz/jest.config.js rename to modulo6/case-1-Ambulnz-backend/jest.config.js diff --git a/modulo6/case-1-Ambulnz/package.json b/modulo6/case-1-Ambulnz-backend/package.json similarity index 100% rename from modulo6/case-1-Ambulnz/package.json rename to modulo6/case-1-Ambulnz-backend/package.json diff --git a/modulo6/case-1-Ambulnz/requests.rest b/modulo6/case-1-Ambulnz-backend/requests.rest similarity index 100% rename from modulo6/case-1-Ambulnz/requests.rest rename to modulo6/case-1-Ambulnz-backend/requests.rest diff --git a/modulo6/case-1-Ambulnz/src/business/OrderBusiness.ts b/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/business/OrderBusiness.ts rename to modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts diff --git a/modulo6/case-1-Ambulnz/src/business/PingBusiness.ts b/modulo6/case-1-Ambulnz-backend/src/business/PingBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/business/PingBusiness.ts rename to modulo6/case-1-Ambulnz-backend/src/business/PingBusiness.ts diff --git a/modulo6/case-1-Ambulnz/src/business/PizzaBusiness.ts b/modulo6/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/business/PizzaBusiness.ts rename to modulo6/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts diff --git a/modulo6/case-1-Ambulnz/src/controller/OrderController.ts b/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/controller/OrderController.ts rename to modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts diff --git a/modulo6/case-1-Ambulnz/src/controller/PingController.ts b/modulo6/case-1-Ambulnz-backend/src/controller/PingController.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/controller/PingController.ts rename to modulo6/case-1-Ambulnz-backend/src/controller/PingController.ts diff --git a/modulo6/case-1-Ambulnz/src/controller/PizzaController.ts b/modulo6/case-1-Ambulnz-backend/src/controller/PizzaController.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/controller/PizzaController.ts rename to modulo6/case-1-Ambulnz-backend/src/controller/PizzaController.ts diff --git a/modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts b/modulo6/case-1-Ambulnz-backend/src/database/BaseDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/database/BaseDatabase.ts rename to modulo6/case-1-Ambulnz-backend/src/database/BaseDatabase.ts diff --git a/modulo6/case-1-Ambulnz/src/database/OrderDatabase.ts b/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/database/OrderDatabase.ts rename to modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts diff --git a/modulo6/case-1-Ambulnz/src/database/PizzaDatabase.ts b/modulo6/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/database/PizzaDatabase.ts rename to modulo6/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts diff --git a/modulo6/case-1-Ambulnz/src/database/migrations/Migrations.ts b/modulo6/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/database/migrations/Migrations.ts rename to modulo6/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts diff --git a/modulo6/case-1-Ambulnz/src/database/migrations/data.ts b/modulo6/case-1-Ambulnz-backend/src/database/migrations/data.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/database/migrations/data.ts rename to modulo6/case-1-Ambulnz-backend/src/database/migrations/data.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/AuthenticationError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/AuthorizationError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/BaseError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/BaseError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/BaseError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/BaseError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/ConflictError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/ConflictError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/ConflictError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/ConflictError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/NotFoundError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/NotFoundError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/NotFoundError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/ParamsError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/ParamsError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/ParamsError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/ParamsError.ts diff --git a/modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts b/modulo6/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/errors/UnprocessableError.ts rename to modulo6/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts diff --git a/modulo6/case-1-Ambulnz/src/index.ts b/modulo6/case-1-Ambulnz-backend/src/index.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/index.ts rename to modulo6/case-1-Ambulnz-backend/src/index.ts diff --git a/modulo6/case-1-Ambulnz/src/models/Orders.ts b/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/models/Orders.ts rename to modulo6/case-1-Ambulnz-backend/src/models/Orders.ts diff --git a/modulo6/case-1-Ambulnz/src/models/Pizza.ts b/modulo6/case-1-Ambulnz-backend/src/models/Pizza.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/models/Pizza.ts rename to modulo6/case-1-Ambulnz-backend/src/models/Pizza.ts diff --git a/modulo6/case-1-Ambulnz/src/router/orderRouter.ts b/modulo6/case-1-Ambulnz-backend/src/router/orderRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/router/orderRouter.ts rename to modulo6/case-1-Ambulnz-backend/src/router/orderRouter.ts diff --git a/modulo6/case-1-Ambulnz/src/router/pingRouter.ts b/modulo6/case-1-Ambulnz-backend/src/router/pingRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/router/pingRouter.ts rename to modulo6/case-1-Ambulnz-backend/src/router/pingRouter.ts diff --git a/modulo6/case-1-Ambulnz/src/router/pizzaRouter.ts b/modulo6/case-1-Ambulnz-backend/src/router/pizzaRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/router/pizzaRouter.ts rename to modulo6/case-1-Ambulnz-backend/src/router/pizzaRouter.ts diff --git a/modulo6/case-1-Ambulnz/src/services/Authenticator.ts b/modulo6/case-1-Ambulnz-backend/src/services/Authenticator.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/services/Authenticator.ts rename to modulo6/case-1-Ambulnz-backend/src/services/Authenticator.ts diff --git a/modulo6/case-1-Ambulnz/src/services/HashManager.ts b/modulo6/case-1-Ambulnz-backend/src/services/HashManager.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/services/HashManager.ts rename to modulo6/case-1-Ambulnz-backend/src/services/HashManager.ts diff --git a/modulo6/case-1-Ambulnz/src/services/IdGenerator.ts b/modulo6/case-1-Ambulnz-backend/src/services/IdGenerator.ts similarity index 100% rename from modulo6/case-1-Ambulnz/src/services/IdGenerator.ts rename to modulo6/case-1-Ambulnz-backend/src/services/IdGenerator.ts diff --git a/modulo6/case-1-Ambulnz/tables.sql b/modulo6/case-1-Ambulnz-backend/tables.sql similarity index 100% rename from modulo6/case-1-Ambulnz/tables.sql rename to modulo6/case-1-Ambulnz-backend/tables.sql diff --git a/modulo6/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts b/modulo6/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz/tests/mocks/AuthenticatorMock.ts rename to modulo6/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts diff --git a/modulo6/case-1-Ambulnz/tests/mocks/HashManagerMock.ts b/modulo6/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz/tests/mocks/HashManagerMock.ts rename to modulo6/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts diff --git a/modulo6/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts b/modulo6/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz/tests/mocks/UserDatabaseMock.ts rename to modulo6/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts diff --git a/modulo6/case-1-Ambulnz/tsconfig.json b/modulo6/case-1-Ambulnz-backend/tsconfig.json similarity index 100% rename from modulo6/case-1-Ambulnz/tsconfig.json rename to modulo6/case-1-Ambulnz-backend/tsconfig.json diff --git a/modulo6/case-1-Ambulnz-frontend/.gitignore b/modulo6/case-1-Ambulnz-frontend/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/modulo6/case-1-Ambulnz-frontend/README.md b/modulo6/case-1-Ambulnz-frontend/README.md new file mode 100644 index 0000000..58beeac --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/modulo6/case-1-Ambulnz-frontend/package-lock.json b/modulo6/case-1-Ambulnz-frontend/package-lock.json new file mode 100644 index 0000000..aba714e --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/package-lock.json @@ -0,0 +1,28755 @@ +{ + "name": "projeto-ambulnz-frontend", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "projeto-ambulnz-frontend", + "version": "0.1.0", + "dependencies": { + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", + "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "dependencies": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "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/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz", + "integrity": "sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "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-decorators": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "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-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==", + "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.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", + "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", + "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-typescript": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.3.tgz", + "integrity": "sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w==", + "dependencies": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.19.3", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.1.tgz", + "integrity": "sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/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/@eslint/eslintrc/node_modules/globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/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/@humanwhocodes/config-array": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "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==", + "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/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/console/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/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/core/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/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "dependencies": { + "jest-get-type": "^29.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils/node_modules/jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "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-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/reporters/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/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "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": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/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/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "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": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/transform/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/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jest/types/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/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "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.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "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/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "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==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/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/@nicolo-ribaudo/eslint-scope-5-internals/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/@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/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", + "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==", + "dependencies": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.8.1", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <3.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz", + "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/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/@testing-library/dom/node_modules/aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/node_modules/aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "@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": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/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/@types/jest/node_modules/diff-sequences": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/expect": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "dependencies": { + "@jest/expect-utils": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/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/@types/jest/node_modules/jest-diff": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-matcher-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-message-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.1.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/jest-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "dependencies": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/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==" + }, + "node_modules/@types/jest/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/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "node_modules/@types/node": { + "version": "18.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", + "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "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==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.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/experimental-utils": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.39.0.tgz", + "integrity": "sha512-n5N9kG/oGu2xXhHzsWzn94s6CWoiUj59FPU2dF2IQZxPftw+q6Jm5sV2vj5qTgAElRooHhrgtl2gxBQDCPt6WA==", + "dependencies": { + "@typescript-eslint/utils": "5.39.0" + }, + "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/parser": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.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.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", + "dependencies": { + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.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.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.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.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==", + "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.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", + "dependencies": { + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.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.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", + "dependencies": { + "@typescript-eslint/types": "5.39.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/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "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/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "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==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "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-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.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-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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==" + }, + "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==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.12", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", + "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001407", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axe-core": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/babel-jest/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/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.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==", + "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": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "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==", + "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": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "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/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==" + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "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==", + "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==", + "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==", + "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==" + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "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/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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==", + "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/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001416", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz", + "integrity": "sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "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==", + "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==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==" + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "node_modules/clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/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/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "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==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "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==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "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==", + "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==", + "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==" + }, + "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/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "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==", + "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==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/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/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "node_modules/core-js": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "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==" + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/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/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/css-minimizer-webpack-plugin/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==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/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==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-minimizer-webpack-plugin/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/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/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/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.1.tgz", + "integrity": "sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", + "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", + "dependencies": { + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "dependencies": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/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/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/decimal.js": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.1.tgz", + "integrity": "sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "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.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "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==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "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==", + "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==", + "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", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "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==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "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==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", + "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "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==" + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.274", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.274.tgz", + "integrity": "sha512-Fgn7JZQzq85I81FpKUNxVLAzoghy8JZJ4NIue+YfUYBbu1AkpgzFvNwzF/ZNZH9ElkmJD0TSWu1F2gTpw/zZlg==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", + "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.6", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "dependencies": { + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "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.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dependencies": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.31.8", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", + "integrity": "sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==", + "dependencies": { + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dependencies": { + "is-core-module": "^2.9.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/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz", + "integrity": "sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA==", + "dependencies": { + "@typescript-eslint/utils": "^5.13.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/eslint-webpack-plugin/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==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/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/eslint-webpack-plugin/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==", + "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/eslint-webpack-plugin/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==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-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/eslint/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/eslint/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/eslint/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/eslint/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/eslint/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/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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/eslint/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/eslint/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/eslint/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/espree": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "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/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "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==" + }, + "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==", + "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==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "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==", + "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==" + }, + "node_modules/express/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/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.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "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==", + "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", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "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/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.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/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "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==", + "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==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "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-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "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==", + "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "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==", + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "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.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "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==", + "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.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "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==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "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==" + }, + "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==", + "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==" + }, + "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==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "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/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "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/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.15", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", + "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "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-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "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/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "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==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "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==", + "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==", + "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==", + "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==", + "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-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "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==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "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==", + "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.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/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/istanbul-lib-report/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/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==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/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/jake/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/jake/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/jake/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/jake/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/jake/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/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-circus/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/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/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/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-config/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/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-diff/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/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-each/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/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-jasmine2/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/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-matcher-utils/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/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-message-util/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/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-resolve/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/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runner/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/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "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": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-runtime/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/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/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/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-util/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/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/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/jest-validate/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/jest-validate/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/jest-validate/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/jest-validate/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/jest-validate/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/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/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==", + "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-watch-typeahead/node_modules/@jest/console/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/jest-watch-typeahead/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==", + "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-watch-typeahead/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==", + "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/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/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/jest-watch-typeahead/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/jest-watch-typeahead/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/jest-watch-typeahead/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/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/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/jest-watch-typeahead/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==", + "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-watch-typeahead/node_modules/jest-message-util/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/jest-watch-typeahead/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==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/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==", + "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-watch-typeahead/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==", + "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-watch-typeahead/node_modules/jest-watcher/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==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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/jest-watch-typeahead/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==", + "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/jest-watch-typeahead/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/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==" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/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/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/jest-watcher/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/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/jest-worker/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/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" + }, + "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==" + }, + "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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "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==", + "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/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "engines": { + "node": ">=10" + } + }, + "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==" + }, + "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/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "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": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "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==" + }, + "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/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "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==" + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/mini-css-extract-plugin/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==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/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==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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==" + }, + "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/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "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/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==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "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==", + "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/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "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==", + "engines": { + "node": ">= 6.13.0" + } + }, + "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==" + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "dependencies": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "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==" + }, + "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==", + "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==", + "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==", + "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "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.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==", + "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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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-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==" + }, + "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/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "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/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "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/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", + "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dependencies": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz", + "integrity": "sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", + "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", + "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", + "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.11", + "browserslist": "^4.21.3", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.0.1", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.9", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/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/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/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/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "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-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "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==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "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==", + "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==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "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/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "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/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "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==", + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/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/react-dev-utils/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/react-dev-utils/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/react-dev-utils/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/react-dev-utils/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/react-dev-utils/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/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/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/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "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==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dependencies": { + "minimatch": "3.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recursive-readdir/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "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==" + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.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-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-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/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/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "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==", + "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/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/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/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.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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==" + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "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==", + "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==", + "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==", + "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==", + "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==" + }, + "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==" + }, + "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==" + }, + "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==", + "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==", + "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/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "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/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "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/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": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "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/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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "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==", + "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/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/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/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/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==" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", + "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/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/supports-hyperlinks/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-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/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", + "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/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/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/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "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.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "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.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "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/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/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==", + "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/throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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==", + "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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "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/tsutils/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/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==", + "engines": { + "node": ">=4" + } + }, + "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==", + "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==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "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/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "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==", + "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==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "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/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "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.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "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-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "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.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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==", + "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==" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "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.1", + "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", + "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.1", + "ws": "^8.4.2" + }, + "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-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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==", + "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==" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "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/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/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/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.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/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "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" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/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/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/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==" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + }, + "node_modules/workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "dependencies": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "dependencies": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "node_modules/workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "dependencies": { + "workbox-core": "6.5.4" + } + }, + "node_modules/workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "dependencies": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "node_modules/workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.5.4" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/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/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "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==", + "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/wrap-ansi/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/wrap-ansi/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/wrap-ansi/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/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": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "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" + } + } + }, + "dependencies": { + "@adobe/css-tools": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", + "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" + }, + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", + "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==" + }, + "@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", + "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "requires": { + "@babel/types": "^7.19.3", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helper-wrap-function": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", + "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz", + "integrity": "sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", + "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", + "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-typescript": "^7.18.6" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.3.tgz", + "integrity": "sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w==", + "requires": { + "@babel/compat-data": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.19.3", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-react-display-name": "^7.18.6", + "@babel/plugin-transform-react-jsx": "^7.18.6", + "@babel/plugin-transform-react-jsx-development": "^7.18.6", + "@babel/plugin-transform-react-pure-annotations": "^7.18.6" + } + }, + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + } + }, + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.1.tgz", + "integrity": "sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==", + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + }, + "@babel/traverse": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", + "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.19.3", + "@babel/types": "^7.19.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", + "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "requires": {} + }, + "@eslint/eslintrc": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", + "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.4.0", + "globals": "^13.15.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" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "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==" + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==" + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + }, + "@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==", + "requires": { + "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" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "@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==" + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + } + }, + "@jest/expect-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", + "requires": { + "jest-get-type": "^29.0.0" + }, + "dependencies": { + "jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==" + } + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "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-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "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": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@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==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@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==" + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@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==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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==" + }, + "@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==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", + "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.8.1", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + } + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + }, + "@sinclair/typebox": { + "version": "0.24.44", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.44.tgz", + "integrity": "sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg==" + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@testing-library/dom": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.18.1.tgz", + "integrity": "sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + } + }, + "@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/types": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "diff-sequences": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==" + }, + "expect": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", + "requires": { + "@jest/expect-utils": "^29.1.2", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-diff": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + } + }, + "jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==" + }, + "jest-matcher-utils": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.1.2", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.2" + } + }, + "jest-message-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.1.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", + "requires": { + "@jest/types": "^29.1.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "@types/node": { + "version": "18.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.3.tgz", + "integrity": "sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "@types/react": { + "version": "18.0.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", + "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "requires": { + "@types/jest": "*" + } + }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.39.0.tgz", + "integrity": "sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==", + "requires": { + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/type-utils": "5.39.0", + "@typescript-eslint/utils": "5.39.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.39.0.tgz", + "integrity": "sha512-n5N9kG/oGu2xXhHzsWzn94s6CWoiUj59FPU2dF2IQZxPftw+q6Jm5sV2vj5qTgAElRooHhrgtl2gxBQDCPt6WA==", + "requires": { + "@typescript-eslint/utils": "5.39.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.39.0.tgz", + "integrity": "sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==", + "requires": { + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.39.0.tgz", + "integrity": "sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==", + "requires": { + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.39.0.tgz", + "integrity": "sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==", + "requires": { + "@typescript-eslint/typescript-estree": "5.39.0", + "@typescript-eslint/utils": "5.39.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.39.0.tgz", + "integrity": "sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.39.0.tgz", + "integrity": "sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==", + "requires": { + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/visitor-keys": "5.39.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.39.0.tgz", + "integrity": "sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==", + "requires": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.39.0", + "@typescript-eslint/types": "5.39.0", + "@typescript-eslint/typescript-estree": "5.39.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.39.0.tgz", + "integrity": "sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==", + "requires": { + "@typescript-eslint/types": "5.39.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@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==" + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "address": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "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==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "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==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "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==" + }, + "array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.12", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", + "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001407", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axe-core": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==" + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "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==", + "requires": { + "@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" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "requires": {} + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "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==", + "requires": { + "@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" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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==" + }, + "bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "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==" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001416", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz", + "integrity": "sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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==" + }, + "check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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==" + }, + "ci-info": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", + "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==" + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, + "clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "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==" + }, + "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==", + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "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==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-js": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" + }, + "core-js-compat": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==" + }, + "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==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "requires": {} + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "cssdb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.1.tgz", + "integrity": "sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", + "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", + "requires": { + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "requires": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.1.tgz", + "integrity": "sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw==" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "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==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "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==", + "requires": { + "execa": "^5.0.0" + } + }, + "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==" + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "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==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", + "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "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==" + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.274", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.274.tgz", + "integrity": "sha512-Fgn7JZQzq85I81FpKUNxVLAzoghy8JZJ4NIue+YfUYBbu1AkpgzFvNwzF/ZNZH9ElkmJD0TSWu1F2gTpw/zZlg==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "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==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.3.tgz", + "integrity": "sha512-AyrnaKVpMzljIdwjzrj+LxGmj8ik2LckwXacHqrJJ/jxz6dDDBcZ7I7nlHM0FvEW8MfbWJwOd+yT2XzYW49Frw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.6", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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==" + }, + "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==" + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", + "requires": { + "@eslint/eslintrc": "^1.3.2", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@humanwhocodes/module-importer": "^1.0.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "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.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "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==" + }, + "globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "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==" + } + } + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "requires": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react": { + "version": "7.31.8", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz", + "integrity": "sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==", + "requires": { + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz", + "integrity": "sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA==", + "requires": { + "@typescript-eslint/utils": "^5.13.0" + } + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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.10.3", + "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" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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==" + } + } + }, + "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==" + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "requires": { + "@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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "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==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "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==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "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==" + }, + "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==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "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==" + }, + "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==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "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==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "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==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "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==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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==" + }, + "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==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "requires": { + "@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" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==" + }, + "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==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "idb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + }, + "immer": { + "version": "9.0.15", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", + "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "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==" + }, + "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==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "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==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "requires": {} + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "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": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@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" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@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==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@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" + } + }, + "@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "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==" + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "requires": { + "@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" + } + }, + "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==", + "requires": { + "@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" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + }, + "string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" + } + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + } + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "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==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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==" + }, + "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==" + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "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==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "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==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" + }, + "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==" + }, + "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==" + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "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==" + }, + "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==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "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==", + "requires": { + "yallist": "^4.0.0" + } + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "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==" + }, + "memfs": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "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==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "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==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "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==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "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==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", + "requires": { + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" + } + }, + "object.hasown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "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==", + "requires": { + "ee-first": "1.1.1" + } + }, + "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==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "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==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "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==", + "requires": { + "@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" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==" + }, + "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==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "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==" + }, + "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==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" + }, + "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==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "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==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "postcss": { + "version": "8.4.17", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz", + "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "requires": {} + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "requires": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz", + "integrity": "sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "requires": {} + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "requires": {} + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", + "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + } + }, + "postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", + "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==" + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", + "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.11", + "browserslist": "^4.21.3", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.0.1", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.9", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "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==" + }, + "promise": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "requires": { + "asap": "~2.0.6" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "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==" + } + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "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==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "regexpu-core": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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==" + }, + "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==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "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==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + }, + "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==" + }, + "source-map-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.1.tgz", + "integrity": "sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "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==", + "requires": { + "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" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "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==" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "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==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==" + } + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "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==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "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==" + }, + "style-loader": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", + "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "requires": {} + }, + "stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tailwindcss": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", + "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", + "requires": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.14", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "dependencies": { + "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==" + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, + "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==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "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==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + } + }, + "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==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "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==" + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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==" + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "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==" + } + } + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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==" + }, + "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==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "peer": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "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==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "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.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "requires": { + "@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.1", + "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", + "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.1", + "ws": "^8.4.2" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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==" + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "ws": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "requires": {} + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "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==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "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==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "workbox-background-sync": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-broadcast-update": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-build": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" + }, + "dependencies": { + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "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==" + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-core": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" + }, + "workbox-expiration": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.5.4" + } + }, + "workbox-google-analytics": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", + "requires": { + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-navigation-preload": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-precaching": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-range-requests": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-recipes": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", + "requires": { + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" + } + }, + "workbox-routing": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-strategies": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", + "requires": { + "workbox-core": "6.5.4" + } + }, + "workbox-streams": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", + "requires": { + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" + } + }, + "workbox-sw": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" + }, + "workbox-webpack-plugin": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.5.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.5.4" + } + }, + "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==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "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==" + } + } +} diff --git a/modulo6/case-1-Ambulnz-frontend/package.json b/modulo6/case-1-Ambulnz-frontend/package.json new file mode 100644 index 0000000..9ea0326 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/package.json @@ -0,0 +1,38 @@ +{ + "name": "projeto-ambulnz-frontend", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/jest-dom": "^5.16.5", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/modulo6/case-1-Ambulnz-frontend/public/favicon.ico b/modulo6/case-1-Ambulnz-frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz-frontend/public/index.html b/modulo6/case-1-Ambulnz-frontend/public/index.html new file mode 100644 index 0000000..aa069f2 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/modulo6/case-1-Ambulnz-frontend/public/logo192.png b/modulo6/case-1-Ambulnz-frontend/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz-frontend/public/manifest.json b/modulo6/case-1-Ambulnz-frontend/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/modulo6/case-1-Ambulnz-frontend/public/robots.txt b/modulo6/case-1-Ambulnz-frontend/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.css b/modulo6/case-1-Ambulnz-frontend/src/App.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.js b/modulo6/case-1-Ambulnz-frontend/src/App.js new file mode 100644 index 0000000..3784575 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/App.js @@ -0,0 +1,25 @@ +import logo from './logo.svg'; +import './App.css'; + +function App() { + return ( + + ); +} + +export default App; diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.test.js b/modulo6/case-1-Ambulnz-frontend/src/App.test.js new file mode 100644 index 0000000..1f03afe --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/modulo6/case-1-Ambulnz-frontend/src/index.css b/modulo6/case-1-Ambulnz-frontend/src/index.css new file mode 100644 index 0000000..ec2585e --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/modulo6/case-1-Ambulnz-frontend/src/index.js b/modulo6/case-1-Ambulnz-frontend/src/index.js new file mode 100644 index 0000000..d563c0f --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/index.js @@ -0,0 +1,17 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import App from './App'; +import reportWebVitals from './reportWebVitals'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + + + +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/modulo6/case-1-Ambulnz-frontend/src/logo.svg b/modulo6/case-1-Ambulnz-frontend/src/logo.svg new file mode 100644 index 0000000..9dfc1c0 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js b/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js new file mode 100644 index 0000000..5253d3a --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js @@ -0,0 +1,13 @@ +const reportWebVitals = onPerfEntry => { + if (onPerfEntry && onPerfEntry instanceof Function) { + import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { + getCLS(onPerfEntry); + getFID(onPerfEntry); + getFCP(onPerfEntry); + getLCP(onPerfEntry); + getTTFB(onPerfEntry); + }); + } +}; + +export default reportWebVitals; diff --git a/modulo6/case-1-Ambulnz-frontend/src/setupTests.js b/modulo6/case-1-Ambulnz-frontend/src/setupTests.js new file mode 100644 index 0000000..8f2609b --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/setupTests.js @@ -0,0 +1,5 @@ +// jest-dom adds custom jest matchers for asserting on DOM nodes. +// allows you to do things like: +// expect(element).toHaveTextContent(/react/i) +// learn more: https://github.com/testing-library/jest-dom +import '@testing-library/jest-dom'; From f6138f2bd499dd9a220ecca58961cb6a4b9a0c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Thu, 6 Oct 2022 21:17:40 -0300 Subject: [PATCH 15/19] =?UTF-8?q?in=C3=ADcio=20do=20layout=20e=20funcional?= =?UTF-8?q?idades?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modulo6/case-1-Ambulnz-frontend/README.md | 70 -- .../case-1-Ambulnz-frontend/package-lock.json | 1030 +++++++++++++++++ modulo6/case-1-Ambulnz-frontend/package.json | 7 + .../case-1-Ambulnz-frontend/public/index.html | 6 + modulo6/case-1-Ambulnz-frontend/src/App.css | 38 - modulo6/case-1-Ambulnz-frontend/src/App.js | 122 +- .../case-1-Ambulnz-frontend/src/App.test.js | 8 - .../src/Global.styled.js | 17 + .../src/Screens/OrderSummary.js | 45 + .../src/Screens/PizzasMenu.js | 45 + .../src/components/OrderItemCard.js | 24 + .../src/components/PizzaCard.js | 41 + .../src/components/PizzaCardStyled.js | 1 + .../case-1-Ambulnz-frontend/src/constants.js | 1 + modulo6/case-1-Ambulnz-frontend/src/index.css | 13 - modulo6/case-1-Ambulnz-frontend/src/index.js | 11 +- modulo6/case-1-Ambulnz-frontend/src/logo.svg | 1 - .../src/reportWebVitals.js | 13 - .../case-1-Ambulnz-frontend/src/setupTests.js | 5 - 19 files changed, 1324 insertions(+), 174 deletions(-) delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/App.css delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/App.test.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/Global.styled.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js create mode 100644 modulo6/case-1-Ambulnz-frontend/src/constants.js delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/index.css delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/logo.svg delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js delete mode 100644 modulo6/case-1-Ambulnz-frontend/src/setupTests.js diff --git a/modulo6/case-1-Ambulnz-frontend/README.md b/modulo6/case-1-Ambulnz-frontend/README.md index 58beeac..e69de29 100644 --- a/modulo6/case-1-Ambulnz-frontend/README.md +++ b/modulo6/case-1-Ambulnz-frontend/README.md @@ -1,70 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. - -The page will reload when you make changes.\ -You may also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/modulo6/case-1-Ambulnz-frontend/package-lock.json b/modulo6/case-1-Ambulnz-frontend/package-lock.json index aba714e..1527325 100644 --- a/modulo6/case-1-Ambulnz-frontend/package-lock.json +++ b/modulo6/case-1-Ambulnz-frontend/package-lock.json @@ -8,12 +8,19 @@ "name": "projeto-ambulnz-frontend", "version": "0.1.0", "dependencies": { + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@fontsource/roboto": "^4.5.8", + "@mui/icons-material": "^5.10.6", + "@mui/material": "^5.10.8", + "@mui/styled-engine-sc": "^5.10.6", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", + "styled-components": "^5.3.6", "web-vitals": "^2.1.4" } }, @@ -2135,6 +2142,180 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.0.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@emotion/babel-plugin/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/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.0.13" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "dependencies": { + "@emotion/memoize": "^0.8.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "node_modules/@emotion/react": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/serialize/node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/@emotion/sheet": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" + }, + "node_modules/@emotion/styled": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, "node_modules/@eslint/eslintrc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", @@ -2198,6 +2379,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@fontsource/roboto": { + "version": "4.5.8", + "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz", + "integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA==" + }, "node_modules/@humanwhocodes/config-array": { "version": "0.10.7", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", @@ -2988,6 +3174,287 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "node_modules/@mui/base": { + "version": "5.0.0-alpha.100", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.100.tgz", + "integrity": "sha512-bSoJEKCENtmJrJDECHUe9PiqztIUACuSskyqw9ypqE7Dz3WxL3e8puFsWBkUsz+WOCjXh4B4Xljn88Ucxxv5HA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/base/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==" + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.8.tgz", + "integrity": "sha512-V5D7OInO4P9PdT/JACg7fwjbOORm3GklaMVgdGomjyxiyetgRND5CC9r35e1LK/DqHdoyDuhbFzdfrqWtpmEIw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.6.tgz", + "integrity": "sha512-QwxdRmLA46S94B0hExPDx0td+A2unF+33bQ6Cs+lNpJKVsm1YeHwNdYXYcnpWeHeQQ07055OXl7IB2GKDd0MfA==", + "dependencies": { + "@babel/runtime": "^7.19.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.8.tgz", + "integrity": "sha512-sF/Ka0IJjGXV52zoT4xAWEqXVRjNYbIjATo9L4Q5oQC5iJpGrKJFY16uNtWWB0+vp/nayAuPGZHrxtV+t3ecdQ==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.100", + "@mui/core-downloads-tracker": "^5.10.8", + "@mui/system": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/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==" + }, + "node_modules/@mui/private-theming": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.6.tgz", + "integrity": "sha512-I/W0QyTLRdEx6py3lKAquKO/rNF/7j+nIOM/xCyI9kU0fcotVTcTY08mKMsS6vrzdWpi6pAkD0wP0KwWy5R5VA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.6", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine-sc": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/styled-engine-sc/-/styled-engine-sc-5.10.6.tgz", + "integrity": "sha512-AQIa478w3UI8gmlht7orp96tEJbEN26FiEs9Aee6E+iVTnoyT3b6V/JapgKlITo6rn7tYTSX9iJYwnDTMhbzTg==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/styled-components": "^5.1.14", + "styled-components": "^5.3.1" + }, + "peerDependenciesMeta": { + "@types/styled-components": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.8.tgz", + "integrity": "sha512-hRQ354zcrYP/KHqK8FheICSvE9raQaUgQaV+A3oD4JETaFUCVI9Ytt+RcQYgTqx02xlCXIjl8LK1rPjTneySqw==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.6", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.6.tgz", + "integrity": "sha512-g0Qs8xN/MW2M3fLL8197h5J2VB9U+49fLlnKKqC6zy/yus5cZwdT+Gwec+wUMxgwQoxMDn+J8oDWAn28kEOR/Q==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" + } + }, + "node_modules/@mui/utils/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==" + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -3097,6 +3564,15 @@ } } }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -4104,6 +4580,22 @@ "@types/react": "*" } }, + "node_modules/@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", @@ -5184,6 +5676,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-plugin-styled-components": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" + }, + "peerDependencies": { + "styled-components": ">= 2" + } + }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + }, "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", @@ -5497,6 +6009,11 @@ "node": ">= 6" } }, + "node_modules/camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==" + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -5641,6 +6158,14 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -5936,6 +6461,14 @@ "postcss": "^8.4" } }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", @@ -6117,6 +6650,16 @@ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, + "node_modules/css-to-react-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", + "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", @@ -6556,6 +7099,15 @@ "utila": "~0.4" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -7921,6 +8473,11 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -8505,6 +9062,19 @@ "he": "bin/he" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -14082,6 +14652,21 @@ } } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -14784,6 +15369,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15174,6 +15764,36 @@ "webpack": "^5.0.0" } }, + "node_modules/styled-components": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", + "hasInstallScript": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0", + "react-is": ">= 16.8.0" + } + }, "node_modules/stylehacks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", @@ -15189,6 +15809,11 @@ "postcss": "^8.2.15" } }, + "node_modules/stylis": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz", + "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==" + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -18190,6 +18815,145 @@ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", "requires": {} }, + "@emotion/babel-plugin": { + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.0.13" + }, + "dependencies": { + "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==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "@emotion/cache": { + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.0.13" + } + }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "@emotion/react": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", + "requires": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + }, + "dependencies": { + "@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + } + } + }, + "@emotion/sheet": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" + }, + "@emotion/styled": { + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + } + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, "@eslint/eslintrc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", @@ -18234,6 +18998,11 @@ } } }, + "@fontsource/roboto": { + "version": "4.5.8", + "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz", + "integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA==" + }, "@humanwhocodes/config-array": { "version": "0.10.7", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", @@ -18820,6 +19589,137 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "@mui/base": { + "version": "5.0.0-alpha.100", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.100.tgz", + "integrity": "sha512-bSoJEKCENtmJrJDECHUe9PiqztIUACuSskyqw9ypqE7Dz3WxL3e8puFsWBkUsz+WOCjXh4B4Xljn88Ucxxv5HA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/core-downloads-tracker": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.8.tgz", + "integrity": "sha512-V5D7OInO4P9PdT/JACg7fwjbOORm3GklaMVgdGomjyxiyetgRND5CC9r35e1LK/DqHdoyDuhbFzdfrqWtpmEIw==" + }, + "@mui/icons-material": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.6.tgz", + "integrity": "sha512-QwxdRmLA46S94B0hExPDx0td+A2unF+33bQ6Cs+lNpJKVsm1YeHwNdYXYcnpWeHeQQ07055OXl7IB2GKDd0MfA==", + "requires": { + "@babel/runtime": "^7.19.0" + } + }, + "@mui/material": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.8.tgz", + "integrity": "sha512-sF/Ka0IJjGXV52zoT4xAWEqXVRjNYbIjATo9L4Q5oQC5iJpGrKJFY16uNtWWB0+vp/nayAuPGZHrxtV+t3ecdQ==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.100", + "@mui/core-downloads-tracker": "^5.10.8", + "@mui/system": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/private-theming": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.6.tgz", + "integrity": "sha512-I/W0QyTLRdEx6py3lKAquKO/rNF/7j+nIOM/xCyI9kU0fcotVTcTY08mKMsS6vrzdWpi6pAkD0wP0KwWy5R5VA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.6", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", + "requires": { + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine-sc": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/styled-engine-sc/-/styled-engine-sc-5.10.6.tgz", + "integrity": "sha512-AQIa478w3UI8gmlht7orp96tEJbEN26FiEs9Aee6E+iVTnoyT3b6V/JapgKlITo6rn7tYTSX9iJYwnDTMhbzTg==", + "requires": { + "@babel/runtime": "^7.19.0", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.8.tgz", + "integrity": "sha512-hRQ354zcrYP/KHqK8FheICSvE9raQaUgQaV+A3oD4JETaFUCVI9Ytt+RcQYgTqx02xlCXIjl8LK1rPjTneySqw==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.6", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.6", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", + "requires": {} + }, + "@mui/utils": { + "version": "5.10.6", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.6.tgz", + "integrity": "sha512-g0Qs8xN/MW2M3fLL8197h5J2VB9U+49fLlnKKqC6zy/yus5cZwdT+Gwec+wUMxgwQoxMDn+J8oDWAn28kEOR/Q==", + "requires": { + "@babel/runtime": "^7.19.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -18883,6 +19783,11 @@ "source-map": "^0.7.3" } }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, "@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -19644,6 +20549,22 @@ "@types/react": "*" } }, + "@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "requires": { + "@types/react": "*" + } + }, "@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", @@ -20437,6 +21358,23 @@ "@babel/helper-define-polyfill-provider": "^0.3.3" } }, + "babel-plugin-styled-components": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" + } + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + }, "babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", @@ -20681,6 +21619,11 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==" + }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -20787,6 +21730,11 @@ "wrap-ansi": "^7.0.0" } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -21006,6 +21954,11 @@ "postcss-selector-parser": "^6.0.9" } }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" + }, "css-declaration-sorter": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", @@ -21113,6 +22066,16 @@ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, + "css-to-react-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", + "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", @@ -21441,6 +22404,15 @@ "utila": "~0.4" } }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -22450,6 +23422,11 @@ "pkg-dir": "^4.1.0" } }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -22841,6 +23818,21 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, "hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -26695,6 +27687,17 @@ "workbox-webpack-plugin": "^6.4.1" } }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -27210,6 +28213,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -27502,6 +28510,23 @@ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", "requires": {} }, + "styled-components": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + } + }, "stylehacks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", @@ -27511,6 +28536,11 @@ "postcss-selector-parser": "^6.0.4" } }, + "stylis": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz", + "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", diff --git a/modulo6/case-1-Ambulnz-frontend/package.json b/modulo6/case-1-Ambulnz-frontend/package.json index 9ea0326..9a81428 100644 --- a/modulo6/case-1-Ambulnz-frontend/package.json +++ b/modulo6/case-1-Ambulnz-frontend/package.json @@ -3,12 +3,19 @@ "version": "0.1.0", "private": true, "dependencies": { + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", + "@fontsource/roboto": "^4.5.8", + "@mui/icons-material": "^5.10.6", + "@mui/material": "^5.10.8", + "@mui/styled-engine-sc": "^5.10.6", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "5.0.1", + "styled-components": "^5.3.6", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/modulo6/case-1-Ambulnz-frontend/public/index.html b/modulo6/case-1-Ambulnz-frontend/public/index.html index aa069f2..5e18994 100644 --- a/modulo6/case-1-Ambulnz-frontend/public/index.html +++ b/modulo6/case-1-Ambulnz-frontend/public/index.html @@ -24,6 +24,12 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> + + + React App diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.css b/modulo6/case-1-Ambulnz-frontend/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.js b/modulo6/case-1-Ambulnz-frontend/src/App.js index 3784575..b59cce8 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/App.js +++ b/modulo6/case-1-Ambulnz-frontend/src/App.js @@ -1,25 +1,107 @@ -import logo from './logo.svg'; -import './App.css'; +import { useState } from "react"; +import styled from "styled-components" +import OrderSummary from "./Screens/OrderSummary"; +import PizzasMenu from "./Screens/OrderSummary"; + +export const ContainerMain = styled.main` + display: flex; +` + +/* + +[ + { + name: "Bufala", + price: 5, + quantity: 1 + }, + { + name: "Margherita", + price: 6, + quantity: 5 + }, +] + +[ + { + name: "Bufala", + price: 5, + quantity: 2 + }, + { + name: "Margherita", + price: 6, + quantity: 5 + }, +] + + + +[ + { + name: "Bufala", + price: 5, + quantity: 2 + }, + { + name: "Margherita", + price: 6, + quantity: 5 + }, +] + + + + + + + + +[ + { + name: "Bufala", + price: 5, + quantity: 1 + }, +] + +*/ function App() { - return ( -
-
- logo -

- Edit src/App.js and save to reload. -

- - Learn React - -
-
- ); + const [ cart, setCart ] = useState([]) + + const addToCart = (pizzaToAdd) => { + // -1 se a pizza nĂŁo existir + // 0 pra cima se ela existir + const foundIndex = cart.findIndex((pizzaInCart) => { + return pizzaInCart.name === pizzaToAdd.name + }) + + if (foundIndex >= 0) { + const newCart = [...cart] + newCart[foundIndex].quantity += 1 + + setCart(newCart) + } else { + const newCart = [...cart] + const newPizza = { + name: pizzaToAdd.name, + price: pizzaToAdd.price, + quantity: 1 + } + + newCart.push(newPizza) + + setCart(newCart) + } + } + + return ( + + + + + ); } export default App; diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.test.js b/modulo6/case-1-Ambulnz-frontend/src/App.test.js deleted file mode 100644 index 1f03afe..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/modulo6/case-1-Ambulnz-frontend/src/Global.styled.js b/modulo6/case-1-Ambulnz-frontend/src/Global.styled.js new file mode 100644 index 0000000..cb4d9f1 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/Global.styled.js @@ -0,0 +1,17 @@ +import { createGlobalStyle } from "styled-components" + +export const GlobalStyle = createGlobalStyle` +html, +body, +#root, +* { + margin: 0; + padding: 0; + box-sizing: border-box; + width: 100%; +} + +ul, li { + list-style-type: none; +} +` \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js b/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js new file mode 100644 index 0000000..8563155 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js @@ -0,0 +1,45 @@ +import styled from "styled-components" +import OrderItemCard from "../components/OrderItemCard" + +export const ContainerSection = styled.section` + width: 30em; + border: 1px solid black; + + h1 { + font-size: 1.5em; + text-align: center; + } +` + +function OrderSummary(props) { + const { cart } = props + + const calculateTotal = () => { + const total = cart.reduce( + (acc, item) => acc + (item.price * item.quantity), + 0 + ) + + return total.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + ) + } + + return ( + +

Resumo do pedido

+ + {cart.map((pizza) => { + return ( + + ) + })} + +

Total: {calculateTotal()}

+ +
+ ) +} + +export default OrderSummary diff --git a/modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js b/modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js new file mode 100644 index 0000000..cfd8ad6 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js @@ -0,0 +1,45 @@ +import axios from "axios"; +import styled from "styled-components"; +import { useEffect, useState } from "react"; +import { BASE_URL } from "../constants"; +import PizzaCard from "../components/PizzaCard"; + +export const ContainerSection = styled.section` + ul{ + display:flex; + } +` + +function PizzasMenu(props){ + const {addToCart} = props + + const [pizzas, setPizzas] = useState([]) + + useEffect(()=>{ + axios.get(`${BASE_URL}/pizzas`) + .then((res)=>{ + setPizzas(res.data.pizzas) + }) + .catch((err)=>{ + console.log(err) + }) + }, []) + + return( + +
    + {pizzas.map((pizza) => { + return ( + + ) + })} +
+
+ ) + +} +export default PizzasMenu \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js b/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js new file mode 100644 index 0000000..077718a --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js @@ -0,0 +1,24 @@ +import styled from "styled-components"; + +export const ContainerLi = styled.li` +display:flex +` + +function OrderItemCard(props) { + const {pizza} = props + + return ( + +

+ Pizza {pizza.name} + -{pizza.price.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + )} + x {pizza.quantity}

+ +
+ ) +} + +export default OrderItemCard \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js b/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js new file mode 100644 index 0000000..36e3865 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js @@ -0,0 +1,41 @@ +import styled from "styled-components" + +export const ContainerLi = styled.li` + border: 1px solid black; + margin: 1em; + + display: flex; + flex-direction: column; + justify-content: space-between; + + h3, + .card-price { + text-align: center; + } +` + +function PizzaCard(props) { + const { pizza, addToCart } = props + + return ( + +

{pizza.name}

+

+ {pizza.price.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + )} +

+

+ {pizza.ingredients.map((item) => { + return ( + {`${item} `} + ) + })} +

+ +
+ ) +} + +export default PizzaCard diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js b/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js @@ -0,0 +1 @@ + diff --git a/modulo6/case-1-Ambulnz-frontend/src/constants.js b/modulo6/case-1-Ambulnz-frontend/src/constants.js new file mode 100644 index 0000000..034f755 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/constants.js @@ -0,0 +1 @@ +export const BASE_URL = "http://localhost:3003/api" \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/index.css b/modulo6/case-1-Ambulnz-frontend/src/index.css deleted file mode 100644 index ec2585e..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/modulo6/case-1-Ambulnz-frontend/src/index.js b/modulo6/case-1-Ambulnz-frontend/src/index.js index d563c0f..accb458 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/index.js +++ b/modulo6/case-1-Ambulnz-frontend/src/index.js @@ -1,17 +1,16 @@ import React from 'react'; import ReactDOM from 'react-dom/client'; -import './index.css'; import App from './App'; -import reportWebVitals from './reportWebVitals'; +import {GlobalStyle} from './Global.styled' +import { CssBaseline } from '@mui/material'; + const root = ReactDOM.createRoot(document.getElementById('root')); root.render( + + ); -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/modulo6/case-1-Ambulnz-frontend/src/logo.svg b/modulo6/case-1-Ambulnz-frontend/src/logo.svg deleted file mode 100644 index 9dfc1c0..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js b/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js deleted file mode 100644 index 5253d3a..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/modulo6/case-1-Ambulnz-frontend/src/setupTests.js b/modulo6/case-1-Ambulnz-frontend/src/setupTests.js deleted file mode 100644 index 8f2609b..0000000 --- a/modulo6/case-1-Ambulnz-frontend/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; From 0470e20e4055f2681e8c003e33af13076e41ca2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Sat, 8 Oct 2022 19:41:42 -0300 Subject: [PATCH 16/19] ajuste funcionalidades adicionar e remover, concluir pedido --- modulo6/case-1-Ambulnz-backend/requests.rest | 3 - modulo6/case-1-Ambulnz-frontend/src/App.js | 157 +++++++++++------- .../src/Screens/OrderSummary.js | 30 ++-- .../src/components/OrderItemCard.js | 6 +- .../src/components/OrderSucessPopup.js | 72 ++++++++ 5 files changed, 182 insertions(+), 86 deletions(-) create mode 100644 modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js diff --git a/modulo6/case-1-Ambulnz-backend/requests.rest b/modulo6/case-1-Ambulnz-backend/requests.rest index b992515..601556d 100644 --- a/modulo6/case-1-Ambulnz-backend/requests.rest +++ b/modulo6/case-1-Ambulnz-backend/requests.rest @@ -5,9 +5,6 @@ GET http://localhost:3003/api/ping GET http://localhost:3003/api/pizzas -### Get Pizzas V2 -GET http://localhost:3003/api/pizzas/v2 - ### Create Order POST http://localhost:3003/api/orders Content-Type: application/json diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.js b/modulo6/case-1-Ambulnz-frontend/src/App.js index b59cce8..6c8afa0 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/App.js +++ b/modulo6/case-1-Ambulnz-frontend/src/App.js @@ -1,74 +1,30 @@ -import { useState } from "react"; +import axios from "axios"; +import { useEffect, useState } from "react"; import styled from "styled-components" +import OrderSucessPopup from "./components/OrderSucessPopup"; +import { BASE_URL } from "./constants"; import OrderSummary from "./Screens/OrderSummary"; -import PizzasMenu from "./Screens/OrderSummary"; +import PizzasMenu from "./Screens/PizzasMenu" export const ContainerMain = styled.main` display: flex; ` -/* - -[ - { - name: "Bufala", - price: 5, - quantity: 1 - }, - { - name: "Margherita", - price: 6, - quantity: 5 - }, -] - -[ - { - name: "Bufala", - price: 5, - quantity: 2 - }, - { - name: "Margherita", - price: 6, - quantity: 5 - }, -] - - - -[ - { - name: "Bufala", - price: 5, - quantity: 2 - }, - { - name: "Margherita", - price: 6, - quantity: 5 - }, -] - - - - - - - - -[ - { - name: "Bufala", - price: 5, - quantity: 1 - }, -] - -*/ - function App() { const [ cart, setCart ] = useState([]) + const [ total, setTotal ] = useState(0) + const [orderSucessPopupState, setOrderSucessPopupState ] = useState({ + isActive:false, + summary:{ + id:null, + pizzas:null, + total:null + } + }) + + useEffect(()=>{ + calculateTotal() + }, [cart]) const addToCart = (pizzaToAdd) => { // -1 se a pizza nĂŁo existir @@ -96,10 +52,83 @@ function App() { } } + + const removeFromCart = (pizzaToRemove) =>{ + // se a pizza possuir quantidade maior que um, remover um da quantidade + // senĂŁo remover pizza do pedido + if(pizzaToRemove.quantity > 1){ + const newCart = cart.map((pizza)=>{ + if(pizza.name === pizzaToRemove.name){ + pizza.quantity -= 1 + } + return pizza + }) + + setCart(newCart) + }else{ + const newCart = cart.filter((pizza)=>{ + return pizza.name !== pizzaToRemove.name + }) + setCart(newCart) + } + + } + + + const calculateTotal = () => { + const total = cart.reduce( + (acc, item) => acc + (item.price * item.quantity), + 0 + ) + + setTotal(total) + } + + const confirmOrder = async() =>{ + // POST create order /api/orders + try{ + const body = { + pizzas: cart + } + const res = await axios.post(`${BASE_URL}/orders`, body) + + setOrderSucessPopupState({ + isActive:true, + summary:res.data.order + }) + setCart([]) + + }catch(error) { + console.log(error) + } + } + const closePopup = () => { + setOrderSucessPopupState({ + isActive: false, + summary: { + id: null, + pizzas: null, + total: null + } + }) + } + return ( - - + + + {orderSucessPopupState.isActive + && + } + ); } diff --git a/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js b/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js index 8563155..9995acf 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js +++ b/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js @@ -12,19 +12,7 @@ export const ContainerSection = styled.section` ` function OrderSummary(props) { - const { cart } = props - - const calculateTotal = () => { - const total = cart.reduce( - (acc, item) => acc + (item.price * item.quantity), - 0 - ) - - return total.toLocaleString( - 'pt-br', - { style: 'currency', currency: 'USD' } - ) - } + const { cart, removeFromCart, total, confirmOrder } = props return ( @@ -32,12 +20,22 @@ function OrderSummary(props) { {cart.map((pizza) => { return ( - + ) })} -

Total: {calculateTotal()}

- +

+ Total: {total.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + )} +

+
) } diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js b/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js index 077718a..78b7c2b 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js +++ b/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js @@ -5,7 +5,7 @@ display:flex ` function OrderItemCard(props) { - const {pizza} = props + const {pizza, removeFromCart } = props return ( @@ -15,8 +15,8 @@ function OrderItemCard(props) { 'pt-br', { style: 'currency', currency: 'USD' } )} - x {pizza.quantity}

- + {""} x {pizza.quantity}

+
) } diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js new file mode 100644 index 0000000..1d7fdb9 --- /dev/null +++ b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js @@ -0,0 +1,72 @@ +import styled from "styled-components" + +export const ContainerDiv = styled.div` + border: 1px solid black; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: auto; + + background-color: white; + + > div { + position: relative; + width: 100%; + height: 100%; + + .close-popup { + position: absolute; + top: 0; + left: 100%; + transform: translateX(-100%); + + padding: 2px 5px; + + width: auto; + + :hover { + cursor: pointer; + font-weight: bold; + background-color: lightgray; + } + } + } +` + +function OrderSuccessPopup(props) { + const { order, closePopup } = props + + return ( + +
+

Pedido realizado com sucesso!

+

Resumo do pedido

+

Id do pedido: { order.id }

+ { order.pizzas.map((pizza) => ( +

+ Pizza {pizza.name} {" "} + - {pizza.price.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + )} + {" "} x {pizza.quantity} +

+ )) } +

+ Total pago: { + order.total} +

+ + + x + +
+
+ ) +} + +export default OrderSuccessPopup \ No newline at end of file From 2eb0e5ee50b35f11cdd0903cb63696fd29df91d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Sun, 9 Oct 2022 14:03:15 -0300 Subject: [PATCH 17/19] ajustes endpoints --- modulo6/case-1-Ambulnz-backend/requests.rest | 2 +- .../src/business/OrderBusiness.ts | 99 ++++++++++--------- .../src/controller/OrderController.ts | 4 +- .../src/models/Orders.ts | 7 +- .../src/components/OrderSucessPopup.js | 2 +- 5 files changed, 62 insertions(+), 52 deletions(-) diff --git a/modulo6/case-1-Ambulnz-backend/requests.rest b/modulo6/case-1-Ambulnz-backend/requests.rest index 601556d..5169d71 100644 --- a/modulo6/case-1-Ambulnz-backend/requests.rest +++ b/modulo6/case-1-Ambulnz-backend/requests.rest @@ -3,7 +3,7 @@ GET http://localhost:3003/api/ping ### GET http://localhost:3003/api/pizzas - + ### Create Order POST http://localhost:3003/api/orders diff --git a/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts b/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts index eb2ea58..6765a5f 100644 --- a/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts +++ b/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts @@ -1,8 +1,7 @@ - import { OrderDatabase } from "../database/OrderDatabase" import { NotFoundError } from "../errors/NotFoundError" import { ParamsError } from "../errors/ParamsError" -import { IcreateOrderInputDTO, Order, ICreateOrderOutputDTO, IOrderItemDB, IGetOrdersOutputDTO } from "../models/Orders" +import { ICreateOrderInputDTO, ICreateOrderOutputDTO, IGetOrdersOutputDTO, IOrderItemDB, Order } from "../models/Orders" import { IdGenerator } from "../services/IdGenerator" export class OrderBusiness { @@ -11,95 +10,105 @@ export class OrderBusiness { private idGenerator: IdGenerator ) {} - public createOrder = async (input:IcreateOrderInputDTO): Promise => { + public createOrder = async (input: ICreateOrderInputDTO): Promise => { const pizzasInput = input.pizzas - if(pizzasInput.length <= 0){ - throw new ParamsError("Pedido vazio!") + if (pizzasInput.length === 0) { + throw new ParamsError("Pedido vazio! Informe pelo menos uma pizza") } - const pizzas = pizzasInput.map((pizza)=> { - if(pizza.quantity <= 0){ - throw new ParamsError("quantidade mínima: 1 unidade") + const pizzas = pizzasInput.map((pizza) => { + if (pizza.quantity <= 0) { + throw new ParamsError("Quantidade de pizza inválida! A quantidade mínima é 1") } - return{ + + return { ...pizza, - price:0 + price: 0 } }) - for(let pizza of pizzas){ + for (let pizza of pizzas) { const price = await this.orderDatabase.getPrice(pizza.name) - if(!price) { - throw new NotFoundError("Pizza não encontrada") + + if (!price) { + throw new NotFoundError("Pizza não existe") } + pizza.price = price } - + const orderId = this.idGenerator.generate() await this.orderDatabase.createOrder(orderId) - for(let pizza of pizzas) { - const orderItem:IOrderItemDB ={ - id:this.idGenerator.generate(), - pizza_name:pizza.name, - quantity:pizza.quantity, - order_id:orderId + for (let pizza of pizzas) { + const orderItem: IOrderItemDB = { + id: this.idGenerator.generate(), + pizza_name: pizza.name, + quantity: pizza.quantity, + order_id: orderId } + await this.orderDatabase.insertItemOnOrder(orderItem) - } - const total = pizzas.reduce((acc, pizza) =>(acc +(pizza.price*pizza.quantity)), - 0 + + const total = pizzas.reduce( + (acc, pizza) => (acc + (pizza.price * pizza.quantity)), + 0 ) - + const response: ICreateOrderOutputDTO = { message: "Pedido realizado com sucesso", - order:{ - id:orderId, - pizzas, - total - } + order: { + id: orderId, + pizzas, + total + } } return response } - public getOrders= async(): Promise =>{ + + public getOrders = async (): Promise => { + const ordersDB = await this.orderDatabase.getOrders() - const orders:Order[] = [] - + const orders: Order[] = [] + for (let orderDB of ordersDB) { const order = new Order( orderDB.id, [] ) - const orderItemsDB:any = await - this.orderDatabase.getOrderItem(order.getId()) + + const orderItemsDB: any = await + this.orderDatabase.getOrderItem(order.getId()) for (let orderItemDB of orderItemsDB) { const price = await this.orderDatabase.getPrice(orderItemDB.pizza_name) - + orderItemDB.price = price } + order.setOrderItems(orderItemsDB) orders.push(order) } - const response: IGetOrdersOutputDTO ={ - orders:orders.map((order) =>({ - id:order.getId(), - pizzas:order.getOrderItems().map((item) =>({ - name:item.pizza_name, - quantity:item.quantity, - price:item.price + + const response: IGetOrdersOutputDTO = { + orders: orders.map((order) => ({ + id: order.getId(), + pizzas: order.getOrderItems().map((item) => ({ + name: item.pizza_name, + quantity: item.quantity, + price: item.price })), - total:order.getTotal() + total: order.getTotal() })) } + return response } - -} +} \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts b/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts index 55ebafc..5c3c8ea 100644 --- a/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts +++ b/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts @@ -1,7 +1,7 @@ import { Request, Response } from "express"; import { OrderBusiness } from "../business/OrderBusiness"; import { BaseError } from "../errors/BaseError"; -import { IcreateOrderInputDTO } from "../models/Orders"; +import { ICreateOrderInputDTO } from "../models/Orders"; @@ -12,7 +12,7 @@ export class OrderController { public createOrder = async (req: Request, res: Response) => { try { - const input: IcreateOrderInputDTO = { + const input: ICreateOrderInputDTO = { pizzas:req.body.pizzas } diff --git a/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts b/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts index d2ed7ac..745c33b 100644 --- a/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts +++ b/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts @@ -33,7 +33,7 @@ export class Order{ constructor( private id: string, - private orderItems: IOrderItem[] + private orderItems: IOrderItem[], ) { this.total = this.calculateTotal() } @@ -56,6 +56,7 @@ export class Order{ public setOrderItems = (newOrderItems: IOrderItem[]) => { this.orderItems = newOrderItems + this.total = this.calculateTotal() } public addOrderItem = (newOrderItem: IOrderItem) => { @@ -64,7 +65,7 @@ export class Order{ } public removeOrderItem = (idToRemove: string) => { - this.orderItems.filter(orderItem => orderItem.id !== idToRemove) + this.orderItems = this.orderItems.filter(orderItem => orderItem.id !== idToRemove) this.total = this.calculateTotal() } @@ -73,7 +74,7 @@ export class Order{ } } -export interface IcreateOrderInputDTO { +export interface ICreateOrderInputDTO { pizzas: { name:string, diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js index 1d7fdb9..873ad77 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js +++ b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js @@ -46,7 +46,7 @@ function OrderSuccessPopup(props) { { order.pizzas.map((pizza) => (

Pizza {pizza.name} {" "} - - {pizza.price.toLocaleString( + - {pizza.price.price.toLocaleString( 'pt-br', { style: 'currency', currency: 'USD' } )} From 320972be8a48959dbe27e4f73b19ba955f2f695b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aline=20Gon=C3=A7alves=20Fontes=20Chagas?= Date: Sun, 9 Oct 2022 14:23:36 -0300 Subject: [PATCH 18/19] =?UTF-8?q?backend=20e=20regras=20de=20neg=C3=B3cio?= =?UTF-8?q?=20ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../case-1-Ambulnz-backend/src/database/OrderDatabase.ts | 5 +++-- .../src/components/OrderSucessPopup.js | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts b/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts index bb44827..54d3509 100644 --- a/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts +++ b/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts @@ -28,14 +28,14 @@ export class OrderDatabase extends BaseDatabase{ .select("price") .where({name:pizzaName}) - return result[0] as number + return result[0].price as number } public getOrders = async():Promise =>{ const result:IOrderDB[] = await BaseDatabase .connection(OrderDatabase.TABLE_ORDERS) .select() - + return result } @@ -45,6 +45,7 @@ export class OrderDatabase extends BaseDatabase{ .select() .where({order_id: orderId}) + return result } diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js index 873ad77..13111b3 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js +++ b/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js @@ -46,7 +46,7 @@ function OrderSuccessPopup(props) { { order.pizzas.map((pizza) => (

Pizza {pizza.name} {" "} - - {pizza.price.price.toLocaleString( + - {pizza.price.toLocaleString( 'pt-br', { style: 'currency', currency: 'USD' } )} @@ -55,7 +55,10 @@ function OrderSuccessPopup(props) { )) }

Total pago: { - order.total} + order.total.toLocaleString( + 'pt-br', + { style: 'currency', currency: 'USD' } + )}

Date: Sun, 16 Oct 2022 14:43:20 -0300 Subject: [PATCH 19/19] ajustes projeto --- modulo3/projeto-cookenu/package-lock.json | 18956 +++++++++------- modulo3/projeto-cookenu/package.json | 6 +- .../public/favicon.ico | Bin 3870 -> 0 bytes .../case-1-Ambulnz-backend/.gitignore | 0 .../case-1-Ambulnz-backend/jest.config.js | 0 .../case-1-Ambulnz-backend/package.json | 1 + .../case-1-Ambulnz-backend/requests.rest | 0 .../src/business/OrderBusiness.ts | 0 .../src/business/PingBusiness.ts | 0 .../src/business/PizzaBusiness.ts | 0 .../src/controller/OrderController.ts | 0 .../src/controller/PingController.ts | 0 .../src/controller/PizzaController.ts | 0 .../src/database/BaseDatabase.ts | 0 .../src/database/OrderDatabase.ts | 0 .../src/database/PizzaDatabase.ts | 0 .../src/database/migrations/Migrations.ts | 0 .../src/database/migrations/data.ts | 0 .../src/errors/AuthenticationError.ts | 0 .../src/errors/AuthorizationError.ts | 0 .../src/errors/BaseError.ts | 0 .../src/errors/ConflictError.ts | 0 .../src/errors/NotFoundError.ts | 0 .../src/errors/ParamsError.ts | 0 .../src/errors/UnprocessableError.ts | 0 .../case-1-Ambulnz-backend/src/index.ts | 0 .../src/models/Orders.ts | 0 .../src/models/Pizza.ts | 0 .../src/router/orderRouter.ts | 0 .../src/router/pingRouter.ts | 0 .../src/router/pizzaRouter.ts | 0 .../src/services/Authenticator.ts | 5 +- .../src/services/HashManager.ts | 0 .../src/services/IdGenerator.ts | 0 .../case-1-Ambulnz-backend/tables.sql | 2 + .../tests/mocks/AuthenticatorMock.ts | 0 .../tests/mocks/HashManagerMock.ts | 0 .../tests/mocks/UserDatabaseMock.ts | 0 .../case-1-Ambulnz-backend/tsconfig.json | 0 .../case-1-Ambulnz-frontend/.gitignore | 0 .../case-1-Ambulnz-frontend/README.md | 0 .../case-1-Ambulnz-frontend/package-lock.json | 0 .../case-1-Ambulnz-frontend/package.json | 0 .../public/favicon.ico | Bin 0 -> 34951 bytes .../case-1-Ambulnz-frontend/public/index.html | 2 +- .../public/logo192.png | Bin .../public/logo512.png | Bin .../public/manifest.json | 0 .../case-1-Ambulnz-frontend/public/robots.txt | 0 .../case-1-Ambulnz-frontend/src/App.js | 0 .../src/Global.styled.js | 0 .../src/Screens/OrderSummary.js | 11 +- .../src/Screens/PizzasMenu.js | 0 .../src/Screens/styledOrder.jsx | 12 + .../src/Screens/styledPizza.jsx} | 0 .../src/assets/pizza1.jpg | Bin 0 -> 119498 bytes .../src/assets/pizza2.jpg | Bin 0 -> 241622 bytes .../src/assets/pizza3.jpg | Bin 0 -> 156210 bytes .../src/assets/pizza4.jpg | Bin 0 -> 169731 bytes .../src/assets/pizza5.jpg | Bin 0 -> 266265 bytes .../src/components/OrderItemCard.js | 0 .../src/components/OrderSucessPopup.js | 0 .../src/components/PizzaCard.js | 17 +- .../src/components/StyledCard.js | 38 + .../case-1-Ambulnz-frontend/src/constants.js | 0 .../case-1-Ambulnz-frontend/src/index.js | 0 66 files changed, 11238 insertions(+), 7812 deletions(-) delete mode 100644 modulo6/case-1-Ambulnz-frontend/public/favicon.ico rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/.gitignore (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/jest.config.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/package.json (99%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/requests.rest (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/business/OrderBusiness.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/business/PingBusiness.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/controller/OrderController.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/controller/PingController.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/controller/PizzaController.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/database/BaseDatabase.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/database/OrderDatabase.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/database/migrations/data.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/BaseError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/ConflictError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/NotFoundError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/ParamsError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/index.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/models/Orders.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/models/Pizza.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/router/orderRouter.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/router/pingRouter.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/router/pizzaRouter.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/services/Authenticator.ts (86%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/services/HashManager.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/src/services/IdGenerator.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/tables.sql (99%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-backend/tsconfig.json (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/.gitignore (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/README.md (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/package-lock.json (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/package.json (100%) create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/favicon.ico rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/public/index.html (98%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/public/logo192.png (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/public/logo512.png (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/public/manifest.json (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/public/robots.txt (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/App.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/Global.styled.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js (80%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js (100%) create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledOrder.jsx rename modulo6/{case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js => case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledPizza.jsx} (100%) create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza1.jpg create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza2.jpg create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza3.jpg create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza4.jpg create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza5.jpg rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/components/OrderItemCard.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/components/PizzaCard.js (72%) create mode 100644 modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/StyledCard.js rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/constants.js (100%) rename modulo6/{ => case-1-Ambulnz}/case-1-Ambulnz-frontend/src/index.js (100%) diff --git a/modulo3/projeto-cookenu/package-lock.json b/modulo3/projeto-cookenu/package-lock.json index 37a274f..90eccfd 100644 --- a/modulo3/projeto-cookenu/package-lock.json +++ b/modulo3/projeto-cookenu/package-lock.json @@ -8,12 +8,12 @@ "name": "projeto-cookenu", "version": "0.1.0", "dependencies": { - "@emotion/react": "^11.9.3", - "@emotion/styled": "^11.9.3", + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "@mui/icons-material": "^5.8.4", - "@mui/material": "^5.9.2", + "@mui/material": "^5.10.9", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", @@ -26,6 +26,11 @@ "web-vitals": "^2.1.4" } }, + "node_modules/@adobe/css-tools": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", + "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -50,28 +55,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", - "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -86,20 +91,12 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/eslint-parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz", - "integrity": "sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", "dependencies": { - "eslint-scope": "^5.1.1", + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.0" }, @@ -111,18 +108,6 @@ "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/@babel/eslint-parser/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/@babel/eslint-parser/node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", @@ -131,28 +116,12 @@ "node": ">=10" } }, - "node_modules/@babel/eslint-parser/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/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dependencies": { - "@babel/types": "^7.18.9", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -197,13 +166,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "dependencies": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.19.3", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -213,22 +182,14 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", "@babel/helper-replace-supers": "^7.18.9", @@ -242,9 +203,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "regexpu-core": "^5.1.0" @@ -257,9 +218,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dependencies": { "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", @@ -272,14 +233,6 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-environment-visitor": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", @@ -300,12 +253,12 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -345,18 +298,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", "@babel/helper-simple-access": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -374,9 +327,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "engines": { "node": ">=6.9.0" } @@ -399,26 +352,26 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -446,10 +399,18 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "engines": { "node": ">=6.9.0" } @@ -463,27 +424,27 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "dependencies": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -503,9 +464,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -544,13 +505,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -592,15 +553,15 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.9.tgz", - "integrity": "sha512-KD7zDNaD14CRpjQjVbV4EnH9lsKYlcpUrhZH37ei2IY+AlXrfAPy5pTmRUE4X6X1k8EsKXPraykxeaogqQvSGA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz", + "integrity": "sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.18.6" + "@babel/plugin-syntax-decorators": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -700,13 +661,13 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", + "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.18.8" }, @@ -843,11 +804,11 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz", - "integrity": "sha512-fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1095,11 +1056,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", + "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1109,15 +1070,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" @@ -1144,11 +1106,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", + "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1202,11 +1164,11 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz", - "integrity": "sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-flow": "^7.18.6" }, "engines": { @@ -1308,13 +1270,13 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1341,12 +1303,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1413,9 +1375,9 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.9.tgz", - "integrity": "sha512-IrTYh1I3YCEL1trjknnlLKTp5JggjzhKl/d3ibzPc97JhpFcDTr38Jdek/oX4cFbS6By0bXJcOkpRvJ5ZHK2wQ==", + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", + "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", "dependencies": { "@babel/helper-plugin-utils": "^7.18.9" }, @@ -1441,15 +1403,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz", - "integrity": "sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1517,15 +1479,15 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz", - "integrity": "sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "engines": { @@ -1535,14 +1497,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", @@ -1558,11 +1512,11 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" }, "engines": { @@ -1615,12 +1569,12 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz", - "integrity": "sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", + "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-typescript": "^7.18.6" }, "engines": { @@ -1631,11 +1585,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1660,17 +1614,17 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz", - "integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", + "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -1679,7 +1633,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.19.4", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -1703,10 +1657,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-block-scoping": "^7.19.4", + "@babel/plugin-transform-classes": "^7.19.0", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.19.4", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -1716,9 +1670,9 @@ "@babel/plugin-transform-member-expression-literals": "^7.18.6", "@babel/plugin-transform-modules-amd": "^7.18.6", "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", "@babel/plugin-transform-parameters": "^7.18.8", @@ -1726,18 +1680,18 @@ "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", "@babel/plugin-transform-template-literals": "^7.18.9", "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.9", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.19.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -1747,14 +1701,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", @@ -1806,9 +1752,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1817,11 +1763,11 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz", - "integrity": "sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", + "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", "dependencies": { - "core-js-pure": "^3.20.2", + "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.4" }, "engines": { @@ -1829,31 +1775,31 @@ } }, "node_modules/@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.19.4", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1862,11 +1808,12 @@ } }, "node_modules/@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1884,9 +1831,9 @@ "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" }, "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -1995,6 +1942,24 @@ "postcss": "^8.2" } }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, "node_modules/@csstools/postcss-normalize-display-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", @@ -2064,6 +2029,24 @@ "postcss": "^8.2" } }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, "node_modules/@csstools/postcss-trigonometric-functions": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", @@ -2114,17 +2097,17 @@ } }, "node_modules/@emotion/babel-plugin": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.9.2.tgz", - "integrity": "sha512-Pr/7HGH6H6yKgnVFNEj2MVlreu3ADqftqjqwUvDy/OJzKFgxKeTQ+eeUf20FOTuHVkDON2iNa25rAXVYtWJCjw==", - "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/runtime": "^7.13.10", - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.5", - "@emotion/serialize": "^1.0.2", - "babel-plugin-macros": "^2.6.1", + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", @@ -2135,91 +2118,48 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@emotion/babel-plugin/node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@emotion/babel-plugin/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/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@emotion/cache": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.9.3.tgz", - "integrity": "sha512-0dgkI/JKlCXa+lEXviaMtGBL0ynpx4osh7rjOXE71q9bIF8G+XhJgvi+wDu0B0IdCVx37BffiwXlN9I3UuzFvg==", - "dependencies": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.1.1", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "stylis": "4.0.13" } }, "node_modules/@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz", - "integrity": "sha512-RFg04p6C+1uO19uG8N+vqanzKqiM9eeV1LDOG3bmkYmuOj7NbKNlFC/4EZq5gnwAIlcC/jOT24f8Td0iax2SXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", "dependencies": { - "@emotion/memoize": "^0.7.4" + "@emotion/memoize": "^0.8.0" } }, "node_modules/@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, "node_modules/@emotion/react": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.9.3.tgz", - "integrity": "sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.7.1", - "@emotion/cache": "^11.9.3", - "@emotion/serialize": "^1.0.4", - "@emotion/utils": "^1.1.0", - "@emotion/weak-memoize": "^0.2.5", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -2236,32 +2176,33 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.4.tgz", - "integrity": "sha512-1JHamSpH8PIfFwAMryO2bNka+y8+KA5yga5Ocf2d7ZEiJjb7xlLW7aknBGZqJLajuLOvJ+72vN+IBSwPlXD1Pg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", "dependencies": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.1.tgz", - "integrity": "sha512-J3YPccVRMiTZxYAY0IOq3kd+hUP8idY8Kz6B/Cyo+JuXq52Ek+zbPbSQUrVQp95aJ+lsAW7DPL1P2Z+U1jGkKA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" }, "node_modules/@emotion/styled": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.9.3.tgz", - "integrity": "sha512-o3sBNwbtoVz9v7WB1/Y/AmXl69YHmei2mrVnK7JgyBJ//Rst5yqPZCecEJlMlJrFeWHp+ki/54uN265V2pEcXA==", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.7.1", - "@emotion/is-prop-valid": "^1.1.3", - "@emotion/serialize": "^1.0.4", - "@emotion/utils": "^1.1.0" + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" }, "peerDependencies": { "@babel/core": "^7.0.0", @@ -2283,28 +2224,36 @@ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" }, "node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } }, "node_modules/@emotion/utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.1.0.tgz", - "integrity": "sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" }, "node_modules/@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" }, "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", + "espree": "^9.4.0", "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2314,6 +2263,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { @@ -2358,9 +2310,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -2370,6 +2322,18 @@ "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": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -2446,12 +2410,20 @@ "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==", - "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==", + "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==", + "engines": { + "node": ">=8" } }, "node_modules/@jest/console": { @@ -2470,6 +2442,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2523,6 +2518,41 @@ "node": ">=8" } }, + "node_modules/@jest/console/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/@jest/console/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2580,6 +2610,29 @@ } } }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2633,6 +2686,41 @@ "node": ">=8" } }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/@jest/core/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2658,79 +2746,30 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/fake-timers": { + "node_modules/@jest/environment/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "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-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "@types/yargs-parser": "*" } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { + "node_modules/@jest/environment/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==", @@ -2744,7 +2783,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/chalk": { + "node_modules/@jest/environment/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -2759,7 +2798,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/reporters/node_modules/color-convert": { + "node_modules/@jest/environment/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==", @@ -2770,12 +2809,12 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/reporters/node_modules/color-name": { + "node_modules/@jest/environment/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/@jest/reporters/node_modules/has-flag": { + "node_modules/@jest/environment/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==", @@ -2783,15 +2822,7 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/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/@jest/reporters/node_modules/supports-color": { + "node_modules/@jest/environment/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==", @@ -2802,92 +2833,57 @@ "node": ">=8" } }, - "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==", + "node_modules/@jest/expect-utils": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.0.tgz", + "integrity": "sha512-nz2IDF7nb1qmj9hx8Ja3MFab2q9Ml8QbOaaeJNyX5JQJHU8QUvEDiMctmhGEkk3Kzr8w8vAqz4hPk/ogJSrUhg==", "dependencies": { - "@sinclair/typebox": "^0.24.1" + "jest-get-type": "^29.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/source-map": { + "node_modules/@jest/fake-timers": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/source-map/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/@jest/test-result": { + "node_modules/@jest/fake-timers/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "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": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "@types/yargs-parser": "*" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { + "node_modules/@jest/fake-timers/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==", @@ -2901,7 +2897,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/chalk": { + "node_modules/@jest/fake-timers/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -2916,7 +2912,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/transform/node_modules/color-convert": { + "node_modules/@jest/fake-timers/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==", @@ -2927,12 +2923,12 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/transform/node_modules/color-name": { + "node_modules/@jest/fake-timers/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/@jest/transform/node_modules/has-flag": { + "node_modules/@jest/fake-timers/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==", @@ -2940,15 +2936,42 @@ "node": ">=8" } }, - "node_modules/@jest/transform/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==", + "node_modules/@jest/fake-timers/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/transform/node_modules/supports-color": { + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/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==", @@ -2959,7 +2982,20 @@ "node": ">=8" } }, - "node_modules/@jest/types": { + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", @@ -2974,7 +3010,15 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/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==", @@ -2988,7 +3032,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jest/types/node_modules/chalk": { + "node_modules/@jest/globals/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -3003,7 +3047,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/types/node_modules/color-convert": { + "node_modules/@jest/globals/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==", @@ -3014,2810 +3058,3808 @@ "node": ">=7.0.0" } }, - "node_modules/@jest/types/node_modules/color-name": { + "node_modules/@jest/globals/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/@jest/types/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==", + "node_modules/@jest/globals/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/types/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==", + "node_modules/@jest/globals/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "has-flag": "^4.0.0" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, + "node_modules/@jest/globals/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": ">=6.0.0" + "node": ">=8" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@jest/globals/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, "engines": { - "node": ">=6.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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==", + "node_modules/@jest/globals/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "node_modules/@jest/globals/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=6.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==" - }, - "node_modules/@material-ui/core": { - "version": "4.12.4", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", - "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", + "node_modules/@jest/globals/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": { - "@babel/runtime": "^7.4.4", - "@material-ui/styles": "^4.11.5", - "@material-ui/system": "^4.12.2", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "@types/react-transition-group": "^4.2.0", - "clsx": "^1.0.4", - "hoist-non-react-statics": "^3.3.2", - "popper.js": "1.16.1-lts", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0", - "react-transition-group": "^4.4.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@material-ui/core/node_modules/@material-ui/styles": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", - "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dependencies": { - "@babel/runtime": "^7.4.4", - "@emotion/hash": "^0.8.0", - "@material-ui/types": "5.1.0", - "@material-ui/utils": "^4.11.3", - "clsx": "^1.0.4", - "csstype": "^2.5.2", - "hoist-non-react-statics": "^3.3.2", - "jss": "^10.5.1", - "jss-plugin-camel-case": "^10.5.1", - "jss-plugin-default-unit": "^10.5.1", - "jss-plugin-global": "^10.5.1", - "jss-plugin-nested": "^10.5.1", - "jss-plugin-props-sort": "^10.5.1", - "jss-plugin-rule-value-function": "^10.5.1", - "jss-plugin-vendor-prefixer": "^10.5.1", - "prop-types": "^15.7.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "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-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" }, "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "@types/react": { + "node-notifier": { "optional": true } } }, - "node_modules/@material-ui/core/node_modules/@material-ui/system": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", - "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@babel/runtime": "^7.4.4", - "@material-ui/utils": "^4.11.3", - "csstype": "^2.5.2", - "prop-types": "^15.7.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/material-ui" - }, - "peerDependencies": { - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@material-ui/core/node_modules/@material-ui/utils": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", - "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "@babel/runtime": "^7.4.4", - "prop-types": "^15.7.2", - "react-is": "^16.8.0 || ^17.0.0" + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/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.0.0" + "node": ">=8" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@material-ui/core/node_modules/csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" - }, - "node_modules/@material-ui/icons": { - "version": "4.11.3", - "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz", - "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==", + "node_modules/@jest/reporters/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": { - "@babel/runtime": "^7.4.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.0.0" - }, - "peerDependencies": { - "@material-ui/core": "^4.0.0", - "@types/react": "^16.8.6 || ^17.0.0", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@material-ui/types": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", - "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", - "peerDependencies": { - "@types/react": "*" + "node_modules/@jest/reporters/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" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@mui/base": { - "version": "5.0.0-alpha.91", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.91.tgz", - "integrity": "sha512-/W5amPDz+Lout4FtX5HOyx2Q+YL/EtZciFrx2DDRuUm4M/pWnjfDZAtM+0aqimEvuk3FU+/PuFc7IAyhCSX4Cg==", - "dependencies": { - "@babel/runtime": "^7.17.2", - "@emotion/is-prop-valid": "^1.1.3", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", - "@popperjs/core": "^2.11.5", - "clsx": "^1.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, + "node_modules/@jest/reporters/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/@jest/reporters/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": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@mui/base/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==" + "node_modules/@jest/reporters/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/@mui/icons-material": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.8.4.tgz", - "integrity": "sha512-9Z/vyj2szvEhGWDvb+gG875bOGm8b8rlHBKOD1+nA3PcgC3fV6W1AU6pfOorPeBfH2X4mb9Boe97vHvaSndQvA==", + "node_modules/@jest/reporters/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": { - "@babel/runtime": "^7.17.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=8" } }, - "node_modules/@mui/material": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.9.2.tgz", - "integrity": "sha512-FItBuj9bPdVier2g5OBG2HHlQLou4JuH3gdnY43tpJOrCpmWrbDVJZqrSufKJFO00qjvTYaGlJedIu+vXn79qw==", - "dependencies": { - "@babel/runtime": "^7.17.2", - "@mui/base": "5.0.0-alpha.91", - "@mui/system": "^5.9.2", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", - "@types/react-transition-group": "^4.4.5", - "clsx": "^1.2.1", - "csstype": "^3.1.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.2" + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@mui/material/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==" + "node_modules/@jest/source-map/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/@mui/private-theming": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.9.1.tgz", - "integrity": "sha512-eIh2IZJInNTdgPLMo9cruzm8UDX5amBBxxsSoNre7lRj3wcsu3TG5OKjIbzkf4VxHHEhdPeNNQyt92k7L78u2A==", + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dependencies": { - "@babel/runtime": "^7.17.2", - "@mui/utils": "^5.9.1", - "prop-types": "^15.8.1" + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@mui/styled-engine": { - "version": "5.8.7", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.8.7.tgz", - "integrity": "sha512-tVqtowjbYmiRq+qcqXK731L9eWoL9H8xTRhuTgaDGKdch1zlt4I2UwInUe1w2N9N/u3/jHsFbLcl1Un3uOwpQg==", + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "@babel/runtime": "^7.17.2", - "@emotion/cache": "^11.9.3", - "csstype": "^3.1.0", - "prop-types": "^15.8.1" + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-result/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": ">=12.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@mui/system": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.9.2.tgz", - "integrity": "sha512-iOvt9tVeFapHL7f7M6BSIiKGMx6RTRvAmc8ipMnQ/MR5Qsxwnyv7qKtNC/K11Rk13Xx0VPaPAhyvBcsr3KdpHA==", - "dependencies": { - "@babel/runtime": "^7.17.2", - "@mui/private-theming": "^5.9.1", - "@mui/styled-engine": "^5.8.7", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", - "clsx": "^1.2.1", - "csstype": "^3.1.0", - "prop-types": "^15.8.1" + "node_modules/@jest/test-result/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": ">=12.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@mui/types": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.5.tgz", - "integrity": "sha512-HnRXrxgHJYJcT8ZDdDCQIlqk0s0skOKD7eWs9mJgBUu70hyW4iA6Kiv3yspJR474RFH8hysKR65VVSzUSzkuwA==", - "peerDependencies": { - "@types/react": "*" + "node_modules/@jest/test-result/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" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@mui/utils": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.9.1.tgz", - "integrity": "sha512-8+4adOR3xusyJwvbnZxcjqcmbWvl7Og+260ZKIrSvwnFs0aLubL+8MhiceeDDGcmb0bTKxfUgRJ96j32Jb7P+A==", + "node_modules/@jest/test-result/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/@jest/test-result/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/@jest/test-result/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": { - "@babel/runtime": "^7.17.2", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^16.7.1 || ^17.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "node": ">=8" } }, - "node_modules/@mui/utils/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==" - }, - "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==", + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" }, "engines": { - "node": ">= 8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "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": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, "engines": { - "node": ">= 8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", - "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==", + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.8.1", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/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": ">= 10.13" + "node": ">=8" }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <3.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 1.x" - }, - "peerDependenciesMeta": { - "@types/webpack": { - "optional": true - }, - "sockjs-client": { - "optional": true - }, - "type-fest": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - }, - "webpack-hot-middleware": { - "optional": true - }, - "webpack-plugin-serve": { - "optional": true - } - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/@jest/transform/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": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "node_modules/@jest/transform/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": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=7.0.0" } }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "node_modules/@jest/transform/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/@jest/transform/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/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz", - "integrity": "sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dependencies": { - "type-detect": "4.0.8" + "node_modules/@jest/transform/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/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "node_modules/@jest/transform/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": { - "@sinonjs/commons": "^1.7.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "node_modules/@jest/types": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.0.tgz", + "integrity": "sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==", "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" + "@jest/schemas": "^29.0.0", + "@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": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "node_modules/@jest/types/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": ">=10" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "node_modules/@jest/types/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": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" + "node_modules/@jest/types/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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "node_modules/@jest/types/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/@jest/types/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": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=8" } }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" + "node_modules/@jest/types/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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "engines": { + "node": ">=8" } }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=6.0.0" } }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "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": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=6.0.0" } }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=6.0.0" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "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==" + }, + "node_modules/@material-ui/core": { + "version": "4.12.4", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-4.12.4.tgz", + "integrity": "sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==", "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" + "@babel/runtime": "^7.4.4", + "@material-ui/styles": "^4.11.5", + "@material-ui/system": "^4.12.2", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "@types/react-transition-group": "^4.2.0", + "clsx": "^1.0.4", + "hoist-non-react-statics": "^3.3.2", + "popper.js": "1.16.1-lts", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0", + "react-transition-group": "^4.4.0" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "node_modules/@material-ui/core/node_modules/@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "node_modules/@material-ui/core/node_modules/@material-ui/styles": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", + "integrity": "sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==", "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" + "@babel/runtime": "^7.4.4", + "@emotion/hash": "^0.8.0", + "@material-ui/types": "5.1.0", + "@material-ui/utils": "^4.11.3", + "clsx": "^1.0.4", + "csstype": "^2.5.2", + "hoist-non-react-statics": "^3.3.2", + "jss": "^10.5.1", + "jss-plugin-camel-case": "^10.5.1", + "jss-plugin-default-unit": "^10.5.1", + "jss-plugin-global": "^10.5.1", + "jss-plugin-nested": "^10.5.1", + "jss-plugin-props-sort": "^10.5.1", + "jss-plugin-rule-value-function": "^10.5.1", + "jss-plugin-vendor-prefixer": "^10.5.1", + "prop-types": "^15.7.2" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "node_modules/@material-ui/core/node_modules/@material-ui/system": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-4.12.2.tgz", + "integrity": "sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" + "@babel/runtime": "^7.4.4", + "@material-ui/utils": "^4.11.3", + "csstype": "^2.5.2", + "prop-types": "^15.7.2" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/material-ui" + }, + "peerDependencies": { + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.16.0.tgz", - "integrity": "sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w==", + "node_modules/@material-ui/core/node_modules/@material-ui/utils": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-4.11.3.tgz", + "integrity": "sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^4.2.0", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" + "@babel/runtime": "^7.4.4", + "prop-types": "^15.7.2", + "react-is": "^16.8.0 || ^17.0.0" }, "engines": { - "node": ">=12" + "node": ">=8.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" } }, - "node_modules/@testing-library/dom/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==", + "node_modules/@material-ui/core/node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/@material-ui/core/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/@material-ui/icons": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@material-ui/icons/-/icons-4.11.3.tgz", + "integrity": "sha512-IKHlyx6LDh8n19vzwH5RtHIOHl9Tu90aAAxcbWME6kp4dmvODM3UvOHJeMIDzUbd4muuJKHmlNoBN+mDY4XkBA==", "dependencies": { - "color-convert": "^2.0.1" + "@babel/runtime": "^7.4.4" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@material-ui/core": "^4.0.0", + "@types/react": "^16.8.6 || ^17.0.0", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", - "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==", - "engines": { - "node": ">=6.0" + "node_modules/@material-ui/types": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@material-ui/types/-/types-5.1.0.tgz", + "integrity": "sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom/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" + "node_modules/@mui/base": { + "version": "5.0.0-alpha.101", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.101.tgz", + "integrity": "sha512-a54BcXvArGOKUZ2zyS/7B9GNhAGgfomEQSkfEZ88Nc9jKvXA+Mppenfz5o4JCAnD8c4VlePmz9rKOYvvum1bZw==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" }, "engines": { - "node": ">=10" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom/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==", + "node_modules/@mui/core-downloads-tracker": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.9.tgz", + "integrity": "sha512-rqoFu4qww6KJBbXYhyRd9YXjwBHa3ylnBPSWbGf1bdfG0AYMKmVzg8zxkWvxAWOp97kvx3M2kNPb0xMIDZiogQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.9.tgz", + "integrity": "sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg==", "dependencies": { - "color-name": "~1.1.4" + "@babel/runtime": "^7.19.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom/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/@testing-library/dom/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==", + "node_modules/@mui/material": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.9.tgz", + "integrity": "sha512-sdOzlgpCmyw48je+E7o9UGGJpgBaF+60FlTRpVpcd/z+LUhnuzzuis891yPI5dPPXLBDL/bO4SsGg51lgNeLBw==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.101", + "@mui/core-downloads-tracker": "^5.10.9", + "@mui/system": "^5.10.9", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/dom/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==", + "node_modules/@mui/private-theming": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.9.tgz", + "integrity": "sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg==", "dependencies": { - "has-flag": "^4.0.0" + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.9", + "prop-types": "^15.8.1" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom": { - "version": "5.16.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz", - "integrity": "sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==", + "node_modules/@mui/styled-engine": { + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", "dependencies": { - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" }, "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/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" + "node_modules/@mui/system": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.9.tgz", + "integrity": "sha512-B6fFC0sK06hNmqY7fAUfwShQv594+u/DT1YEFHPtK4laouTu7V4vSGQWi1WJT9Bjs9Db5D1bRDJ+Yy+tc3QOYA==", + "dependencies": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.9", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/node_modules/aria-query": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", - "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==", - "engines": { - "node": ">=6.0" + "node_modules/@mui/types": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@mui/utils": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.9.tgz", + "integrity": "sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/runtime": "^7.19.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" } }, - "node_modules/@testing-library/jest-dom/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==", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dependencies": { - "color-name": "~1.1.4" + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/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": ">=7.0.0" + "node": ">=8.0.0" } }, - "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/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==", + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/@testing-library/jest-dom/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==", + "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": { - "has-flag": "^4.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@testing-library/react": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.3.0.tgz", - "integrity": "sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==", + "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": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">= 8" } }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.8.tgz", + "integrity": "sha512-wxXRwf+IQ6zvHSJZ+5T2RQNEsq+kx4jKRXfFvdt3nBIUzJUAvXEFsUeoaohDe/Kr84MTjGwcuIUPNcstNJORsA==", "dependencies": { - "@babel/runtime": "^7.12.5" + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">= 10.13" }, "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <4.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/@pmmmwh/react-refresh-webpack-plugin/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": ">= 6" + "node": ">= 8" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" } }, - "node_modules/@types/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "node_modules/@remix-run/router": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz", + "integrity": "sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ==", + "engines": { + "node": ">=14" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dependencies": { - "@babel/types": "^7.0.0" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dependencies": { - "@babel/types": "^7.3.0" + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.46", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.46.tgz", + "integrity": "sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", "dependencies": { - "@types/node": "*" + "type-detect": "4.0.8" } }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dependencies": { - "@types/node": "*" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", - "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", "dependencies": { - "@types/istanbul-lib-report": "*" + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" } }, - "node_modules/@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "dependencies": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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" - }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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" - }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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" - }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", "engines": { - "node": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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/@types/jest/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==", + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==", + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==", + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==", + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==", + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@types/jest/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==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/jest/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==" - }, - "node_modules/@types/jest/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==", + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", "dependencies": { - "has-flag": "^4.0.0" + "@babel/types": "^7.12.6" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } }, - "node_modules/@types/node": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz", - "integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==" + "node_modules/@testing-library/dom": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", + "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^5.0.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/@types/parse-json": { + "node_modules/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/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/@testing-library/dom/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } }, - "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==" + "node_modules/@testing-library/dom/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/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "node_modules/@testing-library/jest-dom": { + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + "node_modules/@testing-library/jest-dom/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/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/jest-dom/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/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, + "node_modules/@types/node": { + "version": "18.8.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.5.tgz", + "integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/react": { + "version": "17.0.50", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz", + "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", + "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "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==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.5", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", + "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz", + "integrity": "sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/type-utils": "5.40.0", + "@typescript-eslint/utils": "5.40.0", + "debug": "^4.3.4", + "ignore": "^5.2.0", + "regexpp": "^3.2.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/eslint-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.40.0.tgz", + "integrity": "sha512-wDYn3NYqVOmJI4iSkyWxXUu8Xoa4+OCh97YOXZecMCuXFIgCuxOCOlkR4kZyeXWNrulFyXPcXSbs4USb5IwI8g==", + "dependencies": { + "@typescript-eslint/utils": "5.40.0" + }, + "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/parser": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.0.tgz", + "integrity": "sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.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.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz", + "integrity": "sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==", + "dependencies": { + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.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.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz", + "integrity": "sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.40.0", + "@typescript-eslint/utils": "5.40.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.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.0.tgz", + "integrity": "sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==", + "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.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz", + "integrity": "sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==", + "dependencies": { + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.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/typescript-estree/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.0.tgz", + "integrity": "sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz", + "integrity": "sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==", + "dependencies": { + "@typescript-eslint/types": "5.40.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/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" }, - "node_modules/@types/react": { - "version": "17.0.47", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.47.tgz", - "integrity": "sha512-mk0BL8zBinf2ozNr3qPnlu1oyVTYq+4V7WA76RgxUAtf0Em/Wbid38KN6n4abEkvO4xMTBWmnP1FtQzgkEiJoA==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" } }, - "node_modules/@types/react-dom": { - "version": "18.0.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.6.tgz", - "integrity": "sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dependencies": { - "@types/react": "*" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@types/react-is": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", - "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dependencies": { - "@types/react": "*" + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dependencies": { - "@types/react": "*" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" } }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "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==" - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dependencies": { - "@types/express": "*" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" } }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" } }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dependencies": { - "@types/node": "*" + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + "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/@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "dependencies": { - "@types/jest": "*" - } + "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/@types/trusted-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" }, - "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "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==", "dependencies": { - "@types/node": "*" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", - "integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dependencies": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/type-utils": "5.30.7", - "@typescript-eslint/utils": "5.30.7", - "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "acorn": "^8" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.30.7.tgz", - "integrity": "sha512-r218ZVL0zFBYzEq8/9K2ZhRgsmKUhm8xd3sWChgvTbmP98kHGuY83IUl64SS9fx9OSBM9vMLdzBfox4eDdm/ZQ==", + "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-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dependencies": { - "@typescript-eslint/utils": "5.30.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.7.tgz", - "integrity": "sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", - "debug": "^4.3.4" - }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "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": ">=0.4.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz", - "integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==", + "node_modules/address": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dependencies": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=8.9" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz", - "integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "@typescript-eslint/utils": "5.30.7", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "debug": "4" }, "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": ">= 6.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz", - "integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.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": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz", - "integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==", + "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==", "dependencies": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7", - "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" + "ajv": "^8.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "ajv": "^8.0.0" }, "peerDependenciesMeta": { - "typescript": { + "ajv": { "optional": true } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", - "integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "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": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } + "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==" }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" + "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/@typescript-eslint/visitor-keys": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", - "integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", + "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==", "dependencies": { - "@typescript-eslint/types": "5.30.7", - "eslint-visitor-keys": "^3.3.0" + "type-fest": "^0.21.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.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==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" + "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/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "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==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { - "@xtuc/long": "4.2.2" + "sprintf-js": "~1.0.2" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + "node_modules/aria-query": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==", + "engines": { + "node": ">=6.0" + } }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "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/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "node_modules/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "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/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "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==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "engines": { - "node": ">= 0.6" + "node": ">= 4.0.0" } }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "node_modules/autoprefixer": { + "version": "10.4.12", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", + "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001407", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, "bin": { - "acorn": "bin/acorn" + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">=0.4.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "node_modules/axe-core": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", + "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.4.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/babel-jest/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": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" + "node_modules/babel-jest/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": ">=0.4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "node_modules/babel-jest/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": ">=0.4.0" + "node": ">=7.0.0" } }, - "node_modules/address": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.0.tgz", - "integrity": "sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==", + "node_modules/babel-jest/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/babel-jest/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": ">= 10.0.0" + "node": ">=8" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "node_modules/babel-jest/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": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8.9" + "node": ">=8" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dependencies": { - "debug": "4" + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "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" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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==", + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "object.assign": "^4.1.0" } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@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" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=8" } }, - "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==" - }, - "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/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dependencies": { - "type-fest": "^0.21.3" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10", + "npm": ">=6" } }, - "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==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" } }, - "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/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "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==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, - "engines": { - "node": ">=4" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/babel-plugin-styled-components": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "styled-components": ">= 2" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "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==", "dependencies": { - "sprintf-js": "~1.0.2" + "@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/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=6.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } }, - "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "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/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==" + }, + "node_modules/bfj": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" + "bluebird": "^3.5.5", + "check-types": "^11.1.1", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.0.0" } }, - "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==", + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { "node": ">=8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", - "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - }, + "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==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", - "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "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==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "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==" }, - "node_modules/at-least-node": { + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "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/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" + "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": ">= 4.5.0" + "node": ">=8" } }, - "node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "funding": [ { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/browserslist" }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "url": "https://tidelift.com/funding/github/npm/browserslist" } ], "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" }, "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "browserslist": "cli.js" }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axe-core": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz", - "integrity": "sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==", "engines": { - "node": ">=4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/axios": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", - "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "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==", "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "node-int64": "^0.4.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, + "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/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "engines": { - "node": ">= 6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.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==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">= 0.8" } }, - "node_modules/babel-jest/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==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-jest/node_modules/chalk": { + "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/camel-case": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-jest/node_modules/color-convert": { + "node_modules/camelcase-css": { "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" - }, + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/babel-jest/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/babel-jest/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/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-jest/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==", + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, + "node_modules/caniuse-lite": { + "version": "1.0.30001419", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz", + "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "node": ">=4" } }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "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==", "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=4" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" + "node_modules/chalk/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==", + "engines": { + "node": ">=0.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==", - "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" - }, + "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==", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "node_modules/check-types": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "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==", "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">= 6" } }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "peerDependencies": { - "@babel/core": "^7.1.0" + "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/babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/ci-info": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "node_modules/clean-css": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", + "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "source-map": "~0.6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 10.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/clean-css/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/babel-plugin-styled-components": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", - "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11", - "picomatch": "^2.3.0" - }, - "peerDependencies": { - "styled-components": ">= 2" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } }, - "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==", - "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/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">= 4.0" } }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "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==", "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + "color-name": "1.1.3" } }, - "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/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "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==" + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, - "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 0.8" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { - "node": "*" + "node": ">= 12" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "engines": { - "node": ">=8" + "node": ">=4.0.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "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.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 0.6" } }, - "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==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "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" + "node": ">= 0.8.0" } }, - "node_modules/body-parser/node_modules/debug": { + "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==", @@ -5825,302 +6867,387 @@ "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==", + "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==" + }, + "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==" + }, + "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/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "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==", + "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==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "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==" + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "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==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "node_modules/core-js": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "node_modules/core-js-pure": { + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "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==", + "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==" + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "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": { - "fill-range": "^7.0.1" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } }, - "node_modules/browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dependencies": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "postcss-selector-parser": "^6.0.9" }, "bin": { - "browserslist": "cli.js" + "css-blank-pseudo": "dist/cli.cjs" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "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==", - "dependencies": { - "node-int64": "^0.4.0" + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" } }, - "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/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", "engines": { - "node": ">=6" + "node": "^10 || ^12 || >=14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, "engines": { - "node": ">= 0.8" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": ">=10" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==" - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/css-minimizer-webpack-plugin/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==", "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001370", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz", - "integrity": "sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "engines": { - "node": ">=4" - } + "node_modules/css-minimizer-webpack-plugin/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==" }, - "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==", + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "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==", + "node_modules/css-minimizer-webpack-plugin/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": ">=10" + "node": ">=0.10.0" } }, - "node_modules/check-types": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", - "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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" + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" }, "engines": { - "node": ">= 8.10.0" + "node": "^12 || ^14 || >=16" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependencies": { + "postcss": "^8.4" } }, - "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==", + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dependencies": { - "is-glob": "^4.0.1" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.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==", - "engines": { - "node": ">=6.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==" + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + "node_modules/css-to-react-native": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", + "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } }, - "node_modules/clean-css": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", - "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "dependencies": { - "source-map": "~0.6.0" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" }, "engines": { - "node": ">= 10.0" + "node": ">=8.0.0" } }, - "node_modules/clean-css/node_modules/source-map": { + "node_modules/css-tree/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==", @@ -6128,1587 +7255,1578 @@ "node": ">=0.10.0" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/css-vendor": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", + "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "@babel/runtime": "^7.8.3", + "is-in-browser": "^1.0.2" } }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { - "node": ">=6" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.2.tgz", + "integrity": "sha512-Vm4b6P/PifADu0a76H0DKRNVWq3Rq9xa/Nx6oEMUBJlwTUuZoZ3dkZxo8Gob3UEL53Cq+Ma1GBgISed6XEBs3w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "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==", - "dependencies": { - "color-name": "1.1.3" + "node": ">=4" } }, - "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==" - }, - "node_modules/colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==" - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/cssnano": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", + "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", "dependencies": { - "delayed-stream": "~1.0.0" + "cssnano-preset-default": "^5.2.12", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" }, "engines": { - "node": ">= 0.8" + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/cssnano-preset-default": { + "version": "5.2.12", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", + "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", + "dependencies": { + "css-declaration-sorter": "^6.3.0", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.6", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, "engines": { - "node": ">= 12" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "node": "^10 || ^12 || >=14.0" }, - "engines": { - "node": ">= 0.6" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "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" + "css-tree": "^1.1.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8.0.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==", + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dependencies": { - "ms": "2.0.0" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.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==" - }, - "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/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, - "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==", + "node_modules/csso/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.8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dependencies": { - "safe-buffer": "5.2.1" + "cssom": "~0.3.6" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/content-disposition/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/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, "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==" - }, - "node_modules/core-js": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.24.0.tgz", - "integrity": "sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node": ">=10" } }, - "node_modules/core-js-compat": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.0.tgz", - "integrity": "sha512-F+2E63X3ff/nj8uIrf8Rf24UDGIz7p838+xjEp+Bx3y8OWXj+VTPPZNCtdqovPaS9o7Tka5mCH01Zn5vOd6UQg==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "browserslist": "^4.21.2", - "semver": "7.0.0" + "ms": "2.1.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/decimal.js": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", + "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" }, - "node_modules/core-js-pure": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.24.0.tgz", - "integrity": "sha512-uzMmW8cRh7uYw4JQtzqvGWRyC2T5+4zipQLQdi2FmiRqP83k3d6F3stv2iAlNhOs6cXN401FCD5TL0vvleuHgA==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, - "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==" + "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/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "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==", + "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==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "execa": "^5.0.0" }, "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/crypto-random-string": { + "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "engines": { "node": ">=8" } }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">= 0.4" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "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==", + "engines": { + "node": ">= 0.8" } }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">=4" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/css-declaration-sorter": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz", - "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==", + "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==", "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=8" } }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "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==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "dependencies": { - "postcss-selector-parser": "^6.0.9" + "address": "^1.0.1", + "debug": "^2.6.0" }, "bin": { - "css-has-pseudo": "dist/cli.cjs" + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">= 4.2.1" } }, - "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.7", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "ms": "2.0.0" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" }, - "peerDependencies": { - "webpack": "^5.0.0" + "bin": { + "detective": "bin/detective.js" }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } + "engines": { + "node": ">=0.8.0" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "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/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/css-minimizer-webpack-plugin/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==", + "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": { - "fast-deep-equal": "^3.1.3" + "path-type": "^4.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=8" } }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-equal": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" + "@leichtgewicht/ip-codec": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/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": ">=6" } }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" + "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": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": ">=6.0.0" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/dom-accessibility-api": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", + "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "utila": "~0.4" } }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } }, - "node_modules/css-to-react-native": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz", - "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "webidl-conversions": "^5.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=8" } }, - "node_modules/css-tree/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==", + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/css-vendor": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz", - "integrity": "sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==", + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { - "@babel/runtime": "^7.8.3", - "is-in-browser": "^1.0.2" + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } }, - "node_modules/css/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==", + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "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==" + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, "bin": { - "cssesc": "bin/cssesc" + "ejs": "bin/cli.js" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/cssnano": { - "version": "5.1.12", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.12.tgz", - "integrity": "sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==", - "dependencies": { - "cssnano-preset-default": "^5.2.12", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, + "node_modules/electron-to-chromium": { + "version": "1.4.282", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz", + "integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/cssnano-preset-default": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", - "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", - "dependencies": { - "css-declaration-sorter": "^6.3.0", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.2", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.6", - "postcss-merge-rules": "^5.1.2", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.3", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 4" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, + "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==", "engines": { - "node": ">=8.0.0" + "node": ">= 0.8" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "node_modules/enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.13.0" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/csso/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/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==", + "dependencies": { + "is-arrayish": "^0.2.1" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/es-abstract": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "dependencies": { - "cssom": "~0.3.6" + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" + "has": "^1.0.3" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { - "ms": "2.1.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=0.10" + "node": ">=6" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "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/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==" }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "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": ">=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==", - "dependencies": { - "execa": "^5.0.0" + "node": ">=10" }, - "engines": { - "node": ">= 10" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-lazy-prop": { + "node_modules/escodegen": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8.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==", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/escodegen/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==", + "optional": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "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==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "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==" - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "node_modules/eslint": { + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/module-importer": "^1.0.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.4.0", + "esquery": "^1.4.0", + "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.1", + "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" }, "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" }, "engines": { - "node": ">=0.8.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.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==", + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "dependencies": { - "path-type": "^4.0.0" + "debug": "^3.2.7" }, "engines": { - "node": ">=8" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" + "ms": "^2.1.1" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", "dependencies": { - "esutils": "^2.0.2" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.14", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz", - "integrity": "sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==" - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dependencies": { - "utila": "~0.4" + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" + "ms": "2.0.0" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "esutils": "^2.0.2" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", "dependencies": { - "webidl-conversions": "^5.0.0" + "@typescript-eslint/experimental-utils": "^5.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dependencies": { - "domelementtype": "^2.2.0" + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" }, "engines": { - "node": ">= 4" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "engines": { - "node": ">=10" + "node": ">=6.0" } }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "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==" - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "node_modules/eslint-plugin-react": { + "version": "7.31.10", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==" - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "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==", - "engines": { - "node": ">= 0.8" + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/eslint-plugin-testing-library": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz", + "integrity": "sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA==", "dependencies": { - "is-arrayish": "^0.2.1" + "@typescript-eslint/utils": "^5.13.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "dependencies": { - "stackframe": "^1.3.4" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "eslint-visitor-keys": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" } }, - "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/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "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/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==" + "node_modules/eslint-webpack-plugin/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==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } }, - "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==", + "node_modules/eslint-webpack-plugin/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": ">=0.8.0" + "node": ">=8" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "node_modules/eslint-webpack-plugin/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==", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/eslint-webpack-plugin/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==" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/eslint-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": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "node_modules/eslint/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": ">= 0.8.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/escodegen/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==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/eslint/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/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/eslint/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": { - "prelude-ls": "~1.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz", - "integrity": "sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==", + "node_modules/eslint/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": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "color-name": "~1.1.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=7.0.0" } }, - "node_modules/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "node_modules/eslint/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/eslint/node_modules/globals": { + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "dependencies": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=8" }, - "peerDependencies": { - "eslint": "^8.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" + "node_modules/eslint/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/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/eslint/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": { - "ms": "^2.1.1" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "node_modules/eslint/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": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "node_modules/eslint/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/eslint-module-utils/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "node_modules/espree": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "dependencies": { - "locate-path": "^2.0.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-module-utils/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, "engines": { "node": ">=4" } }, - "node_modules/eslint-module-utils/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dependencies": { - "p-try": "^1.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/eslint-module-utils/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "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": { - "p-limit": "^1.1.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=4" + "node": ">=4.0" } }, - "node_modules/eslint-module-utils/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "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" + "node": ">=4.0" } }, - "node_modules/eslint-module-utils/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "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==" + }, + "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==", "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" + "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": ">=12.0.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.0.tgz", + "integrity": "sha512-03ClF3GWwUqd9Grgkr9ZSdaCJGMRA69PQ8jT7o+Bx100VlGiAFf9/8oIm9Qve7ZVJhuJxFftqFhviZJRxxNfvg==", "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "@jest/expect-utils": "^29.2.0", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.0", + "jest-message-util": "^29.2.0", + "jest-util": "^29.2.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.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" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { + "node_modules/express/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==" + }, + "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==", @@ -7716,320 +8834,296 @@ "ms": "2.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { + "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==" }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "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.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" + "@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": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "node": ">=8.6.0" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "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": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">= 6" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "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/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" } }, - "node_modules/eslint-plugin-react": { - "version": "7.30.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz", - "integrity": "sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==", + "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==", "dependencies": { - "array-includes": "^3.1.5", - "array.prototype.flatmap": "^1.3.0", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.1", - "object.values": "^1.1.5", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.7" + "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=0.8.0" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "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==", + "dependencies": { + "bser": "2.1.1" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "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": { - "esutils": "^2.0.2" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=0.10.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" } }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.5.1.tgz", - "integrity": "sha512-plLEkkbAKBjPxsLj7x4jNapcHAg2ernkQlKKrN2I8NrQwPISZHyCUNvg5Hv3EDqOQReToQb5bnqXYbkijJPE/g==", + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "@typescript-eslint/utils": "^5.13.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.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": { - "eslint-visitor-keys": "^2.0.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" + "node": ">=8" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "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": ">=10" + "node": ">= 0.8" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "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==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "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==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "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/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, - "node_modules/eslint-webpack-plugin/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==", + "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": { - "fast-deep-equal": "^3.1.3" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/eslint-webpack-plugin/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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-webpack-plugin/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==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/eslint-webpack-plugin/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==" + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { - "node": ">= 12.13.0" + "node": ">=4.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/eslint-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==", + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", + "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", "dependencies": { - "has-flag": "^4.0.0" + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=10", + "yarn": ">=1.0.0" }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } } }, - "node_modules/eslint/node_modules/ansi-styles": { + "node_modules/fork-ts-checker-webpack-plugin/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==", @@ -8043,12 +9137,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/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/eslint/node_modules/chalk": { + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -8063,7 +9152,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/eslint/node_modules/color-convert": { + "node_modules/fork-ts-checker-webpack-plugin/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==", @@ -8074,37 +9163,41 @@ "node": ">=7.0.0" } }, - "node_modules/eslint/node_modules/color-name": { + "node_modules/fork-ts-checker-webpack-plugin/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/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=8" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { - "type-fest": "^0.20.2" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/eslint/node_modules/has-flag": { + "node_modules/fork-ts-checker-webpack-plugin/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==", @@ -8112,18 +9205,38 @@ "node": ">=8" } }, - "node_modules/eslint/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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dependencies": { - "argparse": "^2.0.1" + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" }, "bin": { - "js-yaml": "bin/js-yaml.js" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/eslint/node_modules/supports-color": { + "node_modules/fork-ts-checker-webpack-plugin/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==", @@ -8131,805 +9244,847 @@ "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "node_modules/eslint/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==", + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dependencies": { - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" } }, - "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==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=4" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dependencies": { - "estraverse": "^5.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">=0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "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==", "engines": { - "node": ">=4.0" + "node": ">=6.9.0" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "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==", "engines": { - "node": ">=0.10.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "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==", "engines": { - "node": ">=0.8.x" + "node": ">=8.0.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, + "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==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "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": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.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.10.3", - "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" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 0.10.0" + "node": ">=10.13.0" } }, - "node_modules/express/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==" + "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/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dependencies": { - "ms": "2.0.0" + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "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==" - }, - "node_modules/express/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/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/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "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" + "isexe": "^2.0.0" }, + "bin": { + "which": "bin/which" + } + }, + "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==", "engines": { - "node": ">=8.6.0" + "node": ">=4" } }, - "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==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "is-glob": "^4.0.1" + "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": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, - "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/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dependencies": { - "reusify": "^1.0.4" + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { - "websocket-driver": ">=0.5.1" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=0.8.0" + "node": ">= 0.4.0" } }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dependencies": { - "bser": "2.1.1" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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" - }, + "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==", "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "get-intrinsic": "^1.1.1" }, + "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==", "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "minimatch": "^5.0.1" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "react-is": "^16.7.0" } }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "engines": { - "node": ">= 0.4.0" + "node": ">= 6.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==", + "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==", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "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" + "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/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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/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==", "dependencies": { - "ms": "2.0.0" + "safe-buffer": "~5.1.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==" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "node": ">=10" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" }, - "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==", + "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==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" }, - "engines": { - "node": ">=10" + "bin": { + "html-minifier-terser": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=12" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" } }, - "node_modules/flatted": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" + "type": "github", + "url": "https://github.com/sponsors/fb55" } ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", - "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "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==" + }, + "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==", "dependencies": { - "color-convert": "^2.0.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 0.8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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==" + }, + "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==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=8.0.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dependencies": { - "color-name": "~1.1.4" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "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==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "@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": ">=8" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "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==", "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } + "node_modules/hyphenate-style-name": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", + "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, - "node_modules/fork-ts-checker-webpack-plugin/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==", + "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": { - "has-flag": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "engines": { - "node": ">=6" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/idb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "harmony-reflect": "^1.4.6" }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "engines": { - "node": ">= 0.6" + "node": ">= 4" } }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "engines": { - "node": "*" - }, + "node_modules/immer": { + "version": "9.0.15", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", + "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==", "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "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": ">= 0.6" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "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": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "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/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/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=8" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "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/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "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/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "engines": { + "node": ">= 10" + } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "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==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, "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==", - "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==", + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/get-intrinsic": { + "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "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==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": ">=8.0.0" + "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==", - "engines": { - "node": ">=10" + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dependencies": { + "has": "^1.0.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -8938,96 +10093,110 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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" + "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==", + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": "*" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - }, + "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": ">=10.13.0" + "node": ">=0.10.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/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==", + "engines": { + "node": ">=8" + } }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, + "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==", "engines": { "node": ">=6" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "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": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" + "node_modules/is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": ">=4" + "node": ">=0.12.0" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "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" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", "engines": { "node": ">=10" }, @@ -9035,77 +10204,71 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "duplexer": "^0.1.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "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==" - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", "engines": { - "node": ">= 0.4.0" + "node": ">=6" } }, - "node_modules/has-bigints": { + "node_modules/is-shared-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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==", "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -9113,10 +10276,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" }, @@ -9127,765 +10290,792 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/history": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", - "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { - "@babel/runtime": "^7.7.6" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "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==", "dependencies": { - "react-is": "^16.7.0" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "engines": { - "node": ">= 6.0.0" + "node": ">=8" } }, - "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==", + "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==", "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "@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/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "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" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "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/istanbul-lib-report/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/istanbul-lib-report/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": { - "safe-buffer": "~5.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "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==", "dependencies": { - "whatwg-encoding": "^1.0.5" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { "node": ">=10" } }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + "node_modules/istanbul-lib-source-maps/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/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", "dependencies": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" }, "bin": { - "html-minifier-terser": "cli.js" + "jake": "bin/cli.js" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "node_modules/jake/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": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/jake/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": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==" - }, - "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==", + "node_modules/jake/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": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8" + "node": ">=7.0.0" } }, - "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==" + "node_modules/jake/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/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==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, + "node_modules/jake/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.0.0" + "node": ">=8" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/jake/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": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "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==", + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "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" + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=12.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "@types/express": "^4.17.13" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "@types/express": { + "node-notifier": { "optional": true } } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dependencies": { - "agent-base": "6", - "debug": "4" + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" }, "engines": { - "node": ">= 6" - } - }, - "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==", - "engines": { - "node": ">=10.17.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "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==", + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/idb": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz", - "integrity": "sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==" - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", - "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-changed-files/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": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/jest-changed-files/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": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/jest-changed-files/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": ">=0.8.19" + "node": ">=7.0.0" } }, - "node_modules/indent-string": { + "node_modules/jest-changed-files/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/jest-changed-files/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/jest-changed-files/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": { - "once": "^1.3.0", - "wrappy": "1" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-circus/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": { - "binary-extensions": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/jest-circus/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": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "engines": { - "node": ">= 0.4" + "node_modules/jest-circus/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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/jest-circus/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/jest-circus/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", - "bin": { - "is-docker": "cli.js" - }, + "node_modules/jest-circus/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/jest-circus/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "is-extglob": "^2.1.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==" - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" + "node_modules/jest-circus/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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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": ">=8" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-cli/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-cli/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": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "node_modules/jest-cli/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": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "node_modules/jest-cli/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": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "node_modules/jest-cli/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/jest-cli/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": ">=6" + "node": ">=8" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/jest-cli/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "call-bind": "^1.0.2" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-cli/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" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dependencies": { - "has-tostringtag": "^1.0.0" + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">= 0.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "has-symbols": "^1.0.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-config/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": { - "is-docker": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "node_modules/jest-config/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": { - "@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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/jest-config/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": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { + "node_modules/jest-config/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/jest-config/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==", @@ -9893,68 +11083,56 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-report/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" - }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/jest-config/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": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "node_modules/jest-diff": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.0.tgz", + "integrity": "sha512-GsH07qQL+/D/GxlnU+sSg9GL3fBOcuTlmtr3qr2pnkiODCwubNN2/7slW4m3CvxDsEus/VEOfQKRFLyXsUlnZw==", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" + "chalk": "^4.0.0", + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jake/node_modules/ansi-styles": { + "node_modules/jest-diff/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==", @@ -9968,7 +11146,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jake/node_modules/chalk": { + "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -9983,7 +11161,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jake/node_modules/color-convert": { + "node_modules/jest-diff/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==", @@ -9994,12 +11172,12 @@ "node": ">=7.0.0" } }, - "node_modules/jake/node_modules/color-name": { + "node_modules/jest-diff/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/jake/node_modules/has-flag": { + "node_modules/jest-diff/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==", @@ -10007,7 +11185,31 @@ "node": ">=8" } }, - "node_modules/jake/node_modules/supports-color": { + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/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==", @@ -10018,73 +11220,56 @@ "node": ">=8" } }, - "node_modules/jest": { + "node_modules/jest-docblock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" + "detect-newline": "^3.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } } }, - "node_modules/jest-changed-files": { + "node_modules/jest-each": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dependencies": { "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus": { + "node_modules/jest-each/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/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==", @@ -10098,7 +11283,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-circus/node_modules/chalk": { + "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10113,7 +11298,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-circus/node_modules/color-convert": { + "node_modules/jest-each/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==", @@ -10124,12 +11309,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-circus/node_modules/color-name": { + "node_modules/jest-each/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/jest-circus/node_modules/has-flag": { + "node_modules/jest-each/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==", @@ -10137,7 +11322,31 @@ "node": ">=8" } }, - "node_modules/jest-circus/node_modules/supports-color": { + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/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==", @@ -10148,40 +11357,47 @@ "node": ">=8" } }, - "node_modules/jest-cli": { + "node_modules/jest-environment-jsdom": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" + "jsdom": "^16.6.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-cli/node_modules/ansi-styles": { + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/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==", @@ -10195,7 +11411,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-cli/node_modules/chalk": { + "node_modules/jest-environment-jsdom/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10210,7 +11426,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/color-convert": { + "node_modules/jest-environment-jsdom/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==", @@ -10221,12 +11437,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-cli/node_modules/color-name": { + "node_modules/jest-environment-jsdom/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/jest-cli/node_modules/has-flag": { + "node_modules/jest-environment-jsdom/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==", @@ -10234,7 +11450,23 @@ "node": ">=8" } }, - "node_modules/jest-cli/node_modules/supports-color": { + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/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==", @@ -10245,49 +11477,46 @@ "node": ">=8" } }, - "node_modules/jest-config": { + "node_modules/jest-environment-node": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-config/node_modules/ansi-styles": { + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/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==", @@ -10301,7 +11530,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-config/node_modules/chalk": { + "node_modules/jest-environment-node/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10316,7 +11545,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-config/node_modules/color-convert": { + "node_modules/jest-environment-node/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==", @@ -10327,12 +11556,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-config/node_modules/color-name": { + "node_modules/jest-environment-node/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/jest-config/node_modules/has-flag": { + "node_modules/jest-environment-node/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==", @@ -10340,7 +11569,23 @@ "node": ">=8" } }, - "node_modules/jest-config/node_modules/supports-color": { + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/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==", @@ -10351,21 +11596,63 @@ "node": ">=8" } }, - "node_modules/jest-diff": { + "node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/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==", @@ -10379,7 +11666,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-diff/node_modules/chalk": { + "node_modules/jest-haste-map/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10394,7 +11681,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-diff/node_modules/color-convert": { + "node_modules/jest-haste-map/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==", @@ -10405,20 +11692,36 @@ "node": ">=7.0.0" } }, - "node_modules/jest-diff/node_modules/color-name": { + "node_modules/jest-haste-map/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/jest-diff/node_modules/has-flag": { + "node_modules/jest-haste-map/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": ">=8" + } + }, + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-diff/node_modules/supports-color": { + "node_modules/jest-haste-map/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==", @@ -10429,33 +11732,57 @@ "node": ">=8" } }, - "node_modules/jest-docblock": { + "node_modules/jest-jasmine2": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "dependencies": { - "detect-newline": "^3.0.0" + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-each": { + "node_modules/jest-jasmine2/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/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==", @@ -10469,7 +11796,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-each/node_modules/chalk": { + "node_modules/jest-jasmine2/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10484,7 +11811,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-each/node_modules/color-convert": { + "node_modules/jest-jasmine2/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==", @@ -10495,12 +11822,34 @@ "node": ">=7.0.0" } }, - "node_modules/jest-each/node_modules/color-name": { + "node_modules/jest-jasmine2/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/jest-each/node_modules/has-flag": { + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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==", @@ -10508,111 +11857,123 @@ "node": ">=8" } }, - "node_modules/jest-each/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==", + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "has-flag": "^4.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-environment-jsdom": { + "node_modules/jest-jasmine2/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-environment-node": { + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-get-type": { + "node_modules/jest-jasmine2/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-haste-map": { + "node_modules/jest-jasmine2/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" + "picomatch": "^2.2.3" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/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" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "engines": { + "node": ">=8" } }, - "node_modules/jest-jasmine2": { + "node_modules/jest-leak-detector": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.0.tgz", + "integrity": "sha512-FcEfKZ4vm28yCdBsvC69EkrEhcfex+IYlRctNJXsRG9+WC3WxgBNORnECIgqUtj7o/h1d8o7xB/dFUiLi4bqtw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/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==", @@ -10626,7 +11987,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { + "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10641,7 +12002,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/color-convert": { + "node_modules/jest-matcher-utils/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==", @@ -10652,12 +12013,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-jasmine2/node_modules/color-name": { + "node_modules/jest-matcher-utils/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/jest-jasmine2/node_modules/has-flag": { + "node_modules/jest-matcher-utils/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==", @@ -10665,44 +12026,61 @@ "node": ">=8" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", "dependencies": { - "has-flag": "^4.0.0" + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "node_modules/jest-matcher-utils/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/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": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "node_modules/jest-message-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.0.tgz", + "integrity": "sha512-arBfk5yMFMTnMB22GyG601xGSGthA02vWSewPaxoFo0F9wBqDOyxccPbCcYu8uibw3kduSHXdCOd1PsLSgdomg==", "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.2.0", + "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.2.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "node_modules/jest-message-util/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==", @@ -10716,7 +12094,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-matcher-utils/node_modules/chalk": { + "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10731,7 +12109,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { + "node_modules/jest-message-util/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==", @@ -10742,12 +12120,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/color-name": { + "node_modules/jest-message-util/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/jest-matcher-utils/node_modules/has-flag": { + "node_modules/jest-message-util/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==", @@ -10755,7 +12133,31 @@ "node": ">=8" } }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/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==", @@ -10766,26 +12168,42 @@ "node": ">=8" } }, - "node_modules/jest-message-util": { + "node_modules/jest-mock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dependencies": { - "@babel/code-frame": "^7.12.13", "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@types/node": "*" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock/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==", @@ -10799,7 +12217,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-message-util/node_modules/chalk": { + "node_modules/jest-mock/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -10814,7 +12232,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-message-util/node_modules/color-convert": { + "node_modules/jest-mock/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==", @@ -10825,12 +12243,12 @@ "node": ">=7.0.0" } }, - "node_modules/jest-message-util/node_modules/color-name": { + "node_modules/jest-mock/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/jest-message-util/node_modules/has-flag": { + "node_modules/jest-mock/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==", @@ -10838,7 +12256,7 @@ "node": ">=8" } }, - "node_modules/jest-message-util/node_modules/supports-color": { + "node_modules/jest-mock/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==", @@ -10849,18 +12267,6 @@ "node": ">=8" } }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, "node_modules/jest-pnp-resolver": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", @@ -10918,6 +12324,116 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/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/jest-resolve-dependencies/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/jest-resolve-dependencies/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/jest-resolve-dependencies/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/jest-resolve-dependencies/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/jest-resolve-dependencies/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/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-resolve/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -10971,6 +12487,22 @@ "node": ">=8" } }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11013,6 +12545,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-runner/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11063,7 +12618,42 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-runner/node_modules/supports-color": { @@ -11109,6 +12699,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-runtime/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11162,6 +12775,41 @@ "node": ">=8" } }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-runtime/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11217,6 +12865,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11262,6 +12933,28 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -11270,6 +12963,91 @@ "node": ">=8" } }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-snapshot/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11282,11 +13060,11 @@ } }, "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.0.tgz", + "integrity": "sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw==", "dependencies": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.2.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -11294,7 +13072,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -11377,6 +13155,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11430,6 +13231,14 @@ "node": ">=8" } }, + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-validate/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11485,6 +13294,17 @@ "node": ">=8" } }, + "node_modules/jest-watch-typeahead/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==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", @@ -11515,14 +13335,6 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11704,11 +13516,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-watch-typeahead/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==" - }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -11796,6 +13603,29 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -11849,6 +13679,22 @@ "node": ">=8" } }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-watcher/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -11895,6 +13741,11 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -11957,6 +13808,19 @@ } } }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -12019,9 +13883,9 @@ } }, "node_modules/jss": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.1.tgz", - "integrity": "sha512-omDBQTYyIdYuHee1mkpqDyHw2NguCrURBU1izPPHmdtDK6SkP7P3buZt4ybHWOahTZ3+xd0C+zLPBBw7Hn3eYg==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", + "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", "dependencies": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -12034,79 +13898,79 @@ } }, "node_modules/jss-plugin-camel-case": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.1.tgz", - "integrity": "sha512-irEr3Z2ENUz71OIq6PWN0N6g3uIA6LyGEwiIfL1JBzy+HVZS17xq/vwnHda3KyvPls18cKiwNNuuVwY6TrWwWg==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", + "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", "dependencies": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", - "jss": "10.9.1" + "jss": "10.9.2" } }, "node_modules/jss-plugin-default-unit": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.1.tgz", - "integrity": "sha512-sqQ1nRSy07z1brABTXK8EamDDjYVp/u9b/gKL51ZB+NNzbqvQF0CR33fGKPt0IOai98mzk0aHHIpf5il7mRN7A==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", + "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "node_modules/jss-plugin-global": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.1.tgz", - "integrity": "sha512-wc8EQMUe9NGInmnZErA1xQsX9jfk+7MrgN0sOB7l1IqfFQyuN0ntgo93bKhIj4I5RUtzjCskcvReBEZVwAHK8w==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", + "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "node_modules/jss-plugin-nested": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.1.tgz", - "integrity": "sha512-5kSHhhZra1+xwitBVyKN4da00860X7DDeuzf+sF8C6L6C0DuV2VAy6MKIoWKuIrx3pknYUgS/eo/VfsRmFP5Mw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", + "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1", + "jss": "10.9.2", "tiny-warning": "^1.0.2" } }, "node_modules/jss-plugin-props-sort": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.1.tgz", - "integrity": "sha512-Z+KkIty+MEq8+7SDGYdpb9A0IV6NTlk5s4NGGPvgHxyB/6gr46XWvaHuPE8BagrC+k1Aq5E63nPN6uL0pKsnjw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", + "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "node_modules/jss-plugin-rule-value-function": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.1.tgz", - "integrity": "sha512-4GbLHDqq+Ps6BZMRYZwjiAtxuqnscGLxwG4YnrgfuDM/yqGNJFZwK4Zfabs3XMe0cM+IbadsgJVUQgJwuNB4IA==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", + "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", "dependencies": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1", + "jss": "10.9.2", "tiny-warning": "^1.0.2" } }, "node_modules/jss-plugin-vendor-prefixer": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.1.tgz", - "integrity": "sha512-tlaN/UdAkim7vji7EcAw5MbOUq5/Vh1hhrWMzmdlcDATwHhDp2bYiq9G21NEa5D0AzcW631VjJq7WulpE1APHQ==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", + "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", "dependencies": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", - "jss": "10.9.1" + "jss": "10.9.2" } }, "node_modules/jsx-ast-utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz", - "integrity": "sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dependencies": { "array-includes": "^3.1.5", - "object.assign": "^4.1.2" + "object.assign": "^4.1.3" }, "engines": { "node": ">=4.0" @@ -12307,14 +14171,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", @@ -12515,9 +14371,12 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mkdirp": { "version": "0.5.6", @@ -12653,9 +14512,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" }, "node_modules/object-assign": { "version": "4.1.1", @@ -12690,13 +14549,13 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -13176,9 +15035,9 @@ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", "funding": [ { "type": "opencollective", @@ -13359,9 +15218,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", - "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz", + "integrity": "sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg==", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13373,7 +15232,7 @@ "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.4" + "postcss": "^8.2" } }, "node_modules/postcss-custom-selectors": { @@ -13676,6 +15535,20 @@ "webpack": "^5.0.0" } }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/postcss-logical": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", @@ -13864,9 +15737,9 @@ } }, "node_modules/postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", "dependencies": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -14102,56 +15975,58 @@ } }, "node_modules/postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", + "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.11", + "browserslist": "^4.21.3", "css-blank-pseudo": "^3.0.3", "css-has-pseudo": "^3.0.4", "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", + "cssdb": "^7.0.1", + "postcss-attribute-case-insensitive": "^5.0.2", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", + "postcss-color-functional-notation": "^4.2.4", "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", + "postcss-color-rebeccapurple": "^7.1.1", "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", + "postcss-custom-properties": "^12.1.9", "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", "postcss-env-function": "^4.0.6", "postcss-focus-visible": "^6.0.4", "postcss-focus-within": "^5.0.4", "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", + "postcss-lab-function": "^4.2.1", "postcss-logical": "^5.0.4", "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", + "postcss-nesting": "^10.2.0", "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", + "postcss-overflow-shorthand": "^3.0.4", "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", + "postcss-selector-not": "^6.0.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -14389,15 +16264,20 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, "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==" }, "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "dependencies": { "asap": "~2.0.6" } @@ -14472,9 +16352,9 @@ } }, "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { "side-channel": "^1.0.4" }, @@ -14485,6 +16365,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -14678,17 +16563,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/react-dev-utils/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/react-dev-utils/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14734,9 +16608,9 @@ "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/react-refresh": { "version": "0.11.0", @@ -14747,23 +16621,29 @@ } }, "node_modules/react-router": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", - "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.2.tgz", + "integrity": "sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw==", "dependencies": { - "history": "^5.2.0" + "@remix-run/router": "1.0.2" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { "react": ">=16.8" } }, "node_modules/react-router-dom": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", - "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.2.tgz", + "integrity": "sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ==", "dependencies": { - "history": "^5.2.0", - "react-router": "6.3.0" + "@remix-run/router": "1.0.2", + "react-router": "6.4.2" + }, + "engines": { + "node": ">=14" }, "peerDependencies": { "react": ">=16.8", @@ -14842,10 +16722,24 @@ } } }, + "node_modules/react-scripts/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -14929,9 +16823,9 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dependencies": { "regenerate": "^1.4.2" }, @@ -14940,9 +16834,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "node_modules/regenerator-transform": { "version": "0.15.0", @@ -14985,14 +16879,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -15001,14 +16895,14 @@ } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dependencies": { "jsesc": "~0.5.0" }, @@ -15092,7 +16986,7 @@ "node": ">=8" } }, - "node_modules/resolve-from": { + "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==", @@ -15100,6 +16994,14 @@ "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-url-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", @@ -15196,9 +17098,9 @@ } }, "node_modules/rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "bin": { "rollup": "dist/bin/rollup" }, @@ -15286,9 +17188,36 @@ } }, "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==" + "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/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -15384,9 +17313,9 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" }, "node_modules/selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dependencies": { "node-forge": "^1" }, @@ -15395,17 +17324,11 @@ } }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/send": { @@ -15571,9 +17494,12 @@ } }, "node_modules/shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/side-channel": { "version": "1.0.4", @@ -15622,11 +17548,11 @@ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, "node_modules/source-map-js": { @@ -15657,16 +17583,6 @@ "webpack": "^5.0.0" } }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -15768,25 +17684,6 @@ "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/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/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -15952,9 +17849,9 @@ } }, "node_modules/styled-components": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.5.tgz", - "integrity": "sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", "hasInstallScript": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", @@ -15981,6 +17878,11 @@ "react-is": ">= 16.8.0" } }, + "node_modules/styled-components/node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, "node_modules/stylehacks": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", @@ -16013,9 +17915,9 @@ } }, "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -16145,9 +18047,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz", - "integrity": "sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", + "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", "dependencies": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -16158,7 +18060,7 @@ "fast-glob": "^3.2.11", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "lilconfig": "^2.0.5", + "lilconfig": "^2.0.6", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", @@ -16248,9 +18150,9 @@ } }, "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -16265,15 +18167,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", - "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" + "terser": "^5.14.1" }, "engines": { "node": ">= 10.13.0" @@ -16368,22 +18270,23 @@ } }, "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { "node": ">=6" } }, "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "engines": { "node": ">= 4.0.0" } @@ -16509,9 +18412,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "peer": true, "bin": { "tsc": "bin/tsc", @@ -16564,9 +18467,9 @@ } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "engines": { "node": ">=4" } @@ -16613,9 +18516,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "funding": [ { "type": "opencollective", @@ -16645,6 +18548,15 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -16685,11 +18597,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, "node_modules/v8-to-istanbul": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", @@ -16703,6 +18610,14 @@ "node": ">=10.12.0" } }, + "node_modules/v8-to-istanbul/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/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -16889,9 +18804,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -16916,7 +18831,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -16992,9 +18907,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", "engines": { "node": ">=10.0.0" }, @@ -17180,26 +19095,26 @@ } }, "node_modules/workbox-background-sync": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.3.tgz", - "integrity": "sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", "dependencies": { - "idb": "^6.1.4", - "workbox-core": "6.5.3" + "idb": "^7.0.1", + "workbox-core": "6.5.4" } }, "node_modules/workbox-broadcast-update": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.3.tgz", - "integrity": "sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-build": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.3.tgz", - "integrity": "sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -17223,21 +19138,21 @@ "strip-comments": "^2.0.1", "tempy": "^0.6.0", "upath": "^1.2.0", - "workbox-background-sync": "6.5.3", - "workbox-broadcast-update": "6.5.3", - "workbox-cacheable-response": "6.5.3", - "workbox-core": "6.5.3", - "workbox-expiration": "6.5.3", - "workbox-google-analytics": "6.5.3", - "workbox-navigation-preload": "6.5.3", - "workbox-precaching": "6.5.3", - "workbox-range-requests": "6.5.3", - "workbox-recipes": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3", - "workbox-streams": "6.5.3", - "workbox-sw": "6.5.3", - "workbox-window": "6.5.3" + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" }, "engines": { "node": ">=10.0.0" @@ -17328,117 +19243,117 @@ } }, "node_modules/workbox-cacheable-response": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz", - "integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-core": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz", - "integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==" + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" }, "node_modules/workbox-expiration": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.3.tgz", - "integrity": "sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", "dependencies": { - "idb": "^6.1.4", - "workbox-core": "6.5.3" + "idb": "^7.0.1", + "workbox-core": "6.5.4" } }, "node_modules/workbox-google-analytics": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.3.tgz", - "integrity": "sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", "dependencies": { - "workbox-background-sync": "6.5.3", - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "node_modules/workbox-navigation-preload": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.3.tgz", - "integrity": "sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-precaching": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.3.tgz", - "integrity": "sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", "dependencies": { - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "node_modules/workbox-range-requests": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.3.tgz", - "integrity": "sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-recipes": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.3.tgz", - "integrity": "sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", "dependencies": { - "workbox-cacheable-response": "6.5.3", - "workbox-core": "6.5.3", - "workbox-expiration": "6.5.3", - "workbox-precaching": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "node_modules/workbox-routing": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz", - "integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-strategies": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz", - "integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", "dependencies": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/workbox-streams": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.3.tgz", - "integrity": "sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", "dependencies": { - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3" + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" } }, "node_modules/workbox-sw": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.3.tgz", - "integrity": "sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A==" + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" }, "node_modules/workbox-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-Es8Xr02Gi6Kc3zaUwR691ZLy61hz3vhhs5GztcklQ7kl5k2qAusPh0s6LF3wEtlpfs9ZDErnmy5SErwoll7jBA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", "dependencies": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", "upath": "^1.2.0", "webpack-sources": "^1.4.3", - "workbox-build": "6.5.3" + "workbox-build": "6.5.4" }, "engines": { "node": ">=10.0.0" @@ -17465,12 +19380,12 @@ } }, "node_modules/workbox-window": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.3.tgz", - "integrity": "sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", "dependencies": { "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "node_modules/wrap-ansi": { @@ -17632,6 +19547,11 @@ } }, "dependencies": { + "@adobe/css-tools": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", + "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==" + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -17650,81 +19570,55 @@ } }, "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==" + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==" }, "@babel/core": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", - "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.1", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "@babel/eslint-parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz", - "integrity": "sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", + "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", "requires": { - "eslint-scope": "^5.1.1", + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", "semver": "^6.3.0" }, - "dependencies": { - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" } } }, "@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "requires": { - "@babel/types": "^7.18.9", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -17759,31 +19653,24 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", + "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", "requires": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.19.3", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", "@babel/helper-replace-supers": "^7.18.9", @@ -17791,18 +19678,18 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "regexpu-core": "^5.1.0" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", - "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "requires": { "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", @@ -17810,13 +19697,6 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "@babel/helper-environment-visitor": { @@ -17833,12 +19713,12 @@ } }, "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { @@ -17866,18 +19746,18 @@ } }, "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", "@babel/helper-simple-access": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helper-optimise-call-expression": { @@ -17889,9 +19769,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==" + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" }, "@babel/helper-remap-async-to-generator": { "version": "7.18.9", @@ -17905,23 +19785,23 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -17940,10 +19820,15 @@ "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -17951,24 +19836,24 @@ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" }, "@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "requires": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" } }, "@babel/highlight": { @@ -17982,9 +19867,9 @@ } }, "@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==" + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -18005,13 +19890,13 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -18035,15 +19920,15 @@ } }, "@babel/plugin-proposal-decorators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.9.tgz", - "integrity": "sha512-KD7zDNaD14CRpjQjVbV4EnH9lsKYlcpUrhZH37ei2IY+AlXrfAPy5pTmRUE4X6X1k8EsKXPraykxeaogqQvSGA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz", + "integrity": "sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.18.6" + "@babel/plugin-syntax-decorators": "^7.19.0" } }, "@babel/plugin-proposal-dynamic-import": { @@ -18101,13 +19986,13 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", + "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.18.8" } @@ -18193,11 +20078,11 @@ } }, "@babel/plugin-syntax-decorators": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz", - "integrity": "sha512-fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-syntax-dynamic-import": { @@ -18355,23 +20240,24 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", + "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" @@ -18386,11 +20272,11 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", + "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-dotall-regex": { @@ -18420,11 +20306,11 @@ } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz", - "integrity": "sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-flow": "^7.18.6" } }, @@ -18484,13 +20370,13 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" } @@ -18505,12 +20391,12 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-new-target": { @@ -18547,9 +20433,9 @@ } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.9.tgz", - "integrity": "sha512-IrTYh1I3YCEL1trjknnlLKTp5JggjzhKl/d3ibzPc97JhpFcDTr38Jdek/oX4cFbS6By0bXJcOkpRvJ5ZHK2wQ==", + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", + "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", "requires": { "@babel/helper-plugin-utils": "^7.18.9" } @@ -18563,15 +20449,15 @@ } }, "@babel/plugin-transform-react-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz", - "integrity": "sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.0" } }, "@babel/plugin-transform-react-jsx-development": { @@ -18609,23 +20495,16 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz", - "integrity": "sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "@babel/plugin-transform-shorthand-properties": { @@ -18637,11 +20516,11 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" } }, @@ -18670,21 +20549,21 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz", - "integrity": "sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", + "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-typescript": "^7.18.6" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-regex": { @@ -18697,17 +20576,17 @@ } }, "@babel/preset-env": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.9.tgz", - "integrity": "sha512-75pt/q95cMIHWssYtyfjVlvI+QEZQThQbKvR9xH+F/Agtw/s4Wfc2V9Bwd/P39VtixB7oWxGdH4GteTTwYJWMg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", + "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -18716,7 +20595,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-object-rest-spread": "^7.19.4", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -18740,10 +20619,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.9", - "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-block-scoping": "^7.19.4", + "@babel/plugin-transform-classes": "^7.19.0", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.19.4", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -18753,9 +20632,9 @@ "@babel/plugin-transform-member-expression-literals": "^7.18.6", "@babel/plugin-transform-modules-amd": "^7.18.6", "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", "@babel/plugin-transform-parameters": "^7.18.8", @@ -18763,26 +20642,19 @@ "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", "@babel/plugin-transform-template-literals": "^7.18.9", "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.9", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.19.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "@babel/preset-modules": { @@ -18821,55 +20693,56 @@ } }, "@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz", - "integrity": "sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", + "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", "requires": { - "core-js-pure": "^3.20.2", + "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" } }, "@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.19.4", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, @@ -18884,9 +20757,9 @@ "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" }, "@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", "requires": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" @@ -18935,6 +20808,14 @@ "postcss-selector-parser": "^6.0.10" } }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, "@csstools/postcss-normalize-display-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", @@ -18968,6 +20849,14 @@ "postcss-value-parser": "^4.2.0" } }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, "@csstools/postcss-trigonometric-functions": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", @@ -18989,129 +20878,97 @@ "requires": {} }, "@emotion/babel-plugin": { - "version": "11.9.2", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.9.2.tgz", - "integrity": "sha512-Pr/7HGH6H6yKgnVFNEj2MVlreu3ADqftqjqwUvDy/OJzKFgxKeTQ+eeUf20FOTuHVkDON2iNa25rAXVYtWJCjw==", - "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.12.13", - "@babel/runtime": "^7.13.10", - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.5", - "@emotion/serialize": "^1.0.2", - "babel-plugin-macros": "^2.6.1", + "version": "11.10.2", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.2.tgz", + "integrity": "sha512-xNQ57njWTFVfPAc3cjfuaPdsgLp5QOSuRsj9MA6ndEhH/AzuZM86qIQzt6rq+aGBwj3n5/TkLmU5lhAfdRmogA==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.0", + "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", "source-map": "^0.5.7", "stylis": "4.0.13" - }, - "dependencies": { - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "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==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } } }, "@emotion/cache": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.9.3.tgz", - "integrity": "sha512-0dgkI/JKlCXa+lEXviaMtGBL0ynpx4osh7rjOXE71q9bIF8G+XhJgvi+wDu0B0IdCVx37BffiwXlN9I3UuzFvg==", - "requires": { - "@emotion/memoize": "^0.7.4", - "@emotion/sheet": "^1.1.1", - "@emotion/utils": "^1.0.0", - "@emotion/weak-memoize": "^0.2.5", + "version": "11.10.3", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.3.tgz", + "integrity": "sha512-Psmp/7ovAa8appWh3g51goxu/z3iVms7JXOreq136D8Bbn6dYraPnmL6mdM8GThEx9vwSn92Fz+mGSjBzN8UPQ==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "stylis": "4.0.13" } }, "@emotion/hash": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" }, "@emotion/is-prop-valid": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz", - "integrity": "sha512-RFg04p6C+1uO19uG8N+vqanzKqiM9eeV1LDOG3bmkYmuOj7NbKNlFC/4EZq5gnwAIlcC/jOT24f8Td0iax2SXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", "requires": { - "@emotion/memoize": "^0.7.4" + "@emotion/memoize": "^0.8.0" } }, "@emotion/memoize": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz", - "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" }, "@emotion/react": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.9.3.tgz", - "integrity": "sha512-g9Q1GcTOlzOEjqwuLF/Zd9LC+4FljjPjDfxSM7KmEakm+hsHXk+bYZ2q+/hTJzr0OUNkujo72pXLQvXj6H+GJQ==", - "requires": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.7.1", - "@emotion/cache": "^11.9.3", - "@emotion/serialize": "^1.0.4", - "@emotion/utils": "^1.1.0", - "@emotion/weak-memoize": "^0.2.5", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.4.tgz", + "integrity": "sha512-j0AkMpr6BL8gldJZ6XQsQ8DnS9TxEQu1R+OGmDZiWjBAJtCcbt0tS3I/YffoqHXxH6MjgI7KdMbYKw3MEiU9eA==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/cache": "^11.10.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", "hoist-non-react-statics": "^3.3.1" } }, "@emotion/serialize": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.4.tgz", - "integrity": "sha512-1JHamSpH8PIfFwAMryO2bNka+y8+KA5yga5Ocf2d7ZEiJjb7xlLW7aknBGZqJLajuLOvJ+72vN+IBSwPlXD1Pg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.0.tgz", + "integrity": "sha512-F1ZZZW51T/fx+wKbVlwsfchr5q97iW8brAnXmsskz4d0hVB4O3M/SiA3SaeH06x02lSNzkkQv+n3AX3kCXKSFA==", "requires": { - "@emotion/hash": "^0.8.0", - "@emotion/memoize": "^0.7.4", - "@emotion/unitless": "^0.7.5", - "@emotion/utils": "^1.0.0", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", "csstype": "^3.0.2" } }, "@emotion/sheet": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.1.tgz", - "integrity": "sha512-J3YPccVRMiTZxYAY0IOq3kd+hUP8idY8Kz6B/Cyo+JuXq52Ek+zbPbSQUrVQp95aJ+lsAW7DPL1P2Z+U1jGkKA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz", + "integrity": "sha512-OiTkRgpxescko+M51tZsMq7Puu/KP55wMT8BgpcXVG2hqXc0Vo0mfymJ/Uj24Hp0i083ji/o0aLddh08UEjq8w==" }, "@emotion/styled": { - "version": "11.9.3", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.9.3.tgz", - "integrity": "sha512-o3sBNwbtoVz9v7WB1/Y/AmXl69YHmei2mrVnK7JgyBJ//Rst5yqPZCecEJlMlJrFeWHp+ki/54uN265V2pEcXA==", + "version": "11.10.4", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.4.tgz", + "integrity": "sha512-pRl4R8Ez3UXvOPfc2bzIoV8u9P97UedgHS4FPX594ntwEuAMA114wlaHvOK24HB48uqfXiGlYIZYCxVJ1R1ttQ==", "requires": { - "@babel/runtime": "^7.13.10", - "@emotion/babel-plugin": "^11.7.1", - "@emotion/is-prop-valid": "^1.1.3", - "@emotion/serialize": "^1.0.4", - "@emotion/utils": "^1.1.0" + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.0", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" } }, "@emotion/stylis": { @@ -19120,28 +20977,34 @@ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" }, "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} }, "@emotion/utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.1.0.tgz", - "integrity": "sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" }, "@emotion/weak-memoize": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", - "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", + "espree": "^9.4.0", "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -19179,15 +21042,20 @@ } }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, "@humanwhocodes/object-schema": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", @@ -19242,6 +21110,11 @@ "requires": { "p-limit": "^2.2.0" } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" } } }, @@ -19260,9 +21133,158 @@ "chalk": "^4.0.0", "jest-message-util": "^27.5.1", "jest-util": "^27.5.1", - "slash": "^3.0.0" + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -19298,6 +21320,35 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -19308,41 +21359,37 @@ } } }, - "@jest/core": { + "@jest/environment": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", + "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "jest-mock": "^27.5.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -19388,15 +21435,12 @@ } } }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "@jest/expect-utils": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.0.tgz", + "integrity": "sha512-nz2IDF7nb1qmj9hx8Ja3MFab2q9Ml8QbOaaeJNyX5JQJHU8QUvEDiMctmhGEkk3Kzr8w8vAqz4hPk/ogJSrUhg==", "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" + "jest-get-type": "^29.2.0" } }, "@jest/fake-timers": { @@ -19410,6 +21454,100 @@ "jest-message-util": "^27.5.1", "jest-mock": "^27.5.1", "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/globals": { @@ -19420,6 +21558,130 @@ "@jest/environment": "^27.5.1", "@jest/types": "^27.5.1", "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/reporters": { @@ -19454,6 +21716,26 @@ "v8-to-istanbul": "^8.1.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -19489,6 +21771,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -19505,9 +21800,9 @@ } }, "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "requires": { "@sinclair/typebox": "^0.24.1" } @@ -19538,6 +21833,71 @@ "@jest/types": "^27.5.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/test-sequencer": { @@ -19573,6 +21933,26 @@ "write-file-atomic": "^3.0.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -19608,6 +21988,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -19624,14 +22017,15 @@ } }, "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.0.tgz", + "integrity": "sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==", "requires": { + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", - "@types/yargs": "^16.0.0", + "@types/yargs": "^17.0.8", "chalk": "^4.0.0" }, "dependencies": { @@ -19726,12 +22120,12 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "@leichtgewicht/ip-codec": { @@ -19758,6 +22152,11 @@ "react-transition-group": "^4.4.0" }, "dependencies": { + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, "@material-ui/styles": { "version": "4.11.5", "resolved": "https://registry.npmjs.org/@material-ui/styles/-/styles-4.11.5.tgz", @@ -19803,9 +22202,14 @@ } }, "csstype": { - "version": "2.6.20", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", - "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" } } }, @@ -19824,118 +22228,127 @@ "requires": {} }, "@mui/base": { - "version": "5.0.0-alpha.91", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.91.tgz", - "integrity": "sha512-/W5amPDz+Lout4FtX5HOyx2Q+YL/EtZciFrx2DDRuUm4M/pWnjfDZAtM+0aqimEvuk3FU+/PuFc7IAyhCSX4Cg==", - "requires": { - "@babel/runtime": "^7.17.2", - "@emotion/is-prop-valid": "^1.1.3", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", - "@popperjs/core": "^2.11.5", + "version": "5.0.0-alpha.101", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.101.tgz", + "integrity": "sha512-a54BcXvArGOKUZ2zyS/7B9GNhAGgfomEQSkfEZ88Nc9jKvXA+Mppenfz5o4JCAnD8c4VlePmz9rKOYvvum1bZw==", + "requires": { + "@babel/runtime": "^7.19.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", + "@popperjs/core": "^2.11.6", "clsx": "^1.2.1", "prop-types": "^15.8.1", "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } } }, + "@mui/core-downloads-tracker": { + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.9.tgz", + "integrity": "sha512-rqoFu4qww6KJBbXYhyRd9YXjwBHa3ylnBPSWbGf1bdfG0AYMKmVzg8zxkWvxAWOp97kvx3M2kNPb0xMIDZiogQ==" + }, "@mui/icons-material": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.8.4.tgz", - "integrity": "sha512-9Z/vyj2szvEhGWDvb+gG875bOGm8b8rlHBKOD1+nA3PcgC3fV6W1AU6pfOorPeBfH2X4mb9Boe97vHvaSndQvA==", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.10.9.tgz", + "integrity": "sha512-sqClXdEM39WKQJOQ0ZCPTptaZgqwibhj2EFV9N0v7BU1PO8y4OcX/a2wIQHn4fNuDjIZktJIBrmU23h7aqlGgg==", "requires": { - "@babel/runtime": "^7.17.2" + "@babel/runtime": "^7.19.0" } }, "@mui/material": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.9.2.tgz", - "integrity": "sha512-FItBuj9bPdVier2g5OBG2HHlQLou4JuH3gdnY43tpJOrCpmWrbDVJZqrSufKJFO00qjvTYaGlJedIu+vXn79qw==", - "requires": { - "@babel/runtime": "^7.17.2", - "@mui/base": "5.0.0-alpha.91", - "@mui/system": "^5.9.2", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.10.9.tgz", + "integrity": "sha512-sdOzlgpCmyw48je+E7o9UGGJpgBaF+60FlTRpVpcd/z+LUhnuzzuis891yPI5dPPXLBDL/bO4SsGg51lgNeLBw==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/base": "5.0.0-alpha.101", + "@mui/core-downloads-tracker": "^5.10.9", + "@mui/system": "^5.10.9", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", "@types/react-transition-group": "^4.4.5", "clsx": "^1.2.1", - "csstype": "^3.1.0", + "csstype": "^3.1.1", "prop-types": "^15.8.1", "react-is": "^18.2.0", - "react-transition-group": "^4.4.2" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } + "react-transition-group": "^4.4.5" } }, "@mui/private-theming": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.9.1.tgz", - "integrity": "sha512-eIh2IZJInNTdgPLMo9cruzm8UDX5amBBxxsSoNre7lRj3wcsu3TG5OKjIbzkf4VxHHEhdPeNNQyt92k7L78u2A==", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.9.tgz", + "integrity": "sha512-BN7/CnsVPVyBaQpDTij4uV2xGYHHHhOgpdxeYLlIu+TqnsVM7wUeF+37kXvHovxM6xmL5qoaVUD98gDC0IZnHg==", "requires": { - "@babel/runtime": "^7.17.2", - "@mui/utils": "^5.9.1", + "@babel/runtime": "^7.19.0", + "@mui/utils": "^5.10.9", "prop-types": "^15.8.1" } }, "@mui/styled-engine": { - "version": "5.8.7", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.8.7.tgz", - "integrity": "sha512-tVqtowjbYmiRq+qcqXK731L9eWoL9H8xTRhuTgaDGKdch1zlt4I2UwInUe1w2N9N/u3/jHsFbLcl1Un3uOwpQg==", + "version": "5.10.8", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.8.tgz", + "integrity": "sha512-w+y8WI18EJV6zM/q41ug19cE70JTeO6sWFsQ7tgePQFpy6ToCVPh0YLrtqxUZXSoMStW5FMw0t9fHTFAqPbngw==", "requires": { - "@babel/runtime": "^7.17.2", - "@emotion/cache": "^11.9.3", - "csstype": "^3.1.0", + "@babel/runtime": "^7.19.0", + "@emotion/cache": "^11.10.3", + "csstype": "^3.1.1", "prop-types": "^15.8.1" } }, "@mui/system": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.9.2.tgz", - "integrity": "sha512-iOvt9tVeFapHL7f7M6BSIiKGMx6RTRvAmc8ipMnQ/MR5Qsxwnyv7qKtNC/K11Rk13Xx0VPaPAhyvBcsr3KdpHA==", - "requires": { - "@babel/runtime": "^7.17.2", - "@mui/private-theming": "^5.9.1", - "@mui/styled-engine": "^5.8.7", - "@mui/types": "^7.1.5", - "@mui/utils": "^5.9.1", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.9.tgz", + "integrity": "sha512-B6fFC0sK06hNmqY7fAUfwShQv594+u/DT1YEFHPtK4laouTu7V4vSGQWi1WJT9Bjs9Db5D1bRDJ+Yy+tc3QOYA==", + "requires": { + "@babel/runtime": "^7.19.0", + "@mui/private-theming": "^5.10.9", + "@mui/styled-engine": "^5.10.8", + "@mui/types": "^7.2.0", + "@mui/utils": "^5.10.9", "clsx": "^1.2.1", - "csstype": "^3.1.0", + "csstype": "^3.1.1", "prop-types": "^15.8.1" } }, "@mui/types": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.1.5.tgz", - "integrity": "sha512-HnRXrxgHJYJcT8ZDdDCQIlqk0s0skOKD7eWs9mJgBUu70hyW4iA6Kiv3yspJR474RFH8hysKR65VVSzUSzkuwA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.0.tgz", + "integrity": "sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA==", "requires": {} }, "@mui/utils": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.9.1.tgz", - "integrity": "sha512-8+4adOR3xusyJwvbnZxcjqcmbWvl7Og+260ZKIrSvwnFs0aLubL+8MhiceeDDGcmb0bTKxfUgRJ96j32Jb7P+A==", + "version": "5.10.9", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.9.tgz", + "integrity": "sha512-2tdHWrq3+WCy+G6TIIaFx3cg7PorXZ71P375ExuX61od1NOAJP1mK90VxQ8N4aqnj2vmO3AQDkV4oV2Ktvt4bA==", "requires": { - "@babel/runtime": "^7.17.2", + "@babel/runtime": "^7.19.0", "@types/prop-types": "^15.7.5", "@types/react-is": "^16.7.1 || ^17.0.0", "prop-types": "^15.8.1", "react-is": "^18.2.0" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" }, "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" } } }, @@ -19963,25 +22376,37 @@ } }, "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz", - "integrity": "sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.8.tgz", + "integrity": "sha512-wxXRwf+IQ6zvHSJZ+5T2RQNEsq+kx4jKRXfFvdt3nBIUzJUAvXEFsUeoaohDe/Kr84MTjGwcuIUPNcstNJORsA==", "requires": { "ansi-html-community": "^0.0.8", "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.8.1", + "core-js-pure": "^3.23.3", "error-stack-parser": "^2.0.6", "find-up": "^5.0.0", "html-entities": "^2.1.0", "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } } }, "@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, + "@remix-run/router": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz", + "integrity": "sha512-GRSOFhJzjGN+d4sKHTMSvNeUPoZiDHWmRnXfzaxrqe7dE/Nzlc8BiMSJdLDESZlndM7jIUrZ/F4yWqVYlI0rwQ==" }, "@rollup/plugin-babel": { "version": "5.3.1", @@ -20032,14 +22457,14 @@ } }, "@rushstack/eslint-patch": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz", - "integrity": "sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", + "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" }, "@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==" + "version": "0.24.46", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.46.tgz", + "integrity": "sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw==" }, "@sinonjs/commons": { "version": "1.8.3", @@ -20178,9 +22603,9 @@ } }, "@testing-library/dom": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.16.0.tgz", - "integrity": "sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.19.0.tgz", + "integrity": "sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==", "requires": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -20200,11 +22625,6 @@ "color-convert": "^2.0.1" } }, - "aria-query": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", - "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==" - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -20243,15 +22663,15 @@ } }, "@testing-library/jest-dom": { - "version": "5.16.4", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz", - "integrity": "sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==", + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", + "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", "requires": { + "@adobe/css-tools": "^4.0.1", "@babel/runtime": "^7.9.2", "@types/testing-library__jest-dom": "^5.9.1", "aria-query": "^5.0.0", "chalk": "^3.0.0", - "css": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.5.6", "lodash": "^4.17.15", @@ -20266,11 +22686,6 @@ "color-convert": "^2.0.1" } }, - "aria-query": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", - "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==" - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -20309,9 +22724,9 @@ } }, "@testing-library/react": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.3.0.tgz", - "integrity": "sha512-DB79aA426+deFgGSjnf5grczDPiL4taK3hFaa+M5q7q20Kcve9eQottOG5kZ74KEr55v0tU2CQormSSDK87zYQ==", + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", "requires": { "@babel/runtime": "^7.12.5", "@testing-library/dom": "^8.5.0", @@ -20371,9 +22786,9 @@ } }, "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", + "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", "requires": { "@babel/types": "^7.3.0" } @@ -20413,9 +22828,9 @@ } }, "@types/eslint": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", - "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -20436,9 +22851,9 @@ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" }, "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", @@ -20447,9 +22862,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", "requires": { "@types/node": "*", "@types/qs": "*", @@ -20469,140 +22884,57 @@ "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" }, - "@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "28.1.6", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-28.1.6.tgz", - "integrity": "sha512-0RbGAFMfcBJKOmqRazM8L98uokwuwD5F8rHrv/ZMbrZBwVOWZUyPG6VFNscjYr/vjM3Vu4fRrCPbOs42AfemaQ==", - "requires": { - "jest-matcher-utils": "^28.0.0", - "pretty-format": "^28.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "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==" - }, - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } - }, - "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==" - }, - "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==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" - } + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "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==" }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" } } } @@ -20618,14 +22950,14 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" }, "@types/node": { - "version": "18.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz", - "integrity": "sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg==" + "version": "18.8.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.5.tgz", + "integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==" }, "@types/parse-json": { "version": "4.0.0", @@ -20633,9 +22965,9 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==" + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" }, "@types/prop-types": { "version": "15.7.5", @@ -20658,9 +22990,9 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "@types/react": { - "version": "17.0.47", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.47.tgz", - "integrity": "sha512-mk0BL8zBinf2ozNr3qPnlu1oyVTYq+4V7WA76RgxUAtf0Em/Wbid38KN6n4abEkvO4xMTBWmnP1FtQzgkEiJoA==", + "version": "17.0.50", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.50.tgz", + "integrity": "sha512-ZCBHzpDb5skMnc1zFXAXnL3l1FAdi+xZvwxK+PkglMmBrwjpp9nKaWuEvrGnSifCJmBFGxZOOFuwC6KH/s0NuA==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -20718,11 +23050,11 @@ } }, "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "requires": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, @@ -20761,9 +23093,9 @@ } }, "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "requires": { "@types/yargs-parser": "*" } @@ -20774,89 +23106,110 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, "@typescript-eslint/eslint-plugin": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz", - "integrity": "sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz", + "integrity": "sha512-FIBZgS3DVJgqPwJzvZTuH4HNsZhHMa9SjxTKAZTlMsPw/UzpEjcf9f4dfgDJEHjK+HboUJo123Eshl6niwEm/Q==", "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/type-utils": "5.30.7", - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/type-utils": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/experimental-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.30.7.tgz", - "integrity": "sha512-r218ZVL0zFBYzEq8/9K2ZhRgsmKUhm8xd3sWChgvTbmP98kHGuY83IUl64SS9fx9OSBM9vMLdzBfox4eDdm/ZQ==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.40.0.tgz", + "integrity": "sha512-wDYn3NYqVOmJI4iSkyWxXUu8Xoa4+OCh97YOXZecMCuXFIgCuxOCOlkR4kZyeXWNrulFyXPcXSbs4USb5IwI8g==", "requires": { - "@typescript-eslint/utils": "5.30.7" + "@typescript-eslint/utils": "5.40.0" } }, "@typescript-eslint/parser": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.7.tgz", - "integrity": "sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.40.0.tgz", + "integrity": "sha512-Ah5gqyX2ySkiuYeOIDg7ap51/b63QgWZA7w6AHtFrag7aH0lRQPbLzUjk0c9o5/KZ6JRkTTDKShL4AUrQa6/hw==", "requires": { - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz", - "integrity": "sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.40.0.tgz", + "integrity": "sha512-d3nPmjUeZtEWRvyReMI4I1MwPGC63E8pDoHy0BnrYjnJgilBD3hv7XOiETKLY/zTwI7kCnBDf2vWTRUVpYw0Uw==", "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7" + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0" } }, "@typescript-eslint/type-utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz", - "integrity": "sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.40.0.tgz", + "integrity": "sha512-nfuSdKEZY2TpnPz5covjJqav+g5qeBqwSHKBvz7Vm1SAfy93SwKk/JeSTymruDGItTwNijSsno5LhOHRS1pcfw==", "requires": { - "@typescript-eslint/utils": "5.30.7", + "@typescript-eslint/typescript-estree": "5.40.0", + "@typescript-eslint/utils": "5.40.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz", - "integrity": "sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==" + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.40.0.tgz", + "integrity": "sha512-V1KdQRTXsYpf1Y1fXCeZ+uhjW48Niiw0VGt4V8yzuaDTU8Z1Xl7yQDyQNqyAFcVhpYXIVCEuxSIWTsLDpHgTbw==" }, "@typescript-eslint/typescript-estree": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz", - "integrity": "sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.40.0.tgz", + "integrity": "sha512-b0GYlDj8TLTOqwX7EGbw2gL5EXS2CPEWhF9nGJiGmEcmlpNBjyHsTwbqpyIEPVpl6br4UcBOYlcI2FJVtJkYhg==", "requires": { - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/visitor-keys": "5.30.7", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/visitor-keys": "5.40.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", "semver": "^7.3.7", "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@typescript-eslint/utils": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz", - "integrity": "sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.40.0.tgz", + "integrity": "sha512-MO0y3T5BQ5+tkkuYZJBjePewsY+cQnfkYeRqS6tPh28niiIwPnQ1t59CSRcs1ZwJJNOdWw7rv9pF8aP58IMihA==", "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.30.7", - "@typescript-eslint/types": "5.30.7", - "@typescript-eslint/typescript-estree": "5.30.7", + "@typescript-eslint/scope-manager": "5.40.0", + "@typescript-eslint/types": "5.40.0", + "@typescript-eslint/typescript-estree": "5.40.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "dependencies": { "eslint-scope": { @@ -20872,15 +23225,23 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@typescript-eslint/visitor-keys": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz", - "integrity": "sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==", + "version": "5.40.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.40.0.tgz", + "integrity": "sha512-ijJ+6yig+x9XplEpG2K6FUdJeQGGj/15U3S56W9IqXKJqleuD7zJ2AX/miLezwxpd7ZxDAqO87zWufKg+RPZyQ==", "requires": { - "@typescript-eslint/types": "5.30.7", + "@typescript-eslint/types": "5.40.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -21095,9 +23456,9 @@ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "address": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.0.tgz", - "integrity": "sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", + "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==" }, "adjust-sourcemap-loader": { "version": "4.0.0", @@ -21208,13 +23569,9 @@ } }, "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.2.tgz", + "integrity": "sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==" }, "array-flatten": { "version": "2.1.2", @@ -21297,18 +23654,13 @@ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.12", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", + "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001407", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -21327,18 +23679,6 @@ "requires": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } } }, "axobject-query": { @@ -21361,6 +23701,26 @@ "slash": "^3.0.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -21477,37 +23837,30 @@ "requires": {} }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", - "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "requires": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.2", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", - "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.2", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "babel-plugin-styled-components": { @@ -21620,9 +23973,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -21632,7 +23985,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -21667,9 +24020,9 @@ } }, "bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", "requires": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", @@ -21705,14 +24058,14 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.9" } }, "bser": { @@ -21772,9 +24125,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha512-W2lPwkBkMZwFlPCXhIlYgxu+7gC/NUlCtdK652DAJ1JdgV0sTrvuPFshNPrFa1TY2JOkLhgdeEBplB4ezEa+xg==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" }, "caniuse-api": { "version": "3.0.0", @@ -21788,9 +24141,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001370", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz", - "integrity": "sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g==" + "version": "1.0.30001419", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz", + "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -21805,6 +24158,13 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "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==" + } } }, "char-regex": { @@ -21848,9 +24208,9 @@ "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" }, "cjs-module-lexer": { "version": "1.2.2", @@ -21921,9 +24281,9 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "colord": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", - "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==" + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, "colorette": { "version": "2.0.19", @@ -21992,6 +24352,11 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "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==" } } }, @@ -22016,13 +24381,6 @@ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { "safe-buffer": "5.2.1" - }, - "dependencies": { - "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==" - } } }, "content-type": { @@ -22031,12 +24389,9 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } + "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==" }, "cookie": { "version": "0.5.0", @@ -22049,30 +24404,22 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "core-js": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.24.0.tgz", - "integrity": "sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ==" + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" }, "core-js-compat": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.0.tgz", - "integrity": "sha512-F+2E63X3ff/nj8uIrf8Rf24UDGIz7p838+xjEp+Bx3y8OWXj+VTPPZNCtdqovPaS9o7Tka5mCH01Zn5vOd6UQg==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", + "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", "requires": { - "browserslist": "^4.21.2", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } + "browserslist": "^4.21.4" } }, "core-js-pure": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.24.0.tgz", - "integrity": "sha512-uzMmW8cRh7uYw4JQtzqvGWRyC2T5+4zipQLQdi2FmiRqP83k3d6F3stv2iAlNhOs6cXN401FCD5TL0vvleuHgA==" + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", + "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==" }, "core-util-is": { "version": "1.0.3", @@ -22106,23 +24453,6 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, "css-blank-pseudo": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", @@ -22137,9 +24467,9 @@ "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" }, "css-declaration-sorter": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.0.tgz", - "integrity": "sha512-OGT677UGHJTAVMRhPO+HJ4oKln3wkBTwtDFH0ojbqm+MJm6xuDMHp2nkhh/ThaBqq20IbraBQSWKfSLNHQO9Og==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", "requires": {} }, "css-has-pseudo": { @@ -22163,6 +24493,16 @@ "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "css-minimizer-webpack-plugin": { @@ -22289,9 +24629,9 @@ "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" }, "cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==" + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.2.tgz", + "integrity": "sha512-Vm4b6P/PifADu0a76H0DKRNVWq3Rq9xa/Nx6oEMUBJlwTUuZoZ3dkZxo8Gob3UEL53Cq+Ma1GBgISed6XEBs3w==" }, "cssesc": { "version": "3.0.0", @@ -22299,9 +24639,9 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "cssnano": { - "version": "5.1.12", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.12.tgz", - "integrity": "sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==", + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", + "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", "requires": { "cssnano-preset-default": "^5.2.12", "lilconfig": "^2.0.3", @@ -22400,9 +24740,9 @@ } }, "csstype": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", - "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "damerau-levenshtein": { "version": "1.0.8", @@ -22428,14 +24768,9 @@ } }, "decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", + "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==" }, "dedent": { "version": "0.7.0", @@ -22475,9 +24810,9 @@ } }, "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" }, "delayed-stream": { "version": "1.0.0", @@ -22544,9 +24879,9 @@ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==" }, "dir-glob": { "version": "3.0.1", @@ -22690,9 +25025,9 @@ } }, "electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==" + "version": "1.4.282", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz", + "integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==" }, "emittery": { "version": "0.8.1", @@ -22745,30 +25080,31 @@ } }, "es-abstract": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", - "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", + "get-intrinsic": "^1.1.3", "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "object-inspect": "^1.12.2", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", + "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", "string.prototype.trimend": "^1.0.5", "string.prototype.trimstart": "^1.0.5", "unbox-primitive": "^1.0.2" @@ -22813,9 +25149,9 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "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==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "escodegen": { "version": "2.0.0", @@ -22873,12 +25209,13 @@ } }, "eslint": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.20.0.tgz", - "integrity": "sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==", + "version": "8.25.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.25.0.tgz", + "integrity": "sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A==", "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@eslint/eslintrc": "^1.3.3", + "@humanwhocodes/config-array": "^0.10.5", + "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -22888,18 +25225,21 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", + "find-up": "^5.0.0", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -22910,8 +25250,7 @@ "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -22949,11 +25288,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "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==" - }, "globals": { "version": "13.17.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", @@ -23031,12 +25365,11 @@ } }, "eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "requires": { - "debug": "^3.2.7", - "find-up": "^2.1.0" + "debug": "^3.2.7" }, "dependencies": { "debug": { @@ -23046,49 +25379,6 @@ "requires": { "ms": "^2.1.1" } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" } } }, @@ -23172,17 +25462,21 @@ "semver": "^6.3.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } } } }, "eslint-plugin-react": { - "version": "7.30.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz", - "integrity": "sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==", + "version": "7.31.10", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.10.tgz", + "integrity": "sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==", "requires": { "array-includes": "^3.1.5", "array.prototype.flatmap": "^1.3.0", @@ -23217,11 +25511,6 @@ "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -23232,9 +25521,9 @@ "requires": {} }, "eslint-plugin-testing-library": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.5.1.tgz", - "integrity": "sha512-plLEkkbAKBjPxsLj7x4jNapcHAg2ernkQlKKrN2I8NrQwPISZHyCUNvg5Hv3EDqOQReToQb5bnqXYbkijJPE/g==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz", + "integrity": "sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA==", "requires": { "@typescript-eslint/utils": "^5.13.0" } @@ -23341,11 +25630,11 @@ } }, "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz", + "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==", "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } @@ -23423,24 +25712,25 @@ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" }, "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.0.tgz", + "integrity": "sha512-03ClF3GWwUqd9Grgkr9ZSdaCJGMRA69PQ8jT7o+Bx100VlGiAFf9/8oIm9Qve7ZVJhuJxFftqFhviZJRxxNfvg==", "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "@jest/expect-utils": "^29.2.0", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.0", + "jest-message-util": "^29.2.0", + "jest-util": "^29.2.0" } }, "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -23459,7 +25749,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -23488,11 +25778,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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==" } } }, @@ -23502,9 +25787,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -23550,9 +25835,9 @@ } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "requires": { "bser": "2.1.1" } @@ -23676,14 +25961,14 @@ } }, "flatted": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "fork-ts-checker-webpack-plugin": { "version": "6.5.2", @@ -23773,6 +26058,14 @@ "ajv-keywords": "^3.4.1" } }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -23789,9 +26082,9 @@ } }, "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -23855,11 +26148,6 @@ "functions-have-names": "^1.2.2" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - }, "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -23876,9 +26164,9 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -23986,6 +26274,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -24048,14 +26341,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "history": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", - "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", - "requires": { - "@babel/runtime": "^7.7.6" - } - }, "hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", @@ -24101,6 +26386,11 @@ "util-deprecate": "~1.0.1" } }, + "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==" + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -24254,9 +26544,9 @@ "requires": {} }, "idb": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/idb/-/idb-6.1.5.tgz", - "integrity": "sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.0.tgz", + "integrity": "sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg==" }, "identity-obj-proxy": { "version": "3.0.0", @@ -24283,13 +26573,6 @@ "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" - }, - "dependencies": { - "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==" - } } }, "import-local": { @@ -24376,14 +26659,14 @@ } }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "requires": { "has": "^1.0.3" } @@ -24552,22 +26835,15 @@ "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" }, "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "requires": { "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "istanbul-lib-report": { @@ -24595,43 +26871,484 @@ } } }, - "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==", + "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==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } } } }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -24667,6 +27384,24 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24677,50 +27412,15 @@ } } }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "jest-diff": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.0.tgz", + "integrity": "sha512-GsH07qQL+/D/GxlnU+sSg9GL3fBOcuTlmtr3qr2pnkiODCwubNN2/7slW4m3CvxDsEus/VEOfQKRFLyXsUlnZw==", "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.0" }, "dependencies": { "ansi-styles": { @@ -24758,6 +27458,23 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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==" + } + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24768,25 +27485,46 @@ } } }, - "jest-cli": { + "jest-docblock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", "@jest/types": "^27.5.1", "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", + "jest-get-type": "^27.5.1", "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" + "pretty-format": "^27.5.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -24822,6 +27560,24 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24832,37 +27588,40 @@ } } }, - "jest-config": { + "jest-environment-jsdom": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "jsdom": "^16.6.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -24898,6 +27657,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24908,17 +27680,39 @@ } } }, - "jest-diff": { + "jest-environment-node": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -24954,6 +27748,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24964,26 +27771,51 @@ } } }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==" }, - "jest-each": { + "jest-haste-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "requires": { "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25019,6 +27851,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25029,58 +27874,6 @@ } } }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, "jest-jasmine2": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", @@ -25105,6 +27898,26 @@ "throat": "^6.0.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25135,11 +27948,83 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25157,17 +28042,24 @@ "requires": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" + }, + "dependencies": { + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + } } }, "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.0.tgz", + "integrity": "sha512-FcEfKZ4vm28yCdBsvC69EkrEhcfex+IYlRctNJXsRG9+WC3WxgBNORnECIgqUtj7o/h1d8o7xB/dFUiLi4bqtw==", "requires": { "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "jest-diff": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.0" }, "dependencies": { "ansi-styles": { @@ -25205,6 +28097,23 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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==" + } + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25216,17 +28125,17 @@ } }, "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.0.tgz", + "integrity": "sha512-arBfk5yMFMTnMB22GyG601xGSGthA02vWSewPaxoFo0F9wBqDOyxccPbCcYu8uibw3kduSHXdCOd1PsLSgdomg==", "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", + "@jest/types": "^29.2.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pretty-format": "^29.2.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -25266,6 +28175,23 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "pretty-format": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.0.tgz", + "integrity": "sha512-QCSUFdwOi924g24czhOH5eTkXxUCqlLGZBRCySlwDYHIXRJkdGyjJc9nZaqhlFBZws8dq5Dvk0lCilsmlfsPxw==", + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "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==" + } + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25283,6 +28209,71 @@ "requires": { "@jest/types": "^27.5.1", "@types/node": "*" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-pnp-resolver": { @@ -25313,6 +28304,26 @@ "slash": "^3.0.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25348,6 +28359,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25366,6 +28390,71 @@ "@jest/types": "^27.5.1", "jest-regex-util": "^27.5.1", "jest-snapshot": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-runner": { @@ -25396,6 +28485,26 @@ "throat": "^6.0.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25431,6 +28540,35 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25470,6 +28608,26 @@ "strip-bom": "^4.0.0" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25505,6 +28663,35 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25553,6 +28740,26 @@ "semver": "^7.3.2" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25583,11 +28790,91 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25599,11 +28886,11 @@ } }, "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.0.tgz", + "integrity": "sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw==", "requires": { - "@jest/types": "^27.5.1", + "@jest/types": "^29.2.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -25669,6 +28956,26 @@ "pretty-format": "^27.5.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25704,6 +29011,11 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -25748,6 +29060,14 @@ } } }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, "@jest/test-result": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", @@ -25772,14 +29092,6 @@ "chalk": "^4.0.0" } }, - "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", - "requires": { - "@types/yargs-parser": "*" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -25913,11 +29225,6 @@ } } }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -25978,6 +29285,26 @@ "string-length": "^4.0.1" }, "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -26013,6 +29340,19 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -26048,6 +29388,11 @@ } } }, + "js-sdsl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", + "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -26094,6 +29439,18 @@ "whatwg-url": "^8.5.0", "ws": "^7.4.6", "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "jsesc": { @@ -26141,9 +29498,9 @@ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" }, "jss": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.1.tgz", - "integrity": "sha512-omDBQTYyIdYuHee1mkpqDyHw2NguCrURBU1izPPHmdtDK6SkP7P3buZt4ybHWOahTZ3+xd0C+zLPBBw7Hn3eYg==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", + "integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", "requires": { "@babel/runtime": "^7.3.1", "csstype": "^3.0.2", @@ -26152,79 +29509,79 @@ } }, "jss-plugin-camel-case": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.1.tgz", - "integrity": "sha512-irEr3Z2ENUz71OIq6PWN0N6g3uIA6LyGEwiIfL1JBzy+HVZS17xq/vwnHda3KyvPls18cKiwNNuuVwY6TrWwWg==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", + "integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", "requires": { "@babel/runtime": "^7.3.1", "hyphenate-style-name": "^1.0.3", - "jss": "10.9.1" + "jss": "10.9.2" } }, "jss-plugin-default-unit": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.1.tgz", - "integrity": "sha512-sqQ1nRSy07z1brABTXK8EamDDjYVp/u9b/gKL51ZB+NNzbqvQF0CR33fGKPt0IOai98mzk0aHHIpf5il7mRN7A==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", + "integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "jss-plugin-global": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.1.tgz", - "integrity": "sha512-wc8EQMUe9NGInmnZErA1xQsX9jfk+7MrgN0sOB7l1IqfFQyuN0ntgo93bKhIj4I5RUtzjCskcvReBEZVwAHK8w==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", + "integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "jss-plugin-nested": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.1.tgz", - "integrity": "sha512-5kSHhhZra1+xwitBVyKN4da00860X7DDeuzf+sF8C6L6C0DuV2VAy6MKIoWKuIrx3pknYUgS/eo/VfsRmFP5Mw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", + "integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1", + "jss": "10.9.2", "tiny-warning": "^1.0.2" } }, "jss-plugin-props-sort": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.1.tgz", - "integrity": "sha512-Z+KkIty+MEq8+7SDGYdpb9A0IV6NTlk5s4NGGPvgHxyB/6gr46XWvaHuPE8BagrC+k1Aq5E63nPN6uL0pKsnjw==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", + "integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1" + "jss": "10.9.2" } }, "jss-plugin-rule-value-function": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.1.tgz", - "integrity": "sha512-4GbLHDqq+Ps6BZMRYZwjiAtxuqnscGLxwG4YnrgfuDM/yqGNJFZwK4Zfabs3XMe0cM+IbadsgJVUQgJwuNB4IA==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", + "integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", "requires": { "@babel/runtime": "^7.3.1", - "jss": "10.9.1", + "jss": "10.9.2", "tiny-warning": "^1.0.2" } }, "jss-plugin-vendor-prefixer": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.1.tgz", - "integrity": "sha512-tlaN/UdAkim7vji7EcAw5MbOUq5/Vh1hhrWMzmdlcDATwHhDp2bYiq9G21NEa5D0AzcW631VjJq7WulpE1APHQ==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", + "integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", "requires": { "@babel/runtime": "^7.3.1", "css-vendor": "^2.0.8", - "jss": "10.9.1" + "jss": "10.9.2" } }, "jsx-ast-utils": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz", - "integrity": "sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "requires": { "array-includes": "^3.1.5", - "object.assign": "^4.1.2" + "object.assign": "^4.1.3" } }, "kind-of": { @@ -26375,13 +29732,6 @@ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "requires": { "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } } }, "makeerror": { @@ -26526,9 +29876,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "mkdirp": { "version": "0.5.6", @@ -26628,9 +29978,9 @@ } }, "nwsapi": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz", - "integrity": "sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" }, "object-assign": { "version": "4.1.1", @@ -26653,13 +30003,13 @@ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, @@ -26999,9 +30349,9 @@ "integrity": "sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==" }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -27092,9 +30442,9 @@ } }, "postcss-custom-properties": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", - "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz", + "integrity": "sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg==", "requires": { "postcss-value-parser": "^4.2.0" } @@ -27248,6 +30598,16 @@ "cosmiconfig": "^7.0.0", "klona": "^2.0.5", "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "postcss-logical": { @@ -27359,9 +30719,9 @@ } }, "postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", "requires": { "@csstools/selector-specificity": "^2.0.0", "postcss-selector-parser": "^6.0.10" @@ -27486,56 +30846,58 @@ } }, "postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", + "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.11", + "browserslist": "^4.21.3", "css-blank-pseudo": "^3.0.3", "css-has-pseudo": "^3.0.4", "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", + "cssdb": "^7.0.1", + "postcss-attribute-case-insensitive": "^5.0.2", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", + "postcss-color-functional-notation": "^4.2.4", "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", + "postcss-color-rebeccapurple": "^7.1.1", "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", + "postcss-custom-properties": "^12.1.9", "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", "postcss-env-function": "^4.0.6", "postcss-focus-visible": "^6.0.4", "postcss-focus-within": "^5.0.4", "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", + "postcss-lab-function": "^4.2.1", "postcss-logical": "^5.0.4", "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", + "postcss-nesting": "^10.2.0", "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", + "postcss-overflow-shorthand": "^3.0.4", "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", + "postcss-selector-not": "^6.0.1", "postcss-value-parser": "^4.2.0" } }, @@ -27682,6 +31044,11 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" } } }, @@ -27691,9 +31058,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", + "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", "requires": { "asap": "~2.0.6" } @@ -27756,13 +31123,18 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -27902,11 +31274,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "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==" - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -27942,9 +31309,9 @@ "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "react-refresh": { "version": "0.11.0", @@ -27952,20 +31319,20 @@ "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, "react-router": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", - "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.4.2.tgz", + "integrity": "sha512-Rb0BAX9KHhVzT1OKhMvCDMw776aTYM0DtkxqUBP8dNBom3mPXlfNs76JNGK8wKJ1IZEY1+WGj+cvZxHVk/GiKw==", "requires": { - "history": "^5.2.0" + "@remix-run/router": "1.0.2" } }, "react-router-dom": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", - "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.4.2.tgz", + "integrity": "sha512-yM1kjoTkpfjgczPrcyWrp+OuQMyB1WleICiiGfstnQYo/S8hPEEnVjr/RdmlH6yKK4Tnj1UGXFSa7uwAtmDoLQ==", "requires": { - "history": "^5.2.0", - "react-router": "6.3.0" + "@remix-run/router": "1.0.2", + "react-router": "6.4.2" } }, "react-scripts": { @@ -28021,12 +31388,22 @@ "webpack-dev-server": "^4.6.0", "webpack-manifest-plugin": "^4.0.2", "workbox-webpack-plugin": "^6.4.1" + }, + "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "requires": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -28093,17 +31470,17 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "requires": { "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "regenerator-transform": { "version": "0.15.0", @@ -28134,27 +31511,27 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "requires": { "jsesc": "~0.5.0" }, @@ -28214,12 +31591,19 @@ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "requires": { "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } } }, "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve-url-loader": { "version": "4.0.0", @@ -28278,9 +31662,9 @@ } }, "rollup": { - "version": "2.77.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz", - "integrity": "sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==", + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", "requires": { "fsevents": "~2.3.2" } @@ -28338,9 +31722,19 @@ } }, "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==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } }, "safer-buffer": { "version": "2.1.2", @@ -28398,20 +31792,17 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" }, "selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "requires": { "node-forge": "^1" } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "lru-cache": "^6.0.0" - } + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "send": { "version": "0.18.0", @@ -28558,9 +31949,9 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" }, "side-channel": { "version": "1.0.4", @@ -28603,9 +31994,9 @@ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "source-map-js": { "version": "1.0.2", @@ -28622,15 +32013,6 @@ "source-map-js": "^1.0.1" } }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, "source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -28718,13 +32100,6 @@ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { "safe-buffer": "~5.2.0" - }, - "dependencies": { - "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==" - } } }, "string-length": { @@ -28846,9 +32221,9 @@ "requires": {} }, "styled-components": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.5.tgz", - "integrity": "sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", @@ -28860,6 +32235,13 @@ "hoist-non-react-statics": "^3.0.0", "shallowequal": "^1.1.0", "supports-color": "^5.5.0" + }, + "dependencies": { + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + } } }, "stylehacks": { @@ -28885,9 +32267,9 @@ } }, "supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -28995,9 +32377,9 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "tailwindcss": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.6.tgz", - "integrity": "sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", + "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", "requires": { "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -29008,7 +32390,7 @@ "fast-glob": "^3.2.11", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "lilconfig": "^2.0.5", + "lilconfig": "^2.0.6", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", @@ -29068,9 +32450,9 @@ } }, "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.15.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", + "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -29086,15 +32468,15 @@ } }, "terser-webpack-plugin": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", - "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" + "terser": "^5.14.1" } }, "test-exclude": { @@ -29151,19 +32533,20 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "dependencies": { "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" } } }, @@ -29262,9 +32645,9 @@ } }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "peer": true }, "unbox-primitive": { @@ -29298,9 +32681,9 @@ "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" }, "unique-string": { "version": "2.0.0", @@ -29331,9 +32714,9 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -29347,6 +32730,15 @@ "punycode": "^2.1.0" } }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -29378,11 +32770,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, "v8-to-istanbul": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", @@ -29391,6 +32778,13 @@ "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } } }, "vary": { @@ -29551,9 +32945,9 @@ } }, "webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "requires": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -29578,7 +32972,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -29622,9 +33016,9 @@ } }, "ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", + "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", "requires": {} } } @@ -29738,26 +33132,26 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "workbox-background-sync": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.3.tgz", - "integrity": "sha512-0DD/V05FAcek6tWv9XYj2w5T/plxhDSpclIcAGjA/b7t/6PdaRkQ7ZgtAX6Q/L7kV7wZ8uYRJUoH11VjNipMZw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", + "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", "requires": { - "idb": "^6.1.4", - "workbox-core": "6.5.3" + "idb": "^7.0.1", + "workbox-core": "6.5.4" } }, "workbox-broadcast-update": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.3.tgz", - "integrity": "sha512-4AwCIA5DiDrYhlN+Miv/fp5T3/whNmSL+KqhTwRBTZIL6pvTgE4lVuRzAt1JltmqyMcQ3SEfCdfxczuI4kwFQg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", + "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-build": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.3.tgz", - "integrity": "sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", + "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", "requires": { "@apideck/better-ajv-errors": "^0.3.1", "@babel/core": "^7.11.1", @@ -29781,21 +33175,21 @@ "strip-comments": "^2.0.1", "tempy": "^0.6.0", "upath": "^1.2.0", - "workbox-background-sync": "6.5.3", - "workbox-broadcast-update": "6.5.3", - "workbox-cacheable-response": "6.5.3", - "workbox-core": "6.5.3", - "workbox-expiration": "6.5.3", - "workbox-google-analytics": "6.5.3", - "workbox-navigation-preload": "6.5.3", - "workbox-precaching": "6.5.3", - "workbox-range-requests": "6.5.3", - "workbox-recipes": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3", - "workbox-streams": "6.5.3", - "workbox-sw": "6.5.3", - "workbox-window": "6.5.3" + "workbox-background-sync": "6.5.4", + "workbox-broadcast-update": "6.5.4", + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-google-analytics": "6.5.4", + "workbox-navigation-preload": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-range-requests": "6.5.4", + "workbox-recipes": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4", + "workbox-streams": "6.5.4", + "workbox-sw": "6.5.4", + "workbox-window": "6.5.4" }, "dependencies": { "@apideck/better-ajv-errors": { @@ -29869,117 +33263,117 @@ } }, "workbox-cacheable-response": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.3.tgz", - "integrity": "sha512-6JE/Zm05hNasHzzAGKDkqqgYtZZL2H06ic2GxuRLStA4S/rHUfm2mnLFFXuHAaGR1XuuYyVCEey1M6H3PdZ7SQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", + "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-core": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.3.tgz", - "integrity": "sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==" + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", + "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" }, "workbox-expiration": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.3.tgz", - "integrity": "sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", + "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", "requires": { - "idb": "^6.1.4", - "workbox-core": "6.5.3" + "idb": "^7.0.1", + "workbox-core": "6.5.4" } }, "workbox-google-analytics": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.3.tgz", - "integrity": "sha512-3GLCHotz5umoRSb4aNQeTbILETcrTVEozSfLhHSBaegHs1PnqCmN0zbIy2TjTpph2AGXiNwDrWGF0AN+UgDNTw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", + "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", "requires": { - "workbox-background-sync": "6.5.3", - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-background-sync": "6.5.4", + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "workbox-navigation-preload": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.3.tgz", - "integrity": "sha512-bK1gDFTc5iu6lH3UQ07QVo+0ovErhRNGvJJO/1ngknT0UQ702nmOUhoN9qE5mhuQSrnK+cqu7O7xeaJ+Rd9Tmg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", + "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-precaching": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.3.tgz", - "integrity": "sha512-sjNfgNLSsRX5zcc63H/ar/hCf+T19fRtTqvWh795gdpghWb5xsfEkecXEvZ8biEi1QD7X/ljtHphdaPvXDygMQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", + "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", "requires": { - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "workbox-range-requests": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.3.tgz", - "integrity": "sha512-pGCP80Bpn/0Q0MQsfETSfmtXsQcu3M2QCJwSFuJ6cDp8s2XmbUXkzbuQhCUzKR86ZH2Vex/VUjb2UaZBGamijA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", + "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-recipes": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.3.tgz", - "integrity": "sha512-IcgiKYmbGiDvvf3PMSEtmwqxwfQ5zwI7OZPio3GWu4PfehA8jI8JHI3KZj+PCfRiUPZhjQHJ3v1HbNs+SiSkig==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", + "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", "requires": { - "workbox-cacheable-response": "6.5.3", - "workbox-core": "6.5.3", - "workbox-expiration": "6.5.3", - "workbox-precaching": "6.5.3", - "workbox-routing": "6.5.3", - "workbox-strategies": "6.5.3" + "workbox-cacheable-response": "6.5.4", + "workbox-core": "6.5.4", + "workbox-expiration": "6.5.4", + "workbox-precaching": "6.5.4", + "workbox-routing": "6.5.4", + "workbox-strategies": "6.5.4" } }, "workbox-routing": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.3.tgz", - "integrity": "sha512-DFjxcuRAJjjt4T34RbMm3MCn+xnd36UT/2RfPRfa8VWJGItGJIn7tG+GwVTdHmvE54i/QmVTJepyAGWtoLPTmg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", + "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-strategies": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.3.tgz", - "integrity": "sha512-MgmGRrDVXs7rtSCcetZgkSZyMpRGw8HqL2aguszOc3nUmzGZsT238z/NN9ZouCxSzDu3PQ3ZSKmovAacaIhu1w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", + "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", "requires": { - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "workbox-streams": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.3.tgz", - "integrity": "sha512-vN4Qi8o+b7zj1FDVNZ+PlmAcy1sBoV7SC956uhqYvZ9Sg1fViSbOpydULOssVJ4tOyKRifH/eoi6h99d+sJ33w==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", + "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", "requires": { - "workbox-core": "6.5.3", - "workbox-routing": "6.5.3" + "workbox-core": "6.5.4", + "workbox-routing": "6.5.4" } }, "workbox-sw": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.3.tgz", - "integrity": "sha512-BQBzm092w+NqdIEF2yhl32dERt9j9MDGUTa2Eaa+o3YKL4Qqw55W9yQC6f44FdAHdAJrJvp0t+HVrfh8AiGj8A==" + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", + "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" }, "workbox-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-Es8Xr02Gi6Kc3zaUwR691ZLy61hz3vhhs5GztcklQ7kl5k2qAusPh0s6LF3wEtlpfs9ZDErnmy5SErwoll7jBA==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", + "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", "requires": { "fast-json-stable-stringify": "^2.1.0", "pretty-bytes": "^5.4.1", "upath": "^1.2.0", "webpack-sources": "^1.4.3", - "workbox-build": "6.5.3" + "workbox-build": "6.5.4" }, "dependencies": { "source-map": { @@ -29999,12 +33393,12 @@ } }, "workbox-window": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.3.tgz", - "integrity": "sha512-GnJbx1kcKXDtoJBVZs/P7ddP0Yt52NNy4nocjBpYPiRhMqTpJCNrSL+fGHZ/i/oP6p/vhE8II0sA6AZGKGnssw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", + "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", "requires": { "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.3" + "workbox-core": "6.5.4" } }, "wrap-ansi": { diff --git a/modulo3/projeto-cookenu/package.json b/modulo3/projeto-cookenu/package.json index f8cbf7d..d659b55 100644 --- a/modulo3/projeto-cookenu/package.json +++ b/modulo3/projeto-cookenu/package.json @@ -3,12 +3,12 @@ "version": "0.1.0", "private": true, "dependencies": { - "@emotion/react": "^11.9.3", - "@emotion/styled": "^11.9.3", + "@emotion/react": "^11.10.4", + "@emotion/styled": "^11.10.4", "@material-ui/core": "^4.12.4", "@material-ui/icons": "^4.11.3", "@mui/icons-material": "^5.8.4", - "@mui/material": "^5.9.2", + "@mui/material": "^5.10.9", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", diff --git a/modulo6/case-1-Ambulnz-frontend/public/favicon.ico b/modulo6/case-1-Ambulnz-frontend/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/modulo6/case-1-Ambulnz-backend/.gitignore b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/.gitignore similarity index 100% rename from modulo6/case-1-Ambulnz-backend/.gitignore rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/.gitignore diff --git a/modulo6/case-1-Ambulnz-backend/jest.config.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/jest.config.js similarity index 100% rename from modulo6/case-1-Ambulnz-backend/jest.config.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/jest.config.js diff --git a/modulo6/case-1-Ambulnz-backend/package.json b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/package.json similarity index 99% rename from modulo6/case-1-Ambulnz-backend/package.json rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/package.json index 478c292..b890102 100644 --- a/modulo6/case-1-Ambulnz-backend/package.json +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/package.json @@ -1,3 +1,4 @@ + { "name": "template-backend", "version": "1.0.0", diff --git a/modulo6/case-1-Ambulnz-backend/requests.rest b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/requests.rest similarity index 100% rename from modulo6/case-1-Ambulnz-backend/requests.rest rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/requests.rest diff --git a/modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/OrderBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/business/OrderBusiness.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/OrderBusiness.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/business/PingBusiness.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/PingBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/business/PingBusiness.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/PingBusiness.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/business/PizzaBusiness.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/OrderController.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/controller/OrderController.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/OrderController.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/controller/PingController.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/PingController.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/controller/PingController.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/PingController.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/controller/PizzaController.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/PizzaController.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/controller/PizzaController.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/controller/PizzaController.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/database/BaseDatabase.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/BaseDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/database/BaseDatabase.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/BaseDatabase.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/OrderDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/database/OrderDatabase.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/OrderDatabase.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/PizzaDatabase.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/migrations/Migrations.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/database/migrations/data.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/migrations/data.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/database/migrations/data.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/database/migrations/data.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/AuthenticationError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/AuthorizationError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/BaseError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/BaseError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/BaseError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/BaseError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/ConflictError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/ConflictError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/ConflictError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/ConflictError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/NotFoundError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/NotFoundError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/NotFoundError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/NotFoundError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/ParamsError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/ParamsError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/ParamsError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/ParamsError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/errors/UnprocessableError.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/index.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/index.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/index.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/index.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/models/Orders.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/models/Orders.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/models/Orders.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/models/Orders.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/models/Pizza.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/models/Pizza.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/models/Pizza.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/models/Pizza.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/router/orderRouter.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/orderRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/router/orderRouter.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/orderRouter.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/router/pingRouter.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/pingRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/router/pingRouter.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/pingRouter.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/router/pizzaRouter.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/pizzaRouter.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/router/pizzaRouter.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/router/pizzaRouter.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/services/Authenticator.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/Authenticator.ts similarity index 86% rename from modulo6/case-1-Ambulnz-backend/src/services/Authenticator.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/Authenticator.ts index dfa9293..aff1c3e 100644 --- a/modulo6/case-1-Ambulnz-backend/src/services/Authenticator.ts +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/Authenticator.ts @@ -1,12 +1,11 @@ import jwt from 'jsonwebtoken' import dotenv from "dotenv" -import { USER_ROLES } from '../models/User' + dotenv.config() export interface ITokenPayload { - id: string, - role: USER_ROLES + id: string } export class Authenticator { diff --git a/modulo6/case-1-Ambulnz-backend/src/services/HashManager.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/HashManager.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/services/HashManager.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/HashManager.ts diff --git a/modulo6/case-1-Ambulnz-backend/src/services/IdGenerator.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/IdGenerator.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/src/services/IdGenerator.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/src/services/IdGenerator.ts diff --git a/modulo6/case-1-Ambulnz-backend/tables.sql b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tables.sql similarity index 99% rename from modulo6/case-1-Ambulnz-backend/tables.sql rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tables.sql index 96796fa..d8098d1 100644 --- a/modulo6/case-1-Ambulnz-backend/tables.sql +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tables.sql @@ -1,4 +1,6 @@ -- Active: 1662659335013@@35.226.146.116@3306@freire-aline-chagas + + -- Entities -- -- Amb_Pizzas diff --git a/modulo6/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/AuthenticatorMock.ts diff --git a/modulo6/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/HashManagerMock.ts diff --git a/modulo6/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts similarity index 100% rename from modulo6/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tests/mocks/UserDatabaseMock.ts diff --git a/modulo6/case-1-Ambulnz-backend/tsconfig.json b/modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tsconfig.json similarity index 100% rename from modulo6/case-1-Ambulnz-backend/tsconfig.json rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-backend/tsconfig.json diff --git a/modulo6/case-1-Ambulnz-frontend/.gitignore b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/.gitignore similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/.gitignore rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/.gitignore diff --git a/modulo6/case-1-Ambulnz-frontend/README.md b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/README.md similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/README.md rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/README.md diff --git a/modulo6/case-1-Ambulnz-frontend/package-lock.json b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/package-lock.json similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/package-lock.json rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/package-lock.json diff --git a/modulo6/case-1-Ambulnz-frontend/package.json b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/package.json similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/package.json rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/package.json diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/favicon.ico b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c318597fd854be7f69d0e4fb16d4e3454577a9c GIT binary patch literal 34951 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

%#?Ve7~-3%B#m?Z-e4vLx5oh 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 T>HS;{00000NkvXXu0mjf5`gY= literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz-frontend/public/index.html b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/index.html similarity index 98% rename from modulo6/case-1-Ambulnz-frontend/public/index.html rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/index.html index 5e18994..b528a16 100644 --- a/modulo6/case-1-Ambulnz-frontend/public/index.html +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/index.html @@ -30,7 +30,7 @@ href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" /> - React App + Pizzeria diff --git a/modulo6/case-1-Ambulnz-frontend/public/logo192.png b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/logo192.png similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/public/logo192.png rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/logo192.png diff --git a/modulo6/case-1-Ambulnz-frontend/public/logo512.png b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/logo512.png similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/public/logo512.png rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/logo512.png diff --git a/modulo6/case-1-Ambulnz-frontend/public/manifest.json b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/manifest.json similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/public/manifest.json rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/manifest.json diff --git a/modulo6/case-1-Ambulnz-frontend/public/robots.txt b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/robots.txt similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/public/robots.txt rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/public/robots.txt diff --git a/modulo6/case-1-Ambulnz-frontend/src/App.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/App.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/App.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/App.js diff --git a/modulo6/case-1-Ambulnz-frontend/src/Global.styled.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Global.styled.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/Global.styled.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Global.styled.js diff --git a/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js similarity index 80% rename from modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js index 9995acf..99e475a 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/OrderSummary.js @@ -1,15 +1,6 @@ -import styled from "styled-components" +import { ContainerSection } from "./styledOrder" import OrderItemCard from "../components/OrderItemCard" -export const ContainerSection = styled.section` - width: 30em; - border: 1px solid black; - - h1 { - font-size: 1.5em; - text-align: center; - } -` function OrderSummary(props) { const { cart, removeFromCart, total, confirmOrder } = props diff --git a/modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/PizzasMenu.js diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledOrder.jsx b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledOrder.jsx new file mode 100644 index 0000000..f5b8d19 --- /dev/null +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledOrder.jsx @@ -0,0 +1,12 @@ +import styled from "styled-components" + +export const ContainerSection = styled.section` + width: 30em; + border: 1px solid black; + border-radius: 5%; + + h1 { + font-size: 1.5em; + text-align: center; + } +` \ No newline at end of file diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledPizza.jsx similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/components/PizzaCardStyled.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/Screens/styledPizza.jsx diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza1.jpg b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bf0b63bf4e64b238ea25dde556e49ac4a3f0001 GIT binary patch literal 119498 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≦ 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

nW0L%EAe+_H+os2jV(R2W1 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

Q<*<0ZN;8iSsH(e5mL<~6TEUOia&@Mo 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

gw2CyT;m;WMHuB*xQ7MxLS3 zejtNe{EoejovUkn(C%l6M2scs9$Q=xkk-du+(#3m0ZJMQCv zfl&Ts0_(hvqzdz2f613hFWdPXeqRc>uPduH4~2=8(Xwrg?i8DaxF^Kdo#Q8K?R^Z^ zdq(m&k~4Z3OX};eB9KTuHMMoJaP54XY0##*cCAi{>>qDU$MI?R18ce5*6K}rue9+z z7^Att<>lXP1041U$ikL5$XP5(-?^>%)Y1yEII%|_Ih!5=%e2UVxg)sJu)KC@F2&Wd z)TPZvz{a3lSlrbd%D6??SOOt%$ZRZ4RZC8Vwq44(c*0nY;kgJYZxP;-%eieVao$VY zP~h^jW6Uf!7L0TSSl+T^#|-FKCYlls6As!XzC?;o8V>d$;bOOxvRHOEq_#9N$a*dc z5-!pP;^7=tkS_Lb*7es6@q8 z9}!XIU0^#~FGIv)e`zcv1Nn>QK#F;N%dq<-@dlwzWleiJ?)rARElL z3~mo$@TOT=Ari;JDgsH|PgBrZgUca>(CI$P;untLm&>+XhBC@U&t8M@71+R@)N;AE zn?QNltk*WvwQOAud(_4IiyCL#(TlMJ{HxD$F}G&UwhQQt2O^U|t|Y$p@ay=~V$(tI zX)^h6KJ7^Y`rfvs3QW>s`S}dlUv7r`dY=+}Dyk@LnsJ&g4+?yIC?lFg1yHf?@&n^d zo0a28rPFgS^PJBS_R&WN9wW$${{YD>OE|WnhtpZ_%JS%t^v2UDakFG)$0I4*u;>8t z_|`1XYlCGeB1x5*7o6nnM*8uiVia9_La6iOzu_TN7X|Crr>^}J64=|JENxQW=}7^ zIV`zY=DSG7F&dL#7TpRc&|Bd`_Om5;>!KgUMg3RIiXwUn*Lmla;2bbkDISlxNF^&}=0)W^BH|^H6;#R*=@z%9k zn!YQAsjBX+eHd{qy0UHu0xVqErjls#VUAF&DwBQn->p!Htt4K9Uk0OKrZpLGZ0g1<7LW8q0)L zOPjd3Qgp2O8oyI5oP=ig469tu^zKOBTT%x>e}z$A@?VK9jM#8c<-Rj0 zh@VJ#{I>(~?N(A?^ZbhZjVBk67o@PJC){Vq$I^LZ3koXs+4+zB)YZCrC8ZUt zJ6w_^a!EmPWhTR4r|=a{M5HRA>>fHSXw~Ndi|cK~9X=f`Ra*3>kEtCPa|?@)DN91k zg}?TbQEvlHTzipCoCec`Si~(Pj$=AIAn1NH&xKVD^eb6=2C#52p~rH;O~_%mYoO^` z@#3PaF)fj{4(560!;HlN-i1cl7t3P0+TXglypDCT{Az2(fm={NA?`V|87y~sLK_?F zZs)ZoUS+Z^2d5gfDPr>T<0Q~Jsu=~h=yW~@y=TYCz9iSE?;5v3nDfh)u8BH~cy4_| zasju{E!_B1@$%Zz*FkSov}Cxx?ZSf?V&}%GGB)Kcs3dec*H@3ruGq1gCKob?&F;)> z!0!xzhx&jcX<$1K3Ttx}x&pX;Oi#JF4EKh7ELHVB;vF1YaB#qqEw#k`s8;w3ty{g?&vPurO4CB0AH;i?I!)ME`4c>s^Ck5i$)d6E z=%jmcG1sg9x`=oRI;Kd2qR{=0Cu60ioHzBnTxajSVtq*#s2r^2R}4`fF-k$3Dz@#7hfm-Ngrt zS8(42AdXR{;5!<>0(C0Br%uFtInXo38at^?pjZW~GuF3I%Iju}ANHRR>l}z&%t-Qn zQ~v-8$^QV>;_ABof8>AUzJ{BOiY_RsD{mINDeAxJ{{SlLVO}1cOnH8NNIBnfV`Cv) zWLVxoc5ff})_=KjG>T~1Zyy`(bKYl@&CGR3fpT=*dJET?uM*iBI$M=R_WXG`j`BzW zGBwzc4uiG&*P!83#aJ=sdxv|Yn7$c?1=<+?QK0!&teIVu3yP4=Y0GZLSB6!f&QThc;Up2vd=IAw%YNAn~$HXkk3 zR(kDnhF08;k-$1mu(nYOu^%Ffb{6egxYu{Cx)}1f=xLsKjC&v!U2Rt6)yG?&h5|_&26H;Y5(Z;!-(831`5N;akG=S>6<=S_?BnC^ zM~TU6lAqe7>#IUK0hB@um3R?REgRGlg%ZA7@9!6H>8#^pf*mO~9 z>>~pQjF_d$NZQ_O+jqcTlI=_a2{R+yfUlKQ>r(Zd3n;)m%OKepYn@HJ1*@6MvQUj! zx*546^yY94t~%CQsAi<}7ZsWJBi}=z6wh4+F~8h?DGn0y5rVG;gSvIt-|?#Q*L7L5 zjcL&5uyRnwG%o)D7Vm!b%T|VNRgz=NDFe%4<9ZJvHV$4^Ks=yr?MSZ1+A;Y&qAps) zzzQzSg(4XmTr6fzCVsE`W}+ge^YGp8lg&cO)9W>qIvbK^+U zY%Pq3GmR`u%veja;E__G{@($t7H- z$Z3YzmMFpUpz|>YzsjXTk}rc0LAilqI^N&9lWwG#7`}-+eNB7qqLV>va9xZRI~Bjw z&I^7Y3XKG^iWjRWQ}uY#H6)29!io&M_+VDtWMHIRbQ+yLRc;J(U|R5`=}`@_qAq|7 z55l{(^f*>>+Y>9v8#VfkYRj*QQtATALn2sM?(Ki!T#TwtjZvB9xG3ejuq)Jy_3)#Q z8V#;<{{V7AxZ#uwD*Z;Ry`c+Jnqt4)=glUDP5OQs3a@KWk)d=nkmkt<+?Ns{vA^uB z9GXqwG>9un1o^G%mFu7sm9nmdrptljaIiSZAkIR~G7}cjVv-T%CZ)4cC%I}{RLVU6 z04>CfbjAAwj!mc}m>aPuEz;fTzmepwh_1V=vS|X zwWkhg?saREup<)#J1SO4B556dr5#19ZB+CxPBrXw{x2R(4j~hAG#N-ec$^D{Pt9xH zP5ak7Bf8VEj`o+J3zN%3ml~M^+=WC3$4W|Z-(c6Kr$_dm9l&8gGIJ15I*r9;vZ5b? z_dgb{{tcLvcR9JOX7nNVf4y;_K&v2*9YUz^>!rI@c{52caqQWN<9+cIdG91rHtAKO zVXv86O>bG&S5u()mVmz-%q+7!Fal&ANP+@Z=e5ULS(WZo=+{s-cOmX5IS=bfAeu5s zRZt4{+HY8LwYb%dRt&E@%V%X~$n(DEaptvvzfa*;;Kx{#Mm%r^xgGSaFf_2P9u(Or z8*$RC(-_RN#7IVq)6u-{K)1rIc#}pu=2NIHe90bh>bcqtiCY~!LDrRGNLJKn7~=7v z%V8mw@Ipa!b7FPTK<`wg4^ulqu3@LgY&T4IWN~7JNDK#?%kZ$Pa@Xb1(Za^sa#+mw z2N#;yirB1~Xhn;qnMmkC?kbF#Z5sA8JTA0wZ+)nbm=$p$b%s~7OfRvR3xyzeHmfMz z`W#HPhpDM}7X+-&ip!i^Y)s4mTX$h^8o_=?he-K)g0_8TO-!8Wq_rPkfqpCy!BBEiW^w{-Xxc=HRyJb0BVDB4&2Xu2k6OWXY}Rk7ddCRZ z@VvHGEV4`JERZS`X;uA1C#LPOqgy~UQ&GZiU(LmMtQkJ_I|X?0OxPsI4sXUFl-6|}uUnA~jKgorcMglu-1Mai)2zZ#~rvr%>V zjP&Rn;eDGM60uBJiAf6c8+3f4Y~kE zyQ{aw!+Jegn!CfkwBCg|Tp=P)bSA+f(>|8k_Wv;dm+hIMVp$j| z>ZDi$LE}$Ye#bK#1cf3;SGiZQ2rgil&xBZz0H4gc1$x zb@8Tg(FQw?jz!bU(2FOXvv68yofa=4gbZJSfnJsNXJZB}GW!i3` zNE=$)*y^?!GJfa;obO9AZSt2>adFdLmCC+Y zyEUrH6OV=&`9YnOFN?GQi~$E;z|}S6(;MA>gIcnobqw;{FAI=@e0``%x-yF?_*itV z)=w5nE7ku1b27cth7X5_Knj~MW6%!uiPv2VEX$AV?mcj&%bh{mjLrqNC<9C1Tl}ka zcC_d6?Mz&bKyn1E zxQ^EWh_%PnxOS~H?8B3i_U#Yh@$tO!NsAb5e7*rkZ}O(d(s~?xvK-0FkmFT)VfT=yW)kno?$c(V4@HGmvD6Jjrw|b^whmNa)tC zCo2vXr@!WRcsQ+Rsn2;{M=||5pu_x!QsP3&tVNBRPJ*hY_te);J!=fo`!kPx4j(HbXu?UEWQ1PVztRQty&UPR zW=>VSjy(<6x46t~T%?*Z($2tILvgQlvGA`K&dqwg8Od}?u+EjjbB%|e6nQVbScNTr zq_@YtYWr8-Gh)oEmCb)I^hZCJ#a67NYmw?owvP5a`&z!05{?UITa)Ey#^&8N{{Xg| z0k`vatX#bIt<)CR8frobm6+I!?k+8%9u;;Rma=jzYJkHbrN4Qx2UyhG22OA%~2D2fH|wp60%YJKQfWLWvwu>z}h7w8A^ zrLI(iuvvKx$NG4yVd6D3UP*lds#k3J(TOOD@Y3{-%?zlBa(OJ762@Yqua~_qk+7;1 zmRUh0$VfdwG^}_U?TX}YC69uO(^gQT`ceM?`m@^C=zgCXGD$R8yfS0C8%0z1V5nT7uwOt z8u#+r)O^kZwFx?L(I`#shTAQx4Rq~Bm9ugyvPF0?%g9k>caQ=AUBbY06=j})_Zpbf znUAc~{Pr@9J~VeE2$Fd5Aqw&|k}@93j4kt|wVN3s@yUfVZGcYUZK9@^@z#}9p^K4m zVo1GN#OB}a$8R<7NoJ%d*8c!+xO4Z@XS{5w3VLzx>RGz}Hmz7I+|SCs+QHEwV068Y zYUokP$+FO9W}!vCb!J^ES5>GMY2s4NAo7cyKV@;2RW44Nu7+os=b>RD#B4fTnpKrq z=m(AtPw#$Mt}NwE-Tb23i?v%a;exf3CG8AN`E4s3`K`Cd#%Q5c+=j`ihrI9Q87;x*X4xLiv+CW6E1VJ`}i~hg%zpgQRCYYe1GN5W)1< z#;r`jWaP019P@(f8Dvcz>~?~C6H4?_H(sYl_Fu8*%EeAoCAMJ)09akx-%}5O6_%Dx z()tGeh|_X7%RI7VVMiw+9vosAO|^c!J>_m)RWAv#Oe@u4(7cd3acG;>~eVxw+OGvbHL;# zE-XvvleJMm1haRn`T0Aq3201Mw3a6kgTZ3*M>9J~Rlz6@t6|Weq}T--%*<0V0Z0xVo_x>R@(#^V_lA3F5E7fJOwZe|MOHaw5& zK*eWL3aK}_9mkDv`3c+dG~*QsWK6LKML*Q z=yR^+hrOePiIpF%JTGZTG0NBIJAO3xx>_+R+?%{qhaE{^V}P3r3)yYuxT<$mr#%OC zkZ&g@G>+0jmxkaLT?XN=O6F&EZS6GU+*Ox2h?XEc`UC>{lU#moKP3$~+&MHHe#o(- z^<+DN48g5y`~mJN&J(KF2$!RcV_@IX|$4&Y^ zQIM)^ji0I1FV42|sNESjc1t2i`DX%H`5tRMvK@*mu#6k+U2F}37d6VmikeD2rz+bj zwuRe2>|Q)5$aV6@jcufp*6IoIrM|#}IOEuo!Xy9WTp?MgC7y{$sFGBZKIr%9p zx9)adx6?qtS~4`#uC;N-$W{kA?SnJILp@y{n%}QWti0D`#5hXaO2#60qSy`A&;#6xuGs3VXj!b(dYN8l zpOZf$9}gS>g@o6=>>5?S?iGiZku?Ubn<&|&;r-E>1_DBi2}{|#>;4tyIUIFouS1h( z3^l~_e5OuZU~Y2E003WF$&-k`+tjYsTUqp99P>wm2$=r>Rg`W7-p0d9`fnbtv`O|n zmE&^*@)($>l#3!lN2my6+QOGECAvqY+!Nut%Zt7S-3ycHp4)mFY){Zz5iD5gG=L}! zbt_r#O4XO9;HRAuvhJ|GV9TR4QGsJa9(Y?_8@(kzac%krB#mW=t+WEwxvdQKv@?wR z=Neu&n!IYZ$@3eFYCG2_o1>Gl$8v!QnUbrdiV5lzRtrkh(1}iDrrVwRbOMoO4$>FM zxNXkE;0@}xl1E63*2UA+b&mS^iDvzRimG8mu`;`V)56l8%v9U=)JxC|y&oOQKBW>h zJ|qKwkgHWJ`wHxl9K1&$R?jqOxB89fynf)VkmxuJP`jtdH$6zQ{{R|`8t%gG$BZrl zCIFKwd`^`nh?8bZ>hKYQEgG=+UYTB^wPBCWaL}&AMU(zj7NW8ssxlw@mlyv4)rU@> z4+lPtKpANjO0gd7QPnIXyoLj#(s;G1Z9L{+PGa28ZGe4e`{3 zu;Ue7ftjs)vk~9KQZ^QbKN%BA>UwcAbS}c}^7&PZHjpmTM8Uq>qNrVT@$nQl$Y5W# zLm_SQUi#dSw096{dNWAKvX)`4g3IBp4aks5_Nllsxm8i-MLHW&`38c*ENFy=0Ne8$ z+VmTeLA2oEF0tM%dZTJ<%|m9I7~V z45Y9lvXISgy7<2s@3gZVsP? zFC&(;+=ao5Q&k=e{{U?+NOh7GAhN^eAP_9J?^NW%?eb4T#eJ?BK{N3OBC_Sd>7lm# zRUqx%(^WnD);scXteUThrBUtp^#uF3+q@o18Tjc6ZnHi+T~_`9iKNW&*IaM={{X1C z@>ywOJ`0M*OlVBx1Mm@>S7CQk>m=jZ~j+B5cTA*&%J}A-K5E z{{Z8q4E9e;8LFe9o#mvLYb;G*nhTo~@dB}Kg7sNaXBP?Pn5IUcYqSg8){GWy&tcb6 zpSeA`gBKkZZyFgU4r9$yZ@BeFUx4Xbc{HZf(XWS<%oo46{Cp8&N3mL5z0a~DyVXR7 z#h-uDd<|d5&u2A8oa$7a5(kTz3kDwH{xV4!k2QkORfsN^mTvgxclXArQMTM_@XlJs` zr({)B@!7ZBpMuBZFfk=ng#szq{$0h?eMOk+5PT?M&s~lB73X)gk}TkxZ+LH(GEUYD&F>p&05{1cTYl9&kZNC9oZIZVA zro1?xR%0gg(0=MQlV;WlkuKy8^{$f1YUoVdKOh_|n6e?zo1qp5r|zbU3LH z(Jf8)wLPe^;Xg6SVtT7IK*i~hB}Gnzujak`*32A#gSFO-^W5%CJ*nzz@G~dH#m9}O z5aTkiQ7`+3#{IsXJ5u1at6Hgw>T_}=?Ir9kZ6<6Fp`$|JT-k_XtUwo4Dij6oLa&qoPSx*WJ}5CHII!^n zWyA@QDBihcgEIl)Zl8r~zBQLS{in3hNJD9iCjSl~EJMTH_&yikA&3ynupdhKDSk;hm$ zxonYlls?-*uu6$A>dI^{S7pVAzhBJHOXQz#$Oid-+QyKe&1{Jt)=)=LuDg54^2J>N(@&&Jhv zhHVUv{m^l_NU~ zQzfUVkK{RQbcjT8qrT0LE$(i;5A3fy$mdoz!PBNEqdEToHOX0tir@_{Pg>$vEZaj? z-2kyoEbr&m=DPe@vee6#5pOGq$d&-%cSd_1N}uwrx5BK1u1Eww2QBPH&9oNn<5X9M z%Y5WG{@&y=Cs^Q!$j4T&Hc``F)xV9xeY%;l@(q^-{lDc$BGAmGL&bJ7`4#)V_vhE=LR`}Yv8S*%A zZpBm%N#iK7Sezn+Q`%N1JhZ0F92IM-MfVvU*()k^_1!xw2I(1O&=G%qQ zjo6N-UjG2bqT$PyPcDYfjm^g6@q^0SQ~|ghEpea~>A1F7sj1A$o$Lhn=en`qiI*M; z0E$H`BM!^gw`%77>pksNT68)eYQmM}oCB4EAC2IoAiP;qJ4-FqMavPff11axwX(EJ z5>KhI#o<~+C?n!Ea>M!{XiIl z{{SzIE_zHrIh?3k7BTSV#hEeXjD>b88>k>2qv2exMmJZf&2CnQX73&%$kj$Sf9 zsEP%FJ~!`MaB}$AVYmMP`5f%Dy_6gLE?PXbCM)@R+;j%L4-@Vf^Jz!Z@&5n^BQG7( zsLoRv=ZQzAW%F35(13I%wOX^ID^`O39t0S?bTH$t+;~#JU!lFv@2N^{dJ8kDo|iUH z)k1@GDnoqlp{yC~_vmV(N~OY^l$(AvMXH$TgJq9yLbbKEQCAGT^a^8H&fT}Tzu{dP zIWt?S%YVDvZ>tP>O50x@`rGoiZ`)jsR5sDr;yn&$g9Oq!GRW^AJ+gzs+2I(|7 z_&7TT^*{QY{{V$LrF)?pWr2^wN2yrB@xSrCGVy|07Di767`ZV6;(!xT?HMM>2e_~x zTSkoJd@V?{-Ykx}Fjj$lpST>HJsnp1W_j{{Zz;@1SPpjkvJ4+RO(_U!_YpDwI(icOug;GBH=w zUtKCIxEn%Pc-~qmoTgLycCw=lz#kB4mAyfsWd}B=`m-xocnkc4g8wGNb>JB`4X^o)4rRVQ(10|UCl>o@ELVRv_@xf z3^xnj!EANZe#+@%dzZ*%$8}qovEef^IA~0GlZ?k}m&s9ZLHwn^ajPCxU)W;gSASDI z?jL;f21&57w!?$E&m2o)$UiA#uG`iO+1pzx40xAT2cMRkCkx6MU(^ml-L{1v4*^-* zm9|Y7>lT&=i;m06&TSr5$!qVCNC8-ZyW}ffG0l=jmy_Z{m+icajJC(aM|DOj)0I0e zD*pf*PAW`!w$@p-_D}Zo@aOfZ9z3HGq?=HSh~&Bz1oSuSrSDxlR8;vGv+_5+hVCu{ z5(I3nKo4GGtrFc|Xl1^v0KT1TE=xmh-OA}%duV69$DIoL@!_&Zfd`bxJG0usJ~hVX zUF!#5kA@beN&U+#GAwB%!_>Im&0(Od)Wv&iCiljy8cqv{$@fNF5@$xIkAZ`UScNXi zN0mHlP8WMwJG~BnCo;mEKataN2iqs3hw8jhiwo#2;77uSPF{RR7C4Z- z^)AHR?mrsc!m3&r`4-&d*76W>`OyT(ReKMp3lUrLQnp%|sdktE`!|Kg${Dh;Y;n2H zF&9$ZH+<_q@o85j&ye1RPnq{l0_DCu1#$NRgq>Sz`E7I1RxJ7Ys-s3MZS^06h}qcB zEVGS>HlkeaVcTzORvTGfzavdn)=d7^hB70>iH_?KSQ6x(q-kp!uQ%Jj_^!VH0QoGh zDRg1(BZQld!jeg1`+umkt)VvuK~`bm*+*Bx3Jm<^ioy5x^hrT+kNuW|>1p4E=Ia$|b*Wv(8G7mde09$UF` z(Xb{P?$NsqE4jeBT{SagMu&;vc?jX3BQ{fw11M=i{c;cF7Ow9b94TfT)|UX@OWhc! zek=@-WC8s$FSBU;p^r@|uVsIV3alBfSD2PYe3ZJn0qa5zpm^WoO6lI+M^*>$p5k@n zqr2H;xo{g#+1jbto9I3I8%)1?OB3Tm5`|HqkD%B;ixb|HHYw@Qu7=awp5vclMUtX0 zz=hnjy@@`xis9?FaSd3 z6-KwUY`@&-^<6%_gj{#rj|1Exo70fcf2k$Ig%+rp(W(R2ie*4xxxBd6aky6X+`WA9HPPLHc zW@=-hGB6%(EOj3-UH(QzNs|>Zx6sXdmzuUSg_mkEDlen!-nid$=A~T?{9Zh>4WEZ6 z+Q%S9RegRIC$HmNI^x}3dz}X0#`}W_lHqhy`>N04`Uvt3;5c4GJsMn84zTFgHq>?l zy>$4Tdo`h(E<~BN!Nz=dSTa*=zy@R@=V|b*Ra;y$HQbV9@VGe{2=ORe3tfePH~iIW zYD)KLHv(zU)u-4Rn#TF2%61^bn|It{RTgto;#6fewZTH_b* zBbG4EL1|9sYuKNdtTxHJQ%2ZFxtMI0h$A%nOB)M|4K<|XQ{xD`6_^yq=o{YB5By%Z z**K{=HrC~=Nz)O8&oaD&s)`t}?Q+80poBi)gDT*SRNZ_5t;*??xo*yNFv@ z0DILrGCqZrq!sWnn2;-TTbUT+<8pe$D5Uq!RCzEjnc94wd$+qR<@>37SsdxC$=)ZKfIY&(Jb3Q zH)FVel~K#Vde?F z^dUg;2>~nWG4j6O^;ev4fFj>jzZC!HyrfIWmbCY1oLmU5F=X@Exn9vL|l3 z7%$a9&b`kICn9z$M!WjWaI4u*u9)@$=JeEw&-JwuFQbl%J*Qby|yPN(xy__O!#_!==%g>lAZCU#C_ zfumTWMSaJs5pi%j=~BFVCfpa_B6Ud_zIO}n^IIugGX-x^^(qk;%DQRz3S16NIC5-F z1%0LN43e=7+;H)Tk` z{ywSd`x&$2-p%hDJaWbu8gmugwsYHz$Gj)wyl#s#bmweL*RRb^|bMoS*j- z!I47{280_{{8xgTn9uGW6nR)#F(|t-HHXI9e){I-OM5z;N1?zma`~B#$Y79dJ9QT6 zp{!2=M@2Lm#^L$dllqc+VD>FzN#X;#F2(Ih$O24&G}mp({q$Zha(P*9FKXdNFD#75 zxzJSDkgp>y!^ZI#$Owf`i9Tu$)kqq$Wy!!nbW~r!3R>o=HZmFcoK>({g8180LfL%> zSlI#h9y;i(TjOdAC4=HC%g@GJOP~CBQd;(7Y$X2xxfm!=mIuArF#%+Bncii#!ED!ML$aEp!w8azDa~1i>gV4Shvk*B00IP+>ujY~#l!RI?-RSjNx@ z=*`x(aq7~No<*TStA$Oh!{J-;Ee>`@Oi!eqC$;NS(HY-RM8@{o{RW(tT_1ARc&+y-mnjY zl8q8Xp6w%%=`irEc&%E|uHx;G?*+=?!!pT{5SdUNh}r_ytz2G3YpW~CR}fp|d3p_;sw>;hb+x>HRlv>2`5KiR2l$>VD>`Kehtb>w zu5=zG3f;lrj+SjajN^R;HpYGbb2 zuu}H3IA^`^V#em=#Z}o8-cdN}!L=*%2C2towo%&SUQv!|-gom%yzx{TTQxmtu&&t1+(pNjjyx0@g6jsPaz|Eu^XhMpE91Ed@D7m zs?5C1Q}VAu_GTas9wkW>+?Ktni(^g8Fjjj5V8|PuC>2_3`H_6U3+hRwR#7Py*BkC= z-=E@Fk7%X^1Smu(qj#BYbx+Ks_|`i#9<6)Y{{%m&DtxGsLWv7t<%t zUWRXk;Q3E?^Cn3nCM8org?q8FLVt}4PihqdtdUNQ#D#>Yb`KvH(x z&3>9(_tvxEbjN1e)ZlWmUm}Un3+``rWd<N1ID^sThZ1#ne$S~`XbL6?1WNsGa{4%f2SG{FY)oNmL4lgTK!CUb0yK5 z%ujE@kATm$mQXiFS?n#?8rzSKs-+n(m9TsBCl4)Q${SNlk}P_4wNUwLmfF#Mc-z#I zb2;GQGP9~Iid8{2K5mv3er&60MRB<~54ioZcKZ0ds>wL>O9)a)vHot>@UDARYeQ{Y zG}vF=4l+I^JzP+Y2uSCct(3Nk#{G3Rtx~N-R_gZ}o+taa#bu}TqTI*=x!P_lH28kX zxo2zgD7FXGk2~Ku+|iQ;EjNu&8y~``$(>}Jexu{S>gAYhr%%-kOS? zvmXlL=lflOs4zL}LtrN`!5ZaT-Yp2dAa6UlF?=CWnsUDs)4axSd5$6`qHMv@(y z2v#=*O^;fm58G3^pRd#pDpkW#@Ztb@<&-*4h--J3Er_y2&5p_@ZBMD&#2=PGTFhR_O~2(oJO3&QW-&VEx6zLg}c{F1ko8XwPQ=0kN40;le#%3 zlq*I~mQmtHqvLwpbgfAONXpDMAb6(Z8*C#DRH1A(u=)jMBe`jTSuCB&>A%^3r8T!33% z{{RXbbS$baF9Vw_%Nt|?G^(!Ku1G_!<8IX#4)%RV@^>#|`+pQja|mQZgsfX9v{HY!R@|D!(+-21nT9sx0m7E_!_p{cC=j%g3no#Q^H1^Y!OS7 zAxx;>VPoY5dlBL(JW90Jv70KFq0+eSQVGyFE4ILHQ`h5I?Z>Nfb8jm^=4Tx4f0us&nZ}Cm4(BE6a)Gx;JTvDql zN@U1u2e{hC+77g7%ceE8xv^eOJ)54!rKBJTE~=ywK-T(OQakHiUn^gMgJ*LM?(QD~ zNad1NV5+6s_c{ULT;4|6dYxV++lA@@_MbnG1QMqnj?W_jK3?6f%g`v@t*cK1kd~D% z}0f7S&Iu&jz{m#dVDzF5o8UPS$7pT4mts0 z;aq#=ZqRo)*k#XRzqYts%&%+ZLy`&Kxx-$>D|ZLPnmDbtQ8MI9BHP#{?anY`ZHQSt zB~_EYpjh78ckNm4w$DQ+KP2jHIN2Y1tZbkTm(ZV;Q+hUX9j8*4H=92h)f5@Y*c5m8 z*E5%kYub%CoR9X0GcHz3`sxcH-3hja-9>ZhO5wKTx(}I7hgtUbDUFwo9aGYpKP$#- z+V_RFOYjJr@d0It{uBvXn1RjKZ4QI`hQL3~gF0FDrwTZ1uQRu@Xf)1VO zsL1*OeZsr1<+vU{#B(!Og+mGK2#(R zz||JYU0iJO_clW>l@$T#N!F3%W9%!pFOo?r%*6KXRYPM!E4=))#MxYedjnP~A(N^k z$Kv^U!DAZ_i;zE!9iVqb^!CPMplN4@Fnboi@TXYC@{!5G;KQWcnqRn$2|vE3)QRM5 zgvG0)!BM+eE=^ zEpFOa&>>fiLHLEB^0(A5R+|qg zNf^XNtEf;f){R>3Mvo>=R07jO<|5^gbotXdrbNzz?I=p|G0NZWPE3vRJu7x9BNryp z%^}*LSXq1Cx45a#)v+0rgXJ5)DQ=W}gxF^}$8fJ8v0EMLJ6At4ZIL=|8cQZiLD6Ku z!2LJ=rHU@w#;d8^I()UQe4KT4)XK6w+8NKgb%COB<&fMzjjPX0CXu}<)PbJB6(pP9 z-W6I%Wq27kDDho-6VbbA;Z004sdCh>kI&8}S7&2p*IKgtWYFq{*M#TRO{eMr-si@- z8E|a0it2P;AKX&<2^4bdwu+;sx|`Qy2R7BLCSl2iS?XvLo>!X&u_oz?=LpLpBx zvY*fY00Ms>(1$ORN#Hv{h?BT6z4Y*=&(GaW7QbG@Qxia3*u$YE&hmPbabsNV-RDx} zp@a9&0~S;&Q0~ZG#A(yve~oXYQmFWHZL}PRACEZPvP94J^1F{hcOW9kevD3*y>#(k zdELcjdYe29cq2!HltYJ_U&}ZF@#Sm%S6=6_8d0uop}i-eW0dyXv%)3BR1<($J&OXX z-*WW1r^u^xS63Z+5OJ|`9*3vNs>Lduv2Sa7fa~S)tajtW6E-yUsioouRD7%AMF7MS zrq+~|*vfVDFdA!DVs>8$(V5;jQp#DLz~!NlX38kbkmZoX;gnpPT=WckQvU$;)~c8F z`j%IfSI|kg{3!6=EY>i`3wix>v=XOLVb=aNeeu%2xf<|e@7$Y@&g8P3MZ@C>IG{jw zAjE}kJh8iVq>H;kS`U@doqCgJ@c8(@aXbvtaxZA)?8sPX-wRa9jV(KwmS*3v zl@Q6oNMeR#D3v!%`@saBzF&dxtU2qfRBV~$8_(_J{BAxp%+c-1o6Z9(C4kdmzg^vH zPZKS1S6|$6IdhSlSQiw_Bcy(oJb)1v>wtUOtGlCf22JiYWRrVqiRBA0yoRgB|d3D({dI$p{I&MEM$Kgr4$!VPn_U*4ghGJz$#y%{-Kpxl2w$+mV z08P(`9cx`wDD28IIA#;x^GEIe5(LI8EbB5$BbNS~5PYNdmc4Wxw$(vhUh540+k3|i zIc$^4l}RPCoPYhdJ&O2steLq@ISa&%?9APb{6%>j*>l$}>-7AM zG^JXC2Z^Q38E+q|hT0S5zxu1CcU-XT)QVDs5l%lRHdy2I8Bm*@*CO3|p1%sei^GdW zR)u!FBW1_%oOUWKjTkDufVIf@*QLjWQD}2-nYMFpfBVBH4os|0Ioc+jh?8yiT<8X! zs;r!cF;eV!WlK4axUl`hn*=;c3ufh=_hzvm>wBMprc%;OeX4XYe7ChZ3?6Uo3^O~0 z-m4J~;m7)poodwy!$5Skk=y;b?KrW0z@F)!3PCKKa>(dZDnet6`iw>HUC8o*^PsZU zNo-b2P$=YI-UD<>R%UDNBUQewapP*OH)anTLB1o{oMsOv7GEO^WF_Xw7)`VF+NxgKr9G5VPapOR-B-t_~N^JMnw!Rg|%;wq}=(eJ)nDGpm8SJEM zVS8@;Dyr4)V_E21;;;$G^(

  • hQ7BxA7~fn=Q07{G3qXz_G-kVv6om3tXPV=UrUw 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

    xTzQyZncz9P^4&Az({Ef+|i;+jhRYV&I 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∾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

    pU0UHlT>&GgC&Ik0PTTH!*wU(lmyY>F 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%0D-`a&zI?;32aL`Nm$P+u<3#4*D)UL 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 S52ZoD@vKP~=Ml!n`~L!S-Be)! literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza4.jpg b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61dc88bd78c536909b99ddaa163b5cf75e0ce56d GIT binary patch literal 169731 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 Wi(7LQ;7Fg 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 ZfBcp+{{R`!`mp@}0Ljzj{C-UV|Jf>{Z5jXo literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza5.jpg b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/assets/pizza5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60f17c9424a66f1cbf8e05213c3f02a3415a8cf5 GIT binary patch literal 266265 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

      w&m8vKX|d4Ipu|;Wm^85(DA~qXrlt}n+>g^ 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 viQ3@({D18Q+#{oiSh;_4frM416mB`S2D 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�nWz#{x<-9CZ9+;(dlk;#cQRXFO3))k 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
      D+XoQ0qrzCxaZ%kYJNuQ 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 literal 0 HcmV?d00001 diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/OrderItemCard.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/components/OrderItemCard.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/OrderItemCard.js diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/OrderSucessPopup.js diff --git a/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/PizzaCard.js similarity index 72% rename from modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/PizzaCard.js index 36e3865..185c870 100644 --- a/modulo6/case-1-Ambulnz-frontend/src/components/PizzaCard.js +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/PizzaCard.js @@ -1,18 +1,6 @@ -import styled from "styled-components" +import {ContainerLi }from "./StyledCard.js" +import Pizza1 from "../assets/pizza1.jpg" -export const ContainerLi = styled.li` - border: 1px solid black; - margin: 1em; - - display: flex; - flex-direction: column; - justify-content: space-between; - - h3, - .card-price { - text-align: center; - } -` function PizzaCard(props) { const { pizza, addToCart } = props @@ -20,6 +8,7 @@ function PizzaCard(props) { return (

      {pizza.name}

      +

      {pizza.price.toLocaleString( 'pt-br', diff --git a/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/StyledCard.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/StyledCard.js new file mode 100644 index 0000000..02177a4 --- /dev/null +++ b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/components/StyledCard.js @@ -0,0 +1,38 @@ +import styled from "styled-components" + +export const ContainerLi = styled.li` + border: 1px solid black; + margin: 1em; + border-radius:5%; + + display: flex; + flex-direction: column; + justify-content: space-between; + + h3, + .card-price { + text-align: center; + } +` +// export const CardImg = styled.img.attrs(props =>({ +// src:imgPizza(props.Img)||pizzaDeCala, + +// })) +// ; +// const imagRes=(src)=>{ +// switch (src) { +// case "Bufala": +// return pizza2; +// case "Diavola": +// return pizzaDeCala; +// case "Margherita": +// return pizza2; +// case "Pizza Bianca": +// return pizza2; +// case "Romana": +// return pizza2; + +// default: +// } +// } + diff --git a/modulo6/case-1-Ambulnz-frontend/src/constants.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/constants.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/constants.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/constants.js diff --git a/modulo6/case-1-Ambulnz-frontend/src/index.js b/modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/index.js similarity index 100% rename from modulo6/case-1-Ambulnz-frontend/src/index.js rename to modulo6/case-1-Ambulnz/case-1-Ambulnz-frontend/src/index.js

    -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