From fa9f514a3940d6133dd8ec8118d7e4765f2ca559 Mon Sep 17 00:00:00 2001 From: Eliot LAUGER Date: Thu, 13 Apr 2023 12:56:35 +0200 Subject: [PATCH] start --- angular.json | 2 + package-lock.json | 3939 +++++++++++++---- package.json | 13 +- .../add-article/add-article.component.html | 46 + src/app/add-article/add-article.component.ts | 47 + src/app/app-routing.module.ts | 24 +- src/app/app.component.html | 485 +- src/app/app.component.scss | 0 src/app/app.component.spec.ts | 35 - src/app/app.component.ts | 2 - src/app/app.module.ts | 48 +- .../article-list/article-list.component.html | 48 + .../article-list/article-list.component.ts | 55 + .../dashboard/dashboard.component.html | 21 + .../dashboard/dashboard.component.ts | 14 + .../forgot-password.component.html | 19 + .../forgot-password.component.ts | 13 + .../components/navbar/navbar.component.html | 43 + src/app/components/navbar/navbar.component.ts | 15 + .../components/sign-in/sign-in.component.html | 34 + .../components/sign-in/sign-in.component.ts | 12 + .../components/sign-up/sign-up.component.html | 31 + .../components/sign-up/sign-up.component.ts | 12 + .../verify-email/verify-email.component.html | 22 + .../verify-email/verify-email.component.ts | 13 + .../edit-article/edit-article.component.html | 51 + .../edit-article/edit-article.component.ts | 59 + src/app/shared/article.ts | 6 + src/app/shared/crud.service.ts | 55 + src/app/shared/guard/auth.guard.spec.ts | 16 + src/app/shared/guard/auth.guard.ts | 22 + src/app/shared/services/auth.service.spec.ts | 16 + src/app/shared/services/auth.service.ts | 132 + src/app/shared/services/user.ts | 7 + src/assets/Error.gif | Bin 0 -> 17472 bytes src/assets/loader.gif | Bin 0 -> 8098 bytes src/assets/logo.png | Bin 0 -> 83174 bytes src/environments/environment.ts | 31 + src/styles.scss | 664 ++- tsconfig.json | 2 + 40 files changed, 4646 insertions(+), 1408 deletions(-) create mode 100644 src/app/add-article/add-article.component.html create mode 100644 src/app/add-article/add-article.component.ts delete mode 100644 src/app/app.component.scss delete mode 100644 src/app/app.component.spec.ts create mode 100644 src/app/article-list/article-list.component.html create mode 100644 src/app/article-list/article-list.component.ts create mode 100644 src/app/components/dashboard/dashboard.component.html create mode 100644 src/app/components/dashboard/dashboard.component.ts create mode 100644 src/app/components/forgot-password/forgot-password.component.html create mode 100644 src/app/components/forgot-password/forgot-password.component.ts create mode 100644 src/app/components/navbar/navbar.component.html create mode 100644 src/app/components/navbar/navbar.component.ts create mode 100644 src/app/components/sign-in/sign-in.component.html create mode 100644 src/app/components/sign-in/sign-in.component.ts create mode 100644 src/app/components/sign-up/sign-up.component.html create mode 100644 src/app/components/sign-up/sign-up.component.ts create mode 100644 src/app/components/verify-email/verify-email.component.html create mode 100644 src/app/components/verify-email/verify-email.component.ts create mode 100644 src/app/edit-article/edit-article.component.html create mode 100644 src/app/edit-article/edit-article.component.ts create mode 100644 src/app/shared/article.ts create mode 100644 src/app/shared/crud.service.ts create mode 100644 src/app/shared/guard/auth.guard.spec.ts create mode 100644 src/app/shared/guard/auth.guard.ts create mode 100644 src/app/shared/services/auth.service.spec.ts create mode 100644 src/app/shared/services/auth.service.ts create mode 100644 src/app/shared/services/user.ts create mode 100644 src/assets/Error.gif create mode 100644 src/assets/loader.gif create mode 100644 src/assets/logo.png create mode 100644 src/environments/environment.ts diff --git a/angular.json b/angular.json index aefe8ef..f9f6a7d 100644 --- a/angular.json +++ b/angular.json @@ -30,6 +30,8 @@ "src/assets" ], "styles": [ + "node_modules/bootstrap/dist/css/bootstrap.min.css", + "node_modules/ngx-toastr/toastr.css", "src/styles.scss" ], "scripts": [] diff --git a/package-lock.json b/package-lock.json index 2caaf40..5897e1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,14 +8,23 @@ "name": "angular-project", "version": "0.0.0", "dependencies": { - "@angular/animations": "^15.2.0", + "@angular/animations": "^15.2.6", "@angular/common": "^15.2.0", "@angular/compiler": "^15.2.0", "@angular/core": "^15.2.0", + "@angular/fire": "^7.5.0", "@angular/forms": "^15.2.0", "@angular/platform-browser": "^15.2.0", "@angular/platform-browser-dynamic": "^15.2.0", "@angular/router": "^15.2.0", + "@fortawesome/angular-fontawesome": "^0.12.1", + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/free-solid-svg-icons": "^6.2.1", + "boostrap": "^2.0.0", + "bootstrap": "^5.2.3", + "firebase": "^9.9.1", + "ngx-pagination": "^6.0.3", + "ngx-toastr": "^16.1.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.12.0" @@ -249,7 +258,6 @@ "version": "15.2.5", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.5.tgz", "integrity": "sha512-ZfjEkAe2yYeekc3xjZ/U4pK9nb+w6BFwAEjou6mE8PWZH7iYskm0YCCXkmu+B+zViEcCLhAkJAxu9MwX4efd8g==", - "dev": true, "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -275,7 +283,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "dependencies": { "tslib": "^1.9.0" }, @@ -286,14 +293,12 @@ "node_modules/@angular-devkit/core/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@angular-devkit/schematics": { "version": "15.2.5", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.5.tgz", "integrity": "sha512-zm7chQRQtPXQzzSAvK/mbZ+RJ3eP7hlU53yyJ/i6kjWAh3Y5uiSHNYGmqhhAHFuzw4Jhb4OC2S9iycxrqmI8TA==", - "dev": true, "dependencies": { "@angular-devkit/core": "15.2.5", "jsonc-parser": "3.2.0", @@ -311,7 +316,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "dependencies": { "tslib": "^1.9.0" }, @@ -322,8 +326,7 @@ "node_modules/@angular-devkit/schematics/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@angular/animations": { "version": "15.2.6", @@ -503,6 +506,43 @@ "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0" } }, + "node_modules/@angular/fire": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.5.0.tgz", + "integrity": "sha512-M/JJ5SKnpfNZFLKl0Awjn3r2NhURy2Mx+E8EzSDWSg1sHD7IThrynZYPUSZR+cd3KGsGoEacIP2x8Ra+0a+CVg==", + "dependencies": { + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "file-loader": "^6.2.0", + "firebase": "^9.8.0", + "fs-extra": "^8.0.1", + "fuzzy": "^0.1.3", + "inquirer": "^8.1.1", + "inquirer-autocomplete-prompt": "^1.0.1", + "jsonc-parser": "^3.0.0", + "node-fetch": "^2.6.1", + "open": "^8.0.0", + "ora": "^5.3.0", + "rxfire": "^6.0.0", + "semver": "^7.1.3", + "triple-beam": "^1.3.0", + "tslib": "^2.0.0", + "winston": "^3.0.0" + }, + "peerDependencies": { + "@angular/common": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/core": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/platform-browser": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/platform-browser-dynamic": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "firebase-tools": "^9.9.0 || ^10.0.0 || ^11.0.0", + "rxjs": "~6.6.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "firebase-tools": { + "optional": true + } + } + }, "node_modules/@angular/forms": { "version": "15.2.6", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.6.tgz", @@ -2272,11 +2312,20 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, "engines": { "node": ">=0.1.90" } }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -2638,234 +2687,912 @@ "node": ">=12" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true + "node_modules/@firebase/analytics": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", + "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } }, - "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, + "node_modules/@firebase/analytics-compat": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", + "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", "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" + "@firebase/analytics": "0.8.0", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "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/@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "node_modules/@firebase/app": { + "version": "0.7.29", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.29.tgz", + "integrity": "sha512-jT47plTi/O0lpXEXPx5t/dH/3BVnP9Tq/D8SZkhMUXPYlYDudvepIiV3VOW8XxbbHU/X+JyY0qG5CoWxIk0teg==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.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, + "node_modules/@firebase/app-check": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", + "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "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/@firebase/app-check-compat": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", + "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", + "dependencies": { + "@firebase/app-check": "0.5.12", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "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/@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.30.tgz", + "integrity": "sha512-t51oJEJzjts4D5C7Nol0Ua7dqhpQSlcWSa7X1VtL+zjcTZ92ibYmwQjXomexBmlKvCUamGClMAEBfEgUtr0Wug==", + "dependencies": { + "@firebase/app": "0.7.29", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "node_modules/@firebase/auth": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.5.tgz", + "integrity": "sha512-SbKj7PCAuL0lXEToUOoprc1im2Lr/bzOePXyPC7WWqVgdVBt0qovbfejlzKYwJLHUAPg9UW1y3XYe3IlbXr77w==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, + "node_modules/@firebase/auth-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.18.tgz", + "integrity": "sha512-Fw2PJS0G/tGrfyEBcYJQ42sfy5+sANrK5xd7tuzgV7zLFW5rYkHUIZngXjuOBwLOcfO2ixa/FavfeJle3oJ38Q==", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@firebase/auth": "0.20.5", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "node_modules/@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, + "node_modules/@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/component": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", + "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" } }, - "node_modules/@jridgewell/trace-mapping/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/@firebase/database": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.3.tgz", + "integrity": "sha512-ZE+QJqQUaCTZiIzGq3RJLo64HRMtbdaEwyDhfZyPEzMJV4kyLsw3cHdEHVCtBmdasTvwtpO2YRFmd4AXAoKtNw==", + "dependencies": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.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==", - "dev": true + "node_modules/@firebase/database-compat": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.3.tgz", + "integrity": "sha512-uwSMnbjlSQM5gQRq8OoBLs7uc7obwsl0D6kSDAnMOlPtPl9ert79Rq9faU/COjybsJ8l7tNXMVYYJo3mQ5XNrA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/database": "0.13.3", + "@firebase/database-types": "0.9.11", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "node_modules/@ngtools/webpack": { - "version": "15.2.5", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.5.tgz", - "integrity": "sha512-wD6GY4xghVK+SQL0dy/M3saGx5pqi7+1VHEr+BBI7IUNYGSqPNzylKNxLBgQiTzfkzvbrZ6MhfaMNkhvSCYr5w==", - "dev": true, + "node_modules/@firebase/database-types": { + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.11.tgz", + "integrity": "sha512-27V3eFomWCZqLR6qb3Q9eS2lsUtulhSHeDNaL6fImwnhvMYTmf6ZwMfRWupgi8AFwW4s91g9Oc1/fkQtJGHKQw==", + "dependencies": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.6.3" + } + }, + "node_modules/@firebase/firestore": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.13.tgz", + "integrity": "sha512-wLsbWflFoWDg9NprulzTAjtapLA3dfaG1Dsa9OUsgPRDGg5jfeo60n43d94fesX4crE+C5vkFhLQKMgsEGpr9w==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "@firebase/webchannel-wrapper": "0.6.2", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">=10.10.0" }, "peerDependencies": { - "@angular/compiler-cli": "^15.0.0", - "typescript": ">=4.8.2 <5.0", - "webpack": "^5.54.0" + "@firebase/app": "0.x" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@firebase/firestore-compat": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.22.tgz", + "integrity": "sha512-1HWmJtbxhDzAV7984XSQX7tp0MzjhRFnBygpU6k6H2m0Ey9JVDTPK8lIlZCctjCCA2cBsek7yAD+rDnpWC+KRw==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@firebase/component": "0.5.17", + "@firebase/firestore": "3.4.13", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" + "node_modules/@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "node_modules/@firebase/functions": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", + "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, + "node_modules/@firebase/functions-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", + "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", "dependencies": { - "semver": "^7.3.5" + "@firebase/component": "0.5.17", + "@firebase/functions": "0.8.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@npmcli/git": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", - "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", - "dev": true, + "node_modules/@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "node_modules/@firebase/installations": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", + "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "peerDependencies": { + "@firebase/app": "0.x" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/@firebase/installations-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", + "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/installations-types": "0.4.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, + "node_modules/@firebase/installations-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/logger": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", + "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "tslib": "^2.1.0" } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", - "dev": true, + "node_modules/@firebase/messaging": { + "version": "0.9.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", + "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", + "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/messaging": "0.9.16", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "node_modules/@firebase/performance": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", + "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", + "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/performance": "0.5.12", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" + }, + "node_modules/@firebase/polyfill": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", + "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", + "dependencies": { + "core-js": "3.6.5", + "promise-polyfill": "8.1.3", + "whatwg-fetch": "2.0.4" + } + }, + "node_modules/@firebase/remote-config": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", + "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", + "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" + }, + "node_modules/@firebase/storage": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", + "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", + "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", + "dependencies": { + "@firebase/component": "0.5.17", + "@firebase/storage": "0.9.9", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/util": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", + "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", + "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" + }, + "node_modules/@fortawesome/angular-fontawesome": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.12.1.tgz", + "integrity": "sha512-vGGUfmWhsCtC+wUhnLXPeWBod33XKMFERwvD21LTbVBOCwUDUfwcS9nqfTmrULcpFl/bn20REZH/1vSreWd3ZA==", + "dependencies": { + "tslib": "^2.4.1" + }, + "peerDependencies": { + "@angular/core": "^15.0.0", + "@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", + "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", + "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", + "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@grpc/grpc-js": { + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.13.tgz", + "integrity": "sha512-iY3jsdfbc0ARoCLFvbvUB8optgyb0r1XLPb142u+QtgBcKJYkCIFt3Fd/881KqjLYWjsBJF57N3b8Eop9NDfUA==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.6.tgz", + "integrity": "sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/grpc-js/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/@grpc/grpc-js/node_modules/protobufjs": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", + "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + }, + "node_modules/@grpc/grpc-js/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/@grpc/grpc-js/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/@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/proto-loader/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/@grpc/proto-loader/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/@grpc/proto-loader/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/@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/@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==", + "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.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "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.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/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/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@ngtools/webpack": { + "version": "15.2.5", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.5.tgz", + "integrity": "sha512-wD6GY4xghVK+SQL0dy/M3saGx5pqi7+1VHEr+BBI7IUNYGSqPNzylKNxLBgQiTzfkzvbrZ6MhfaMNkhvSCYr5w==", + "dev": true, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "typescript": ">=4.8.2 <5.0", + "webpack": "^5.54.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==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", + "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "bin": { "installed-package-contents": "lib/index.js" @@ -2967,11 +3694,74 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "node_modules/@schematics/angular": { "version": "15.2.5", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.5.tgz", "integrity": "sha512-YN0A5bzuqEmLdwbcQRop9TFj0QVxTC/XCL0K5DfDymVBS2j09NMyLLVc6TDOs+J/fMQr5EwiT149ikzqiUmAcw==", - "dev": true, "dependencies": { "@angular-devkit/core": "15.2.5", "@angular-devkit/schematics": "15.2.5", @@ -3101,7 +3891,6 @@ "version": "8.37.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", - "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -3111,7 +3900,6 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -3120,8 +3908,7 @@ "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==", - "dev": true + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "node_modules/@types/express": { "version": "4.17.17", @@ -3164,8 +3951,12 @@ "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==", - "dev": true + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "node_modules/@types/mime": { "version": "3.0.1", @@ -3176,8 +3967,7 @@ "node_modules/@types/node": { "version": "18.15.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -3231,6 +4021,11 @@ "@types/node": "*" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", + "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" + }, "node_modules/@types/ws": { "version": "8.5.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", @@ -3244,7 +4039,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -3253,26 +4047,22 @@ "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==", - "dev": true + "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==", - "dev": true + "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==", - "dev": true + "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==", - "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -3282,14 +4072,12 @@ "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==", - "dev": true + "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==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -3301,7 +4089,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -3310,7 +4097,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -3318,14 +4104,12 @@ "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==", - "dev": true + "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==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -3341,7 +4125,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -3354,7 +4137,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -3366,7 +4148,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -3380,7 +4161,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -3389,14 +4169,12 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "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==", - "dev": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -3433,7 +4211,6 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -3445,7 +4222,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, "peerDependencies": { "acorn": "^8" } @@ -3520,7 +4296,6 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -3536,7 +4311,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "dependencies": { "ajv": "^8.0.0" }, @@ -3574,7 +4348,6 @@ "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" }, @@ -3601,7 +4374,6 @@ "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" } @@ -3622,7 +4394,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "devOptional": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3665,6 +4437,11 @@ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, + "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/autoprefixer": { "version": "10.4.13", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", @@ -3782,14 +4559,12 @@ "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 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -3824,7 +4599,6 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, "engines": { "node": "*" } @@ -3833,7 +4607,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -3842,7 +4616,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -3906,6 +4679,30 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, + "node_modules/boostrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/boostrap/-/boostrap-2.0.0.tgz", + "integrity": "sha512-JEeFMOweKeGXEM9rt95eaVISOkluG9aKcl0jQCETOVH9jynCZxuBZe2oWgcWJpj5wqYWZl625SnW7OgHT2Ineg==", + "deprecated": "Package no longer supported. Contact support@npmjs.com for more info." + }, + "node_modules/bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.6" + } + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -3919,7 +4716,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "devOptional": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -3931,7 +4728,6 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, "funding": [ { "type": "opencollective", @@ -3959,7 +4755,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -3982,8 +4777,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtins": { "version": "5.0.1", @@ -4071,7 +4865,6 @@ "version": "1.0.30001478", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz", "integrity": "sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4104,14 +4897,13 @@ "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "devOptional": true, "funding": [ { "type": "individual", @@ -4147,7 +4939,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, "engines": { "node": ">=6.0" } @@ -4165,7 +4956,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -4177,7 +4967,6 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", - "dev": true, "engines": { "node": ">=6" }, @@ -4189,7 +4978,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, "engines": { "node": ">= 10" } @@ -4212,7 +5000,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "engines": { "node": ">=0.8" } @@ -4231,11 +5018,19 @@ "node": ">=6" } }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "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" } @@ -4243,8 +5038,16 @@ "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 + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } }, "node_modules/color-support": { "version": "1.1.3", @@ -4261,11 +5064,19 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/commondir": { "version": "1.0.1", @@ -4336,8 +5147,7 @@ "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 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/connect": { "version": "3.7.0", @@ -4474,6 +5284,17 @@ "node": ">=10.13.0" } }, + "node_modules/core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-js-compat": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.0.tgz", @@ -4490,8 +5311,7 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cors": { "version": "2.8.5", @@ -4749,7 +5569,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "dependencies": { "clone": "^1.0.2" }, @@ -4761,7 +5580,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, "engines": { "node": ">=8" } @@ -4918,24 +5736,26 @@ "node_modules/electron-to-chromium": { "version": "1.4.359", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.359.tgz", - "integrity": "sha512-OoVcngKCIuNXtZnsYoqlCvr0Cf3NIPzDIgwUfI9bdTFjXCrr79lI0kwQstLPZ7WhCezLlGksZk/BFAzoXC7GDw==", - "dev": true + "integrity": "sha512-OoVcngKCIuNXtZnsYoqlCvr0Cf3NIPzDIgwUfI9bdTFjXCrr79lI0kwQstLPZ7WhCezLlGksZk/BFAzoXC7GDw==" }, "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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, "engines": { "node": ">= 4" } }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -4949,7 +5769,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "dependencies": { "iconv-lite": "^0.6.2" @@ -4959,7 +5778,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -5002,7 +5820,6 @@ "version": "5.12.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5066,8 +5883,7 @@ "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==", - "dev": true + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, "node_modules/esbuild": { "version": "0.17.8", @@ -5123,7 +5939,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -5138,7 +5953,6 @@ "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" } @@ -5147,7 +5961,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -5173,7 +5986,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -5185,7 +5997,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -5194,7 +6005,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -5233,7 +6043,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "engines": { "node": ">=0.8.x" } @@ -5409,7 +6218,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -5422,8 +6230,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.12", @@ -5444,8 +6251,7 @@ "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 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fastq": { "version": "1.15.0", @@ -5460,7 +6266,6 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -5468,11 +6273,15 @@ "node": ">=0.8.0" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -5483,11 +6292,88 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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/file-loader/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/file-loader/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/file-loader/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/file-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/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/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, + "devOptional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5570,12 +6456,51 @@ "node": ">=8" } }, + "node_modules/firebase": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.1.tgz", + "integrity": "sha512-1saLd91mmfNWOdP3DpkCAyXcrwB0iJXZoYY8S98ljp1erL+eUPHu+AHw8ImjynVIejSX07NHgla3mQP0bIniZA==", + "dependencies": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-compat": "0.1.13", + "@firebase/app": "0.7.29", + "@firebase/app-check": "0.5.12", + "@firebase/app-check-compat": "0.2.12", + "@firebase/app-compat": "0.1.30", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.20.5", + "@firebase/auth-compat": "0.2.18", + "@firebase/database": "0.13.3", + "@firebase/database-compat": "0.2.3", + "@firebase/firestore": "3.4.13", + "@firebase/firestore-compat": "0.1.22", + "@firebase/functions": "0.8.4", + "@firebase/functions-compat": "0.2.4", + "@firebase/installations": "0.5.12", + "@firebase/installations-compat": "0.1.12", + "@firebase/messaging": "0.9.16", + "@firebase/messaging-compat": "0.1.16", + "@firebase/performance": "0.5.12", + "@firebase/performance-compat": "0.1.12", + "@firebase/polyfill": "0.3.36", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-compat": "0.1.12", + "@firebase/storage": "0.9.9", + "@firebase/storage-compat": "0.1.17", + "@firebase/util": "1.6.3" + } + }, "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==", "dev": true }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, "node_modules/follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", @@ -5631,7 +6556,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -5662,8 +6586,7 @@ "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 + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.2", @@ -5685,6 +6608,14 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/fuzzy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", + "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -5717,7 +6648,6 @@ "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.*" } @@ -5780,7 +6710,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -5791,8 +6721,7 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/globals": { "version": "11.12.0", @@ -5825,8 +6754,7 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/handle-thing": { "version": "2.0.1", @@ -6005,8 +6933,7 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" }, "node_modules/http-proxy": { "version": "1.18.1", @@ -6095,7 +7022,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6115,11 +7041,15 @@ "postcss": "^8.1.0" } }, + "node_modules/idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -6184,6 +7114,11 @@ "node": ">=0.10.0" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "node_modules/immutable": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", @@ -6243,7 +7178,6 @@ "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" @@ -6252,8 +7186,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "3.0.1", @@ -6268,33 +7201,129 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/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/inquirer-autocomplete-prompt/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/inquirer-autocomplete-prompt/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/inquirer-autocomplete-prompt/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/inquirer-autocomplete-prompt/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/inquirer-autocomplete-prompt/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/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": ">=12.0.0" + "node": ">=8" } }, + "node_modules/inquirer-autocomplete-prompt/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/inquirer/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" }, @@ -6309,7 +7338,6 @@ "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" @@ -6325,7 +7353,6 @@ "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" }, @@ -6336,14 +7363,12 @@ "node_modules/inquirer/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/inquirer/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" } @@ -6352,7 +7377,6 @@ "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" }, @@ -6385,7 +7409,7 @@ "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, + "devOptional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6409,7 +7433,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, "bin": { "is-docker": "cli.js" }, @@ -6424,7 +7447,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -6433,7 +7456,6 @@ "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" } @@ -6442,7 +7464,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -6454,7 +7476,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "engines": { "node": ">=8" } @@ -6469,7 +7490,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12.0" } @@ -6502,7 +7523,6 @@ "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" }, @@ -6514,7 +7534,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "engines": { "node": ">=10" }, @@ -6532,7 +7551,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -6543,8 +7561,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isbinaryfile": { "version": "4.0.10", @@ -6688,7 +7705,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6702,7 +7718,6 @@ "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" } @@ -6711,7 +7726,6 @@ "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" }, @@ -6756,20 +7770,17 @@ "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 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -6780,14 +7791,12 @@ "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -6801,6 +7810,44 @@ "node >= 0.2.0" ] }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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/jszip/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/jszip/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/karma": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", @@ -7041,6 +8088,11 @@ "node": ">= 8" } }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, "node_modules/less": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", @@ -7151,6 +8203,14 @@ } } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -7161,7 +8221,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, "engines": { "node": ">=6.11.5" } @@ -7190,8 +8249,12 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -7203,7 +8266,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -7219,7 +8281,6 @@ "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" }, @@ -7234,7 +8295,6 @@ "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" @@ -7250,7 +8310,6 @@ "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" }, @@ -7261,14 +8320,12 @@ "node_modules/log-symbols/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/log-symbols/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" } @@ -7277,7 +8334,6 @@ "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" }, @@ -7301,6 +8357,24 @@ "node": ">=8.0" } }, + "node_modules/logform": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz", + "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==", + "dependencies": { + "@colors/colors": "1.5.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -7314,7 +8388,6 @@ "version": "0.29.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -7532,8 +8605,7 @@ "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 + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", @@ -7582,7 +8654,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -7591,7 +8662,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -7603,7 +8673,6 @@ "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" } @@ -7892,8 +8961,7 @@ "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multicast-dns": { "version": "7.2.5", @@ -7911,8 +8979,7 @@ "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "node_modules/nanoid": { "version": "3.3.6", @@ -7985,8 +9052,32 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/ngx-pagination": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ngx-pagination/-/ngx-pagination-6.0.3.tgz", + "integrity": "sha512-lONjTQ7hFPh1SyhwDrRd5ZwM4NMGQ7bNR6vLrs6mrU0Z8Q1zCcWbf/pvyp4DOlGyd9uyZxRy2wUsSZLeIPjbAw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0" + } + }, + "node_modules/ngx-toastr": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-16.1.0.tgz", + "integrity": "sha512-jMnkauggRE8264vR4NtOgK3QI7zmufO3Z7wrkg3j7A7ZVpkCKDXgklsAZM9aiHxDyttM2K+Na6a6L004uPeRKA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=14.0.0-0", + "@angular/core": ">=14.0.0-0", + "@angular/platform-browser": ">=14.0.0-0" + } }, "node_modules/nice-napi": { "version": "1.0.2", @@ -8010,6 +9101,25 @@ "dev": true, "optional": true }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -8115,8 +9225,7 @@ "node_modules/node-releases": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" }, "node_modules/nopt": { "version": "6.0.0", @@ -8152,7 +9261,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -8399,16 +9508,22 @@ "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/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dependencies": { + "fn.name": "1.x.x" + } + }, "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" }, @@ -8423,7 +9538,6 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", - "dev": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -8440,7 +9554,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -8463,7 +9576,6 @@ "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" }, @@ -8478,7 +9590,6 @@ "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" @@ -8494,7 +9605,6 @@ "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" }, @@ -8505,14 +9615,12 @@ "node_modules/ora/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/ora/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" } @@ -8521,7 +9629,6 @@ "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" }, @@ -8533,7 +9640,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8646,8 +9752,7 @@ "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/parent-module": { "version": "1.0.1", @@ -8799,7 +9904,6 @@ "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" } @@ -8871,14 +9975,13 @@ "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 + "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==", - "dev": true, + "devOptional": true, "engines": { "node": ">=8.6" }, @@ -9070,8 +10173,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise-inflight": { "version": "1.0.1", @@ -9079,6 +10181,11 @@ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, + "node_modules/promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", @@ -9092,6 +10199,31 @@ "node": ">=10" } }, + "node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -9125,7 +10257,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, "engines": { "node": ">=6" } @@ -9178,7 +10309,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -9290,7 +10420,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -9304,7 +10433,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -9399,7 +10528,6 @@ "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" } @@ -9408,7 +10536,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9488,7 +10615,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -9526,7 +10652,6 @@ "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" }, @@ -9541,7 +10666,6 @@ "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" @@ -9551,7 +10675,6 @@ "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", @@ -9571,7 +10694,6 @@ "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" }, @@ -9583,7 +10705,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -9611,6 +10732,23 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxfire": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.0.3.tgz", + "integrity": "sha512-77nkyffHh7jgfi1YA/N9RI+kWxYpgKk6GRML1lyersvaqbJt4hkvWwk1rWib9Rb5Lr5mT+Ha45lu7nM79sJCZA==", + "dependencies": { + "tslib": "^1.9.0 || ~2.1.0" + }, + "peerDependencies": { + "firebase": "^9.0.0", + "rxjs": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/rxfire/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, "node_modules/rxjs": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", @@ -9623,7 +10761,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -9639,11 +10776,18 @@ } ] }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { "version": "1.58.1", @@ -9732,6 +10876,30 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, + "node_modules/selenium-webdriver": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", + "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", + "dependencies": { + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "engines": { + "node": ">= 10.15.0" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, "node_modules/selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", @@ -9748,7 +10916,6 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -9763,7 +10930,6 @@ "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" }, @@ -9774,8 +10940,7 @@ "node_modules/semver/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { "version": "0.18.0", @@ -9847,7 +11012,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -9942,6 +11106,11 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -9998,8 +11167,7 @@ "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 + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/sigstore": { "version": "1.2.0", @@ -10070,6 +11238,19 @@ "encoding": "^0.1.13" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -10174,7 +11355,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, "engines": { "node": ">= 8" } @@ -10225,7 +11405,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10235,7 +11414,6 @@ "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" } @@ -10320,6 +11498,14 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "engines": { + "node": "*" + } + }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -10347,7 +11533,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -10356,7 +11541,6 @@ "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", @@ -10370,7 +11554,6 @@ "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" }, @@ -10424,7 +11607,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -10510,7 +11692,6 @@ "version": "5.3.7", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", - "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -10544,7 +11725,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -10560,7 +11740,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -10568,14 +11747,12 @@ "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/terser-webpack-plugin/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==", - "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -10593,7 +11770,6 @@ "version": "5.16.9", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", - "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -10663,6 +11839,11 @@ "node": "*" } }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -10672,8 +11853,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/thunky": { "version": "1.1.0", @@ -10685,7 +11865,6 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -10706,7 +11885,7 @@ "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, + "devOptional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -10723,6 +11902,11 @@ "node": ">=0.6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -10732,6 +11916,11 @@ "tree-kill": "cli.js" } }, + "node_modules/triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + }, "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", @@ -10806,7 +11995,6 @@ "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" }, @@ -10933,7 +12121,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -10951,7 +12138,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -10977,7 +12163,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -10985,8 +12170,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -11050,7 +12234,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -11072,16 +12255,19 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "dependencies": { "defaults": "^1.0.3" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "node_modules/webpack": { "version": "5.76.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", - "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -11242,7 +12428,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, "engines": { "node": ">=10.13.0" } @@ -11272,7 +12457,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -11288,7 +12472,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -11296,14 +12479,12 @@ "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/webpack/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==", - "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -11321,7 +12502,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -11335,11 +12515,24 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, "engines": { "node": ">=0.8.0" } }, + "node_modules/whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -11367,11 +12560,44 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, + "node_modules/winston": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", + "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "dependencies": { + "@colors/colors": "1.5.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", + "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 6.4.0" + } + }, "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", @@ -11388,7 +12614,6 @@ "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" }, @@ -11403,7 +12628,6 @@ "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" }, @@ -11414,20 +12638,17 @@ "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==", - "dev": true + "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==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, "engines": { "node": ">=10.0.0" }, @@ -11448,7 +12669,6 @@ "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" } @@ -11661,7 +12881,6 @@ "version": "15.2.5", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.5.tgz", "integrity": "sha512-ZfjEkAe2yYeekc3xjZ/U4pK9nb+w6BFwAEjou6mE8PWZH7iYskm0YCCXkmu+B+zViEcCLhAkJAxu9MwX4efd8g==", - "dev": true, "requires": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -11674,7 +12893,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -11682,8 +12900,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -11691,7 +12908,6 @@ "version": "15.2.5", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.5.tgz", "integrity": "sha512-zm7chQRQtPXQzzSAvK/mbZ+RJ3eP7hlU53yyJ/i6kjWAh3Y5uiSHNYGmqhhAHFuzw4Jhb4OC2S9iycxrqmI8TA==", - "dev": true, "requires": { "@angular-devkit/core": "15.2.5", "jsonc-parser": "3.2.0", @@ -11704,7 +12920,6 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -11712,8 +12927,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -11835,6 +13049,30 @@ "tslib": "^2.3.0" } }, + "@angular/fire": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.5.0.tgz", + "integrity": "sha512-M/JJ5SKnpfNZFLKl0Awjn3r2NhURy2Mx+E8EzSDWSg1sHD7IThrynZYPUSZR+cd3KGsGoEacIP2x8Ra+0a+CVg==", + "requires": { + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "file-loader": "^6.2.0", + "firebase": "^9.8.0", + "fs-extra": "^8.0.1", + "fuzzy": "^0.1.3", + "inquirer": "^8.1.1", + "inquirer-autocomplete-prompt": "^1.0.1", + "jsonc-parser": "^3.0.0", + "node-fetch": "^2.6.1", + "open": "^8.0.0", + "ora": "^5.3.0", + "rxfire": "^6.0.0", + "semver": "^7.1.3", + "triple-beam": "^1.3.0", + "tslib": "^2.0.0", + "winston": "^3.0.0" + } + }, "@angular/forms": { "version": "15.2.6", "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.6.tgz", @@ -13063,8 +14301,17 @@ "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + }, + "@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "requires": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } }, "@discoveryjs/json-ext": { "version": "0.5.7", @@ -13107,124 +14354,570 @@ "dev": true, "optional": true }, - "@esbuild/freebsd-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", - "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", - "dev": true, - "optional": true + "@esbuild/freebsd-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", + "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", + "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", + "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", + "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", + "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", + "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", + "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", + "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", + "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", + "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", + "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", + "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", + "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", + "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", + "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", + "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", + "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "dev": true, + "optional": true + }, + "@firebase/analytics": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.8.0.tgz", + "integrity": "sha512-wkcwainNm8Cu2xkJpDSHfhBSdDJn86Q1TZNmLWc67VrhZUHXIKXxIqb65/tNUVE+I8+sFiDDNwA+9R3MqTQTaA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-compat": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.13.tgz", + "integrity": "sha512-QC1DH/Dwc8fBihn0H+jocBWyE17GF1fOCpCrpAiQ2u16F/NqsVDVG4LjIqdhq963DXaXneNY7oDwa25Up682AA==", + "requires": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-types": "0.7.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/analytics-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz", + "integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ==" + }, + "@firebase/app": { + "version": "0.7.29", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.29.tgz", + "integrity": "sha512-jT47plTi/O0lpXEXPx5t/dH/3BVnP9Tq/D8SZkhMUXPYlYDudvepIiV3VOW8XxbbHU/X+JyY0qG5CoWxIk0teg==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.12.tgz", + "integrity": "sha512-l+MmvupSGT/F+I5ei7XjhEfpoL4hLVJr0vUwcG5NEf2hAkQnySli9fnbl9fZu1BJaQ2kthrMmtg1gcbcM9BUCQ==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-compat": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.12.tgz", + "integrity": "sha512-GFppNLlUyMN9Iq31ME/+GkjRVKlc+MeanzUKQ9UaR73ZsYH3oX3Ja+xjoYgixaVJDDG+ofBYR7ZXTkkQdSR/pw==", + "requires": { + "@firebase/app-check": "0.5.12", + "@firebase/app-check-types": "0.4.0", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/app-check-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz", + "integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA==" + }, + "@firebase/app-check-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.4.0.tgz", + "integrity": "sha512-SsWafqMABIOu7zLgWbmwvHGOeQQVQlwm42kwwubsmfLmL4Sf5uGpBfDhQ0CAkpi7bkJ/NwNFKafNDL9prRNP0Q==" + }, + "@firebase/app-compat": { + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.30.tgz", + "integrity": "sha512-t51oJEJzjts4D5C7Nol0Ua7dqhpQSlcWSa7X1VtL+zjcTZ92ibYmwQjXomexBmlKvCUamGClMAEBfEgUtr0Wug==", + "requires": { + "@firebase/app": "0.7.29", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/app-types": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz", + "integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg==" + }, + "@firebase/auth": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.20.5.tgz", + "integrity": "sha512-SbKj7PCAuL0lXEToUOoprc1im2Lr/bzOePXyPC7WWqVgdVBt0qovbfejlzKYwJLHUAPg9UW1y3XYe3IlbXr77w==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + } + }, + "@firebase/auth-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.18.tgz", + "integrity": "sha512-Fw2PJS0G/tGrfyEBcYJQ42sfy5+sANrK5xd7tuzgV7zLFW5rYkHUIZngXjuOBwLOcfO2ixa/FavfeJle3oJ38Q==", + "requires": { + "@firebase/auth": "0.20.5", + "@firebase/auth-types": "0.11.0", + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "selenium-webdriver": "4.1.2", + "tslib": "^2.1.0" + } + }, + "@firebase/auth-interop-types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz", + "integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g==", + "requires": {} + }, + "@firebase/auth-types": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz", + "integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw==", + "requires": {} + }, + "@firebase/component": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.17.tgz", + "integrity": "sha512-mTM5CBSIlmI+i76qU4+DhuExnWtzcPS3cVgObA3VAjliPPr3GrUlTaaa8KBGfxsD27juQxMsYA0TvCR5X+GQ3Q==", + "requires": { + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/database": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.13.3.tgz", + "integrity": "sha512-ZE+QJqQUaCTZiIzGq3RJLo64HRMtbdaEwyDhfZyPEzMJV4kyLsw3cHdEHVCtBmdasTvwtpO2YRFmd4AXAoKtNw==", + "requires": { + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "@firebase/database-compat": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.2.3.tgz", + "integrity": "sha512-uwSMnbjlSQM5gQRq8OoBLs7uc7obwsl0D6kSDAnMOlPtPl9ert79Rq9faU/COjybsJ8l7tNXMVYYJo3mQ5XNrA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/database": "0.13.3", + "@firebase/database-types": "0.9.11", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/database-types": { + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.11.tgz", + "integrity": "sha512-27V3eFomWCZqLR6qb3Q9eS2lsUtulhSHeDNaL6fImwnhvMYTmf6ZwMfRWupgi8AFwW4s91g9Oc1/fkQtJGHKQw==", + "requires": { + "@firebase/app-types": "0.7.0", + "@firebase/util": "1.6.3" + } + }, + "@firebase/firestore": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.4.13.tgz", + "integrity": "sha512-wLsbWflFoWDg9NprulzTAjtapLA3dfaG1Dsa9OUsgPRDGg5jfeo60n43d94fesX4crE+C5vkFhLQKMgsEGpr9w==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "@firebase/webchannel-wrapper": "0.6.2", + "@grpc/grpc-js": "^1.3.2", + "@grpc/proto-loader": "^0.6.13", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-compat": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.22.tgz", + "integrity": "sha512-1HWmJtbxhDzAV7984XSQX7tp0MzjhRFnBygpU6k6H2m0Ey9JVDTPK8lIlZCctjCCA2cBsek7yAD+rDnpWC+KRw==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/firestore": "3.4.13", + "@firebase/firestore-types": "2.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/firestore-types": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz", + "integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA==", + "requires": {} + }, + "@firebase/functions": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.8.4.tgz", + "integrity": "sha512-o1bB0xMyQKe+b246zGnjwHj4R6BH4mU2ZrSaa/3QvTpahUQ3hqYfkZPLOXCU7+vEFxHb3Hd4UUjkFhxoAcPqLA==", + "requires": { + "@firebase/app-check-interop-types": "0.1.0", + "@firebase/auth-interop-types": "0.1.6", + "@firebase/component": "0.5.17", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } + }, + "@firebase/functions-compat": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.2.4.tgz", + "integrity": "sha512-Crfn6il1yXGuXkjSd8nKrqR4XxPvuP19g64bXpM6Ix67qOkQg676kyOuww0FF17xN0NSXHfG8Pyf+CUrx8wJ5g==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/functions": "0.8.4", + "@firebase/functions-types": "0.5.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/functions-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz", + "integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA==" + }, + "@firebase/installations": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.12.tgz", + "integrity": "sha512-Zq43fCE0PB5tGJ3ojzx5RNQzKdej1188qgAk22rwjuhP7npaG/PlJqDG1/V0ZjTLRePZ1xGrfXSPlA17c/vtNw==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "@firebase/installations-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.1.12.tgz", + "integrity": "sha512-BIhFpWIn/GkuOa+jnXkp3SDJT2RLYJF6MWpinHIBKFJs7MfrgYZ3zQ1AlhobDEql+bkD1dK4dB5sNcET2T+EyA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/installations-types": "0.4.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } + }, + "@firebase/installations-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.4.0.tgz", + "integrity": "sha512-nXxWKQDvBGctuvsizbUEJKfxXU9WAaDhon+j0jpjIfOJkvkj3YHqlLB/HeYjpUn85Pb22BjplpTnDn4Gm9pc3A==", + "requires": {} + }, + "@firebase/logger": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.3.tgz", + "integrity": "sha512-POTJl07jOKTOevLXrTvJD/VZ0M6PnJXflbAh5J9VGkmtXPXNG6MdZ9fmRgqYhXKTaDId6AQenQ262uwgpdtO0Q==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@firebase/messaging": { + "version": "0.9.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.16.tgz", + "integrity": "sha512-Yl9gGrAvJF6C1gg3+Cr2HxlL6APsDEkrorkFafmSP1l+rg1epZKoOAcKJbSF02Vtb50wfb9FqGGy8tzodgETxg==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/messaging-interop-types": "0.1.0", + "@firebase/util": "1.6.3", + "idb": "7.0.1", + "tslib": "^2.1.0" + } + }, + "@firebase/messaging-compat": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.16.tgz", + "integrity": "sha512-uG7rWcXJzU8vvlEBFpwG1ndw/GURrrmKcwsHopEWbsPGjMRaVWa7XrdKbvIR7IZohqPzcC/V9L8EeqF4Q4lz8w==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/messaging": "0.9.16", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/freebsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", - "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", - "dev": true, - "optional": true + "@firebase/messaging-interop-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz", + "integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ==" + }, + "@firebase/performance": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.12.tgz", + "integrity": "sha512-MPVTkOkGrm2SMQgI1FPNBm85y2pPqlPb6VDjIMCWkVpAr6G1IZzUT24yEMySRcIlK/Hh7/Qu1Nu5ASRzRuX6+Q==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-arm": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", - "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", - "dev": true, - "optional": true + "@firebase/performance-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.12.tgz", + "integrity": "sha512-IBORzUeGY1MGdZnsix9Mu5z4+C3WHIwalu0usxvygL0EZKHztGG8bppYPGH/b5vvg8QyHs9U+Pn1Ot2jZhffQQ==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/performance": "0.5.12", + "@firebase/performance-types": "0.1.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", - "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", - "dev": true, - "optional": true + "@firebase/performance-types": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz", + "integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w==" }, - "@esbuild/linux-ia32": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", - "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", - "dev": true, - "optional": true + "@firebase/polyfill": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", + "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", + "requires": { + "core-js": "3.6.5", + "promise-polyfill": "8.1.3", + "whatwg-fetch": "2.0.4" + } }, - "@esbuild/linux-loong64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", - "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", - "dev": true, - "optional": true + "@firebase/remote-config": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.11.tgz", + "integrity": "sha512-qA84dstrvVpO7rWT/sb2CLv1kjHVmz59SRFPKohJJYFBcPOGK4Pe4FWWhKAE9yg1Gnl0qYAGkahOwNawq3vE0g==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/installations": "0.5.12", + "@firebase/logger": "0.3.3", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-mips64el": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", - "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", - "dev": true, - "optional": true + "@firebase/remote-config-compat": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.12.tgz", + "integrity": "sha512-Yz7Gtb2rLa7ykXZX9DnSTId8CXd++jFFLW3foUImrYwJEtWgLJc7gwkRfd1M73IlKGNuQAY+DpUNF0n1dLbecA==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/logger": "0.3.3", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-types": "0.2.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-ppc64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", - "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", - "dev": true, - "optional": true + "@firebase/remote-config-types": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz", + "integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw==" }, - "@esbuild/linux-riscv64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", - "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", - "dev": true, - "optional": true + "@firebase/storage": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.9.9.tgz", + "integrity": "sha512-Zch7srLT2SIh9y2nCVv/4Kne0HULn7OPkmreY70BJTUJ+g5WLRjggBq6x9fV5ls9V38iqMWfn4prxzX8yIc08A==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/util": "1.6.3", + "node-fetch": "2.6.7", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-s390x": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", - "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", - "dev": true, - "optional": true + "@firebase/storage-compat": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.17.tgz", + "integrity": "sha512-nOYmnpI0gwoz5nROseMi9WbmHGf+xumfsOvdPyMZAjy0VqbDnpKIwmTUZQBdR+bLuB5oIkHQsvw9nbb1SH+PzQ==", + "requires": { + "@firebase/component": "0.5.17", + "@firebase/storage": "0.9.9", + "@firebase/storage-types": "0.6.0", + "@firebase/util": "1.6.3", + "tslib": "^2.1.0" + } }, - "@esbuild/linux-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", - "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", - "dev": true, - "optional": true + "@firebase/storage-types": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz", + "integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA==", + "requires": {} }, - "@esbuild/netbsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", - "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", - "dev": true, - "optional": true + "@firebase/util": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.6.3.tgz", + "integrity": "sha512-FujteO6Zjv6v8A4HS+t7c+PjU0Kaxj+rOnka0BsI/twUaCC9t8EQPmXpWZdk7XfszfahJn2pqsflUWUhtUkRlg==", + "requires": { + "tslib": "^2.1.0" + } }, - "@esbuild/openbsd-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", - "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", - "dev": true, - "optional": true + "@firebase/webchannel-wrapper": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz", + "integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ==" }, - "@esbuild/sunos-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", - "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", - "dev": true, - "optional": true + "@fortawesome/angular-fontawesome": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.12.1.tgz", + "integrity": "sha512-vGGUfmWhsCtC+wUhnLXPeWBod33XKMFERwvD21LTbVBOCwUDUfwcS9nqfTmrULcpFl/bn20REZH/1vSreWd3ZA==", + "requires": { + "tslib": "^2.4.1" + } }, - "@esbuild/win32-arm64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", - "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", - "dev": true, - "optional": true + "@fortawesome/fontawesome-common-types": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", + "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==" }, - "@esbuild/win32-ia32": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", - "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", - "dev": true, - "optional": true + "@fortawesome/fontawesome-svg-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", + "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.4.0" + } }, - "@esbuild/win32-x64": { - "version": "0.17.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", - "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", - "dev": true, - "optional": true + "@fortawesome/free-solid-svg-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", + "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "requires": { + "@fortawesome/fontawesome-common-types": "6.4.0" + } }, "@gar/promisify": { "version": "1.1.3", @@ -13232,6 +14925,127 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "@grpc/grpc-js": { + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.13.tgz", + "integrity": "sha512-iY3jsdfbc0ARoCLFvbvUB8optgyb0r1XLPb142u+QtgBcKJYkCIFt3Fd/881KqjLYWjsBJF57N3b8Eop9NDfUA==", + "requires": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "dependencies": { + "@grpc/proto-loader": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.6.tgz", + "integrity": "sha512-QyAXR8Hyh7uMDmveWxDSUcJr9NAWaZ2I6IXgAYvQmfflwouTM+rArE2eEaCtLlRqO81j7pRLCt81IefUei6Zbw==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + } + }, + "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" + } + }, + "protobufjs": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", + "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "dependencies": { + "long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + } + } + }, + "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==" + } + } + }, + "@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "requires": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "dependencies": { + "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" + } + }, + "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==" + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -13264,20 +15078,17 @@ "@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 + "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==", - "dev": true + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, "@jridgewell/source-map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -13287,7 +15098,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -13299,14 +15109,12 @@ "@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "@jridgewell/trace-mapping": { "version": "0.3.18", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, "requires": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" @@ -13315,8 +15123,7 @@ "@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 + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" } } }, @@ -13479,11 +15286,70 @@ } } }, + "@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==", + "peer": true + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "@schematics/angular": { "version": "15.2.5", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.5.tgz", "integrity": "sha512-YN0A5bzuqEmLdwbcQRop9TFj0QVxTC/XCL0K5DfDymVBS2j09NMyLLVc6TDOs+J/fMQr5EwiT149ikzqiUmAcw==", - "dev": true, "requires": { "@angular-devkit/core": "15.2.5", "@angular-devkit/schematics": "15.2.5", @@ -13592,7 +15458,6 @@ "version": "8.37.0", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", - "dev": true, "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -13602,7 +15467,6 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, "requires": { "@types/eslint": "*", "@types/estree": "*" @@ -13611,8 +15475,7 @@ "@types/estree": { "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "@types/express": { "version": "4.17.17", @@ -13655,8 +15518,12 @@ "@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==", - "dev": true + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" }, "@types/mime": { "version": "3.0.1", @@ -13667,8 +15534,7 @@ "@types/node": { "version": "18.15.11", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" }, "@types/parse-json": { "version": "4.0.0", @@ -13722,6 +15588,11 @@ "@types/node": "*" } }, + "@types/triple-beam": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", + "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" + }, "@types/ws": { "version": "8.5.4", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", @@ -13735,7 +15606,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -13744,26 +15614,22 @@ "@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==", - "dev": true + "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==", - "dev": true + "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==", - "dev": true + "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==", - "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -13773,14 +15639,12 @@ "@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==", - "dev": true + "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==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -13792,7 +15656,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } @@ -13801,7 +15664,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, "requires": { "@xtuc/long": "4.2.2" } @@ -13809,14 +15671,12 @@ "@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true + "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==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -13832,7 +15692,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -13845,7 +15704,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -13857,7 +15715,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -13871,7 +15728,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -13880,14 +15736,12 @@ "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "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==", - "dev": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "@yarnpkg/lockfile": { "version": "1.1.0", @@ -13920,14 +15774,12 @@ "acorn": { "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "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==", - "dev": true, "requires": {} }, "adjust-sourcemap-loader": { @@ -13987,7 +15839,6 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -13999,7 +15850,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "requires": { "ajv": "^8.0.0" } @@ -14023,7 +15873,6 @@ "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" } @@ -14037,8 +15886,7 @@ "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 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", @@ -14053,7 +15901,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "devOptional": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -14090,6 +15938,11 @@ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, "autoprefixer": { "version": "10.4.13", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", @@ -14168,14 +16021,12 @@ "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 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "base64id": { "version": "2.0.0", @@ -14192,20 +16043,18 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "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==", - "dev": true + "devOptional": true }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "requires": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -14267,6 +16116,17 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, + "boostrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/boostrap/-/boostrap-2.0.0.tgz", + "integrity": "sha512-JEeFMOweKeGXEM9rt95eaVISOkluG9aKcl0jQCETOVH9jynCZxuBZe2oWgcWJpj5wqYWZl625SnW7OgHT2Ineg==" + }, + "bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", + "requires": {} + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -14280,7 +16140,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "devOptional": true, "requires": { "fill-range": "^7.0.1" } @@ -14289,7 +16149,6 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001449", "electron-to-chromium": "^1.4.284", @@ -14301,7 +16160,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -14310,8 +16168,7 @@ "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 + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "builtins": { "version": "5.0.1", @@ -14382,8 +16239,7 @@ "caniuse-lite": { "version": "1.0.30001478", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz", - "integrity": "sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==", - "dev": true + "integrity": "sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==" }, "chalk": { "version": "2.4.2", @@ -14399,14 +16255,13 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, + "devOptional": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -14427,8 +16282,7 @@ "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, "clean-stack": { "version": "2.2.0", @@ -14440,7 +16294,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "requires": { "restore-cursor": "^3.1.0" } @@ -14448,14 +16301,12 @@ "cli-spinners": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", - "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", - "dev": true + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==" }, "cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, "cliui": { "version": "8.0.1", @@ -14471,8 +16322,7 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" }, "clone-deep": { "version": "4.0.1", @@ -14485,11 +16335,19 @@ "shallow-clone": "^3.0.0" } }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.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" } @@ -14497,8 +16355,16 @@ "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 + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } }, "color-support": { "version": "1.1.3", @@ -14512,11 +16378,19 @@ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, + "colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "requires": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "commondir": { "version": "1.0.1", @@ -14580,8 +16454,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "connect": { "version": "3.7.0", @@ -14691,6 +16564,11 @@ } } }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, "core-js-compat": { "version": "3.30.0", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.0.tgz", @@ -14703,8 +16581,7 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cors": { "version": "2.8.5", @@ -14891,7 +16768,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "requires": { "clone": "^1.0.2" } @@ -14899,8 +16775,7 @@ "define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" }, "delegates": { "version": "1.0.0", @@ -15020,20 +16895,22 @@ "electron-to-chromium": { "version": "1.4.359", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.359.tgz", - "integrity": "sha512-OoVcngKCIuNXtZnsYoqlCvr0Cf3NIPzDIgwUfI9bdTFjXCrr79lI0kwQstLPZ7WhCezLlGksZk/BFAzoXC7GDw==", - "dev": true + "integrity": "sha512-OoVcngKCIuNXtZnsYoqlCvr0Cf3NIPzDIgwUfI9bdTFjXCrr79lI0kwQstLPZ7WhCezLlGksZk/BFAzoXC7GDw==" }, "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 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, "encodeurl": { "version": "1.0.2", @@ -15045,7 +16922,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "requires": { "iconv-lite": "^0.6.2" @@ -15055,7 +16931,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -15091,7 +16966,6 @@ "version": "5.12.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -15143,8 +17017,7 @@ "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==", - "dev": true + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" }, "esbuild": { "version": "0.17.8", @@ -15186,8 +17059,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", @@ -15198,14 +17070,12 @@ "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 + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -15221,7 +17091,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -15229,16 +17098,14 @@ "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.3", @@ -15267,8 +17134,7 @@ "events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "execa": { "version": "5.1.1", @@ -15418,7 +17284,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -15428,8 +17293,7 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { "version": "3.2.12", @@ -15447,8 +17311,7 @@ "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 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fastq": { "version": "1.15.0", @@ -15463,25 +17326,81 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, "requires": { "websocket-driver": ">=0.5.1" } }, + "fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } }, + "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" + }, + "dependencies": { + "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-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "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==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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" + } + } + } + }, "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, + "devOptional": true, "requires": { "to-regex-range": "^5.0.1" } @@ -15548,12 +17467,51 @@ "path-exists": "^4.0.0" } }, + "firebase": { + "version": "9.9.1", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-9.9.1.tgz", + "integrity": "sha512-1saLd91mmfNWOdP3DpkCAyXcrwB0iJXZoYY8S98ljp1erL+eUPHu+AHw8ImjynVIejSX07NHgla3mQP0bIniZA==", + "requires": { + "@firebase/analytics": "0.8.0", + "@firebase/analytics-compat": "0.1.13", + "@firebase/app": "0.7.29", + "@firebase/app-check": "0.5.12", + "@firebase/app-check-compat": "0.2.12", + "@firebase/app-compat": "0.1.30", + "@firebase/app-types": "0.7.0", + "@firebase/auth": "0.20.5", + "@firebase/auth-compat": "0.2.18", + "@firebase/database": "0.13.3", + "@firebase/database-compat": "0.2.3", + "@firebase/firestore": "3.4.13", + "@firebase/firestore-compat": "0.1.22", + "@firebase/functions": "0.8.4", + "@firebase/functions-compat": "0.2.4", + "@firebase/installations": "0.5.12", + "@firebase/installations-compat": "0.1.12", + "@firebase/messaging": "0.9.16", + "@firebase/messaging-compat": "0.1.16", + "@firebase/performance": "0.5.12", + "@firebase/performance-compat": "0.1.12", + "@firebase/polyfill": "0.3.36", + "@firebase/remote-config": "0.3.11", + "@firebase/remote-config-compat": "0.1.12", + "@firebase/storage": "0.9.9", + "@firebase/storage-compat": "0.1.17", + "@firebase/util": "1.6.3" + } + }, "flatted": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, + "fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, "follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", @@ -15582,7 +17540,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -15607,8 +17564,7 @@ "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 + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -15623,6 +17579,11 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "fuzzy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", + "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==" + }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -15648,8 +17609,7 @@ "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 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { "version": "1.2.0", @@ -15691,7 +17651,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "devOptional": true, "requires": { "is-glob": "^4.0.1" } @@ -15699,8 +17659,7 @@ "glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "globals": { "version": "11.12.0", @@ -15724,8 +17683,7 @@ "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "handle-thing": { "version": "2.0.1", @@ -15886,8 +17844,7 @@ "http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" }, "http-proxy": { "version": "1.18.1", @@ -15953,7 +17910,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -15965,11 +17921,15 @@ "dev": true, "requires": {} }, + "idb": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.0.1.tgz", + "integrity": "sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { "version": "5.2.4", @@ -16004,6 +17964,11 @@ "dev": true, "optional": true }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "immutable": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", @@ -16050,7 +18015,6 @@ "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" @@ -16059,8 +18023,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "3.0.1", @@ -16072,7 +18035,6 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -16095,7 +18057,6 @@ "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" } @@ -16104,7 +18065,6 @@ "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" @@ -16114,7 +18074,6 @@ "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" } @@ -16122,23 +18081,90 @@ "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 + "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==", - "dev": true + "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" + } + } + } + }, + "inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.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==" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.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==", - "dev": true, "requires": { "has-flag": "^4.0.0" } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -16164,7 +18190,7 @@ "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, + "devOptional": true, "requires": { "binary-extensions": "^2.0.0" } @@ -16181,35 +18207,32 @@ "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true + "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==", - "dev": true + "devOptional": 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 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "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, + "devOptional": true, "requires": { "is-extglob": "^2.1.1" } }, "is-interactive": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" }, "is-lambda": { "version": "1.0.1", @@ -16221,7 +18244,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "devOptional": true }, "is-plain-obj": { "version": "3.0.0", @@ -16241,14 +18264,12 @@ "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 + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, "is-what": { "version": "3.14.1", @@ -16260,7 +18281,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, "requires": { "is-docker": "^2.0.0" } @@ -16268,8 +18288,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isbinaryfile": { "version": "4.0.10", @@ -16383,7 +18402,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -16393,14 +18411,12 @@ "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 + "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==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -16432,32 +18448,27 @@ "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 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -16468,6 +18479,46 @@ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + }, + "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", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "karma": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", @@ -16663,6 +18714,11 @@ "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true }, + "kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, "less": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", @@ -16733,6 +18789,14 @@ "webpack-sources": "^3.0.0" } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, "lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -16742,8 +18806,7 @@ "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, "loader-utils": { "version": "3.2.1", @@ -16763,8 +18826,12 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" }, "lodash.debounce": { "version": "4.0.8", @@ -16776,7 +18843,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -16786,7 +18852,6 @@ "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" } @@ -16795,7 +18860,6 @@ "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" @@ -16805,7 +18869,6 @@ "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" } @@ -16813,20 +18876,17 @@ "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 + "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==", - "dev": true + "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==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -16846,6 +18906,24 @@ "streamroller": "^3.1.5" } }, + "logform": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz", + "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==", + "requires": { + "@colors/colors": "1.5.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + } + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -16859,7 +18937,6 @@ "version": "0.29.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, "requires": { "@jridgewell/sourcemap-codec": "^1.4.13" } @@ -17030,8 +19107,7 @@ "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 + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", @@ -17064,14 +19140,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "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==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -17079,8 +19153,7 @@ "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 + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "mini-css-extract-plugin": { "version": "2.7.2", @@ -17317,8 +19390,7 @@ "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multicast-dns": { "version": "7.2.5", @@ -17333,8 +19405,7 @@ "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, "nanoid": { "version": "3.3.6", @@ -17385,8 +19456,23 @@ "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "ngx-pagination": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ngx-pagination/-/ngx-pagination-6.0.3.tgz", + "integrity": "sha512-lONjTQ7hFPh1SyhwDrRd5ZwM4NMGQ7bNR6vLrs6mrU0Z8Q1zCcWbf/pvyp4DOlGyd9uyZxRy2wUsSZLeIPjbAw==", + "requires": { + "tslib": "^2.3.0" + } + }, + "ngx-toastr": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-16.1.0.tgz", + "integrity": "sha512-jMnkauggRE8264vR4NtOgK3QI7zmufO3Z7wrkg3j7A7ZVpkCKDXgklsAZM9aiHxDyttM2K+Na6a6L004uPeRKA==", + "requires": { + "tslib": "^2.3.0" + } }, "nice-napi": { "version": "1.0.2", @@ -17406,6 +19492,14 @@ "dev": true, "optional": true }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -17484,8 +19578,7 @@ "node-releases": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" }, "nopt": { "version": "6.0.0", @@ -17512,7 +19605,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "devOptional": true }, "normalize-range": { "version": "0.1.2", @@ -17702,16 +19795,22 @@ "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" } }, + "one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "requires": { + "fn.name": "1.x.x" + } + }, "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" } @@ -17720,7 +19819,6 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", - "dev": true, "requires": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -17731,7 +19829,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "requires": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -17748,7 +19845,6 @@ "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" } @@ -17757,7 +19853,6 @@ "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" @@ -17767,7 +19862,6 @@ "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" } @@ -17775,20 +19869,17 @@ "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 + "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==", - "dev": true + "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==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -17798,8 +19889,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, "p-limit": { "version": "2.3.0", @@ -17881,8 +19971,7 @@ "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "parent-module": { "version": "1.0.1", @@ -17995,8 +20084,7 @@ "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 + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -18049,14 +20137,13 @@ "picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "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==", - "dev": true + "devOptional": true }, "pify": { "version": "4.0.1", @@ -18175,8 +20262,7 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise-inflight": { "version": "1.0.1", @@ -18184,6 +20270,11 @@ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "dev": true }, + "promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, "promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", @@ -18194,6 +20285,26 @@ "retry": "^0.12.0" } }, + "protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + } + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -18222,8 +20333,7 @@ "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "qjobs": { "version": "1.2.0", @@ -18250,7 +20360,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -18336,7 +20445,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -18347,7 +20455,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "devOptional": true, "requires": { "picomatch": "^2.2.1" } @@ -18428,14 +20536,12 @@ "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 + "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==", - "dev": true + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "requires-port": { "version": "1.0.0", @@ -18496,7 +20602,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "requires": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -18524,7 +20629,6 @@ "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" }, @@ -18533,7 +20637,6 @@ "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" @@ -18543,7 +20646,6 @@ "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", @@ -18557,7 +20659,6 @@ "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" } @@ -18567,8 +20668,7 @@ "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" }, "run-parallel": { "version": "1.2.0", @@ -18579,6 +20679,21 @@ "queue-microtask": "^1.2.2" } }, + "rxfire": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.0.3.tgz", + "integrity": "sha512-77nkyffHh7jgfi1YA/N9RI+kWxYpgKk6GRML1lyersvaqbJt4hkvWwk1rWib9Rb5Lr5mT+Ha45lu7nM79sJCZA==", + "requires": { + "tslib": "^1.9.0 || ~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, "rxjs": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", @@ -18590,14 +20705,17 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { "version": "1.58.1", @@ -18645,6 +20763,26 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, + "selenium-webdriver": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", + "integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", + "requires": { + "jszip": "^3.6.0", + "tmp": "^0.2.1", + "ws": ">=7.4.6" + }, + "dependencies": { + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, "selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", @@ -18658,7 +20796,6 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, "requires": { "lru-cache": "^6.0.0" }, @@ -18667,7 +20804,6 @@ "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" } @@ -18675,8 +20811,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -18742,7 +20877,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -18827,6 +20961,11 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -18871,8 +21010,7 @@ "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 + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "sigstore": { "version": "1.2.0", @@ -18928,6 +21066,21 @@ } } }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -19008,8 +21161,7 @@ "source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" }, "source-map-js": { "version": "1.0.2", @@ -19043,7 +21195,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -19052,8 +21203,7 @@ "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 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -19131,6 +21281,11 @@ "minipass": "^4.0.0" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" + }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -19152,7 +21307,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -19161,7 +21315,6 @@ "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", @@ -19172,7 +21325,6 @@ "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" } @@ -19207,8 +21359,7 @@ "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, "tar": { "version": "6.1.13", @@ -19274,7 +21425,6 @@ "version": "5.3.7", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", - "dev": true, "requires": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -19287,7 +21437,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -19299,20 +21448,17 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "requires": {} }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -19323,7 +21469,6 @@ "version": "5.16.9", "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.9.tgz", "integrity": "sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==", - "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -19379,6 +21524,11 @@ } } }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -19388,8 +21538,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "thunky": { "version": "1.1.0", @@ -19401,7 +21550,6 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -19416,7 +21564,7 @@ "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, + "devOptional": true, "requires": { "is-number": "^7.0.0" } @@ -19427,12 +21575,22 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "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 }, + "triple-beam": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", + "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" + }, "tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", @@ -19494,8 +21652,7 @@ "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 + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, "type-is": { "version": "1.6.18", @@ -19574,8 +21731,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unpipe": { "version": "1.0.0", @@ -19587,7 +21743,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -19597,7 +21752,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -19605,8 +21759,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", @@ -19655,7 +21808,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, "requires": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -19674,16 +21826,19 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "requires": { "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "webpack": { "version": "5.76.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", - "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -19715,7 +21870,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -19727,20 +21881,17 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "requires": {} }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -19827,8 +21978,7 @@ "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-subresource-integrity": { "version": "5.1.0", @@ -19843,7 +21993,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, "requires": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -19853,8 +22002,21 @@ "websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } }, "which": { "version": "1.3.1", @@ -19880,11 +22042,38 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, + "winston": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", + "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "requires": { + "@colors/colors": "1.5.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.5.0" + } + }, + "winston-transport": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz", + "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==", + "requires": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.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", @@ -19895,7 +22084,6 @@ "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" } @@ -19904,7 +22092,6 @@ "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" } @@ -19912,29 +22099,25 @@ "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 + "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==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "ws": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, "requires": {} }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "3.1.1", diff --git a/package.json b/package.json index f13324f..d6ee287 100644 --- a/package.json +++ b/package.json @@ -10,14 +10,23 @@ }, "private": true, "dependencies": { - "@angular/animations": "^15.2.0", + "@angular/animations": "^15.2.6", "@angular/common": "^15.2.0", "@angular/compiler": "^15.2.0", "@angular/core": "^15.2.0", + "@angular/fire": "^7.5.0", "@angular/forms": "^15.2.0", "@angular/platform-browser": "^15.2.0", "@angular/platform-browser-dynamic": "^15.2.0", "@angular/router": "^15.2.0", + "@fortawesome/angular-fontawesome": "^0.12.1", + "@fortawesome/fontawesome-svg-core": "^6.2.1", + "@fortawesome/free-solid-svg-icons": "^6.2.1", + "boostrap": "^2.0.0", + "bootstrap": "^5.2.3", + "firebase": "^9.9.1", + "ngx-pagination": "^6.0.3", + "ngx-toastr": "^16.1.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.12.0" @@ -35,4 +44,4 @@ "karma-jasmine-html-reporter": "~2.0.0", "typescript": "~4.9.4" } -} +} \ No newline at end of file diff --git a/src/app/add-article/add-article.component.html b/src/app/add-article/add-article.component.html new file mode 100644 index 0000000..f53e5bf --- /dev/null +++ b/src/app/add-article/add-article.component.html @@ -0,0 +1,46 @@ + +
+

Add article

+
+
+
+
+
+
+ + + +

+ *Please provide libelle +

+

+ *Libelle shouldn't be less than 2 words +

+
+
+ + +
+
+
+
+ + + +

+ *Please provide quantity +

+
+
+
+ + +
+
+
+
+
\ No newline at end of file diff --git a/src/app/add-article/add-article.component.ts b/src/app/add-article/add-article.component.ts new file mode 100644 index 0000000..77efb28 --- /dev/null +++ b/src/app/add-article/add-article.component.ts @@ -0,0 +1,47 @@ +import { Component, OnInit } from '@angular/core'; +import { CrudService } from '../shared/crud.service'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { ToastrService } from 'ngx-toastr'; + +@Component({ + selector: 'app-add-article', + templateUrl: './add-article.component.html', +}) +export class AddArticleComponent implements OnInit { + public articleForm!: FormGroup; + constructor( + public crudApi: CrudService, + public fb: FormBuilder, + public toastr: ToastrService + ) {} + ngOnInit() { + this.crudApi.GetArticlesList(); + this.articlForm(); + } + articlForm() { + this.articleForm = this.fb.group({ + libelle: ['', [Validators.required, Validators.minLength(2)]], + shortTag: ['', [Validators.required]], + quantity: ['', [Validators.required]], + }); + } + get libelle() { + return this.articleForm.get('libelle'); + } + get shortTag() { + return this.articleForm.get('shortTag'); + } + get quantity() { + return this.articleForm.get('quantity'); + } + ResetForm() { + this.articleForm.reset(); + } + submitArticleData() { + this.crudApi.AddArticle(this.articleForm.value); + this.toastr.success( + this.articleForm.controls['libelle'].value + ' successfully added!' + ); + this.ResetForm(); + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0297262..a347baf 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,8 +1,26 @@ import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router'; - -const routes: Routes = []; - +import { SignInComponent } from './components/sign-in/sign-in.component'; +import { SignUpComponent } from './components/sign-up/sign-up.component'; +import { DashboardComponent } from './components/dashboard/dashboard.component'; +import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component'; +import { VerifyEmailComponent } from './components/verify-email/verify-email.component'; +import { AddArticleComponent } from './add-article/add-article.component'; +import { ArticleListComponent } from './article-list/article-list.component'; +import { EditArticleComponent } from './edit-article/edit-article.component'; +// route guard +import { AuthGuard } from './shared/guard/auth.guard'; +const routes: Routes = [ + { path: '', redirectTo: '/sign-in', pathMatch: 'full' }, + { path: 'sign-in', component: SignInComponent }, + { path: 'register-user', component: SignUpComponent }, + { path: 'dashboard', component: DashboardComponent, canActivate: [AuthGuard] }, + { path: 'forgot-password', component: ForgotPasswordComponent }, + { path: 'verify-email-address', component: VerifyEmailComponent }, + { path: 'register-article', component: AddArticleComponent, canActivate: [AuthGuard] }, + { path: 'view-articles', component: ArticleListComponent, canActivate: [AuthGuard] }, + { path: 'edit-article/:id', component: EditArticleComponent, canActivate: [AuthGuard] } +]; @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] diff --git a/src/app/app.component.html b/src/app/app.component.html index 2a0fbf1..90c6b64 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,484 +1 @@ - - - - - - - - - - - - - - -
- - -
- - - Rocket Ship - - - - - - - - - - {{ title }} app is running! - - - Rocket Ship Smoke - - - -
- - -

Resources

-

Here are some links to help you get started:

- - - - -

Next Steps

-

What do you want to do next with your app?

- - - -
- - - - - - - - - - - -
- - -
-
ng generate component xyz
-
ng add @angular/material
-
ng add @angular/pwa
-
ng add _____
-
ng test
-
ng build
-
- - - - - - - - - Gray Clouds Background - - - -
- - - - - - - - - - + \ No newline at end of file diff --git a/src/app/app.component.scss b/src/app/app.component.scss deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts deleted file mode 100644 index 1b88781..0000000 --- a/src/app/app.component.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'angularProject'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('angularProject'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('.content span')?.textContent).toContain('angularProject app is running!'); - }); -}); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 1aa8b2e..967833b 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -3,8 +3,6 @@ import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', - styleUrls: ['./app.component.scss'] }) export class AppComponent { - title = 'angularProject'; } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b1c6c96..9b50bd7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -3,16 +3,58 @@ import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { ToastrModule } from 'ngx-toastr'; +import { ReactiveFormsModule } from '@angular/forms'; + +// Firebase services + environment module +import { AngularFireModule } from '@angular/fire/compat'; +import { AngularFireAuthModule } from '@angular/fire/compat/auth'; +import { AngularFireStorageModule } from '@angular/fire/compat/storage'; +import { AngularFirestoreModule } from '@angular/fire/compat/firestore'; +import { AngularFireDatabaseModule } from '@angular/fire/compat/database'; +import { environment } from '../environments/environment'; +import { DashboardComponent } from './components/dashboard/dashboard.component'; +import { SignInComponent } from './components/sign-in/sign-in.component'; +import { SignUpComponent } from './components/sign-up/sign-up.component'; +import { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component'; +import { VerifyEmailComponent } from './components/verify-email/verify-email.component'; +import { AuthService } from "./shared/services/auth.service"; +import { AddArticleComponent } from './add-article/add-article.component'; +import { EditArticleComponent } from './edit-article/edit-article.component'; +import { ArticleListComponent } from './article-list/article-list.component'; +import { NavbarComponent } from './components/navbar/navbar.component'; +import { NgxPaginationModule } from 'ngx-pagination'; @NgModule({ declarations: [ - AppComponent + AppComponent, + DashboardComponent, + SignInComponent, + SignUpComponent, + ForgotPasswordComponent, + VerifyEmailComponent, + AddArticleComponent, + EditArticleComponent, + ArticleListComponent, + NavbarComponent, ], imports: [ BrowserModule, - AppRoutingModule + AppRoutingModule, + AngularFireModule.initializeApp(environment.firebase), + AngularFireAuthModule, + AngularFirestoreModule, + AngularFireStorageModule, + AngularFireDatabaseModule, + FontAwesomeModule, + BrowserAnimationsModule, + ToastrModule.forRoot(), + ReactiveFormsModule, + NgxPaginationModule ], - providers: [], + providers: [AuthService], bootstrap: [AppComponent] }) export class AppModule { } diff --git a/src/app/article-list/article-list.component.html b/src/app/article-list/article-list.component.html new file mode 100644 index 0000000..79e5327 --- /dev/null +++ b/src/app/article-list/article-list.component.html @@ -0,0 +1,48 @@ + +
+

Articles list

+
+ +
+
+ No article +
+
+ No article +

No article added yet!

+ Add Article +
+
+ + + + + + + + + + + + + + + + + + + +
Article IdArticle libelleArticle short tagQuantityEdit
{{ article.$key }}{{ article.libelle }}{{ article.shortTag }}{{ article.quantity }} + Edit + Delete +
+
+ +
+
\ No newline at end of file diff --git a/src/app/article-list/article-list.component.ts b/src/app/article-list/article-list.component.ts new file mode 100644 index 0000000..80e39ff --- /dev/null +++ b/src/app/article-list/article-list.component.ts @@ -0,0 +1,55 @@ +import { Component, OnInit } from '@angular/core'; +import { CrudService } from '../shared/crud.service'; +import { Article } from './../shared/article'; +import { ToastrService } from 'ngx-toastr'; + +@Component({ + selector: 'app-article-list', + templateUrl: './article-list.component.html', +}) +export class ArticleListComponent implements OnInit { + p: number = 1; + Article: Article[]; + hideWhenNoArticle: boolean = false; + noData: boolean = false; + preLoader: boolean = true; + + constructor( + public crudApi: CrudService, + public toastr: ToastrService + ){ } + + ngOnInit() { + this.dataState(); + let s = this.crudApi.GetArticlesList(); + s.snapshotChanges().subscribe(data => { + this.Article = []; + data.forEach(item => { + let a = item.payload.toJSON() as Article; + if (item.key != null) { + a['$key'] = item.key; + } + this.Article.push(a as Article); + }) + }) + } + dataState() { + console.log('dataState'); + this.crudApi.GetArticlesList().valueChanges().subscribe(data => { + this.preLoader = false; + if(data.length <= 0){ + this.hideWhenNoArticle = false; + this.noData = true; + } else { + this.hideWhenNoArticle = true; + this.noData = false; + } + }) + } + deleteArticle(article: Article) { + if (window.confirm('Are sure you want to delete this article ?')) { + this.crudApi.DeleteArticle(article.$key) + this.toastr.success(article.libelle + ' successfully deleted!'); + } + } +} diff --git a/src/app/components/dashboard/dashboard.component.html b/src/app/components/dashboard/dashboard.component.html new file mode 100644 index 0000000..3ce3634 --- /dev/null +++ b/src/app/components/dashboard/dashboard.component.html @@ -0,0 +1,21 @@ + +
+

User Profile

+
+ +
+
+
+ {{user.displayName}} +
+

Hello: {{(user.displayName) ? user.displayName : 'User'}}

+

User ID: {{user.uid}}

+

Email: {{user.email}}

+

Email Verified: {{user.emailVerified}}

+
+
+
+
+
\ No newline at end of file diff --git a/src/app/components/dashboard/dashboard.component.ts b/src/app/components/dashboard/dashboard.component.ts new file mode 100644 index 0000000..487fb37 --- /dev/null +++ b/src/app/components/dashboard/dashboard.component.ts @@ -0,0 +1,14 @@ +import { Component, OnInit } from '@angular/core'; +import { AuthService } from '../../shared/services/auth.service'; +import { faUser, faRightFromBracket } from '@fortawesome/free-solid-svg-icons'; + +@Component({ + selector: 'app-dashboard', + templateUrl: './dashboard.component.html', +}) +export class DashboardComponent implements OnInit { + constructor(public authService: AuthService) {} + ngOnInit(): void {} + faUser = faUser; + faRightFromBracket = faRightFromBracket; +} \ No newline at end of file diff --git a/src/app/components/forgot-password/forgot-password.component.html b/src/app/components/forgot-password/forgot-password.component.html new file mode 100644 index 0000000..ad2533a --- /dev/null +++ b/src/app/components/forgot-password/forgot-password.component.html @@ -0,0 +1,19 @@ +
+
+
+

Reset Password

+

Please enter your email address to request a password reset.

+
+ +
+ +
+ +
+
+
+ Go back to ? Log In +
+
+
\ No newline at end of file diff --git a/src/app/components/forgot-password/forgot-password.component.ts b/src/app/components/forgot-password/forgot-password.component.ts new file mode 100644 index 0000000..def6c4d --- /dev/null +++ b/src/app/components/forgot-password/forgot-password.component.ts @@ -0,0 +1,13 @@ +import { Component, OnInit } from '@angular/core'; +import { AuthService } from "../../shared/services/auth.service"; +@Component({ + selector: 'app-forgot-password', + templateUrl: './forgot-password.component.html', +}) +export class ForgotPasswordComponent implements OnInit { + constructor( + public authService: AuthService + ) { } + ngOnInit() { + } +} \ No newline at end of file diff --git a/src/app/components/navbar/navbar.component.html b/src/app/components/navbar/navbar.component.html new file mode 100644 index 0000000..d743d7b --- /dev/null +++ b/src/app/components/navbar/navbar.component.html @@ -0,0 +1,43 @@ + + + +
+
+ +
+
+ +
+
+
+
\ No newline at end of file diff --git a/src/app/components/navbar/navbar.component.ts b/src/app/components/navbar/navbar.component.ts new file mode 100644 index 0000000..4e5cf7a --- /dev/null +++ b/src/app/components/navbar/navbar.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { faUser, faRightFromBracket, faList, faPlus } from '@fortawesome/free-solid-svg-icons'; +import { AuthService } from '../../shared/services/auth.service'; + +@Component({ + selector: 'app-navbar', + templateUrl: './navbar.component.html', +}) +export class NavbarComponent { + constructor(public authService: AuthService) {} + faUser = faUser; + faRightFromBracket = faRightFromBracket; + faList = faList; + faPlus = faPlus; +} diff --git a/src/app/components/sign-in/sign-in.component.html b/src/app/components/sign-in/sign-in.component.html new file mode 100644 index 0000000..73b9d1f --- /dev/null +++ b/src/app/components/sign-in/sign-in.component.html @@ -0,0 +1,34 @@ +
+
+
+

Sign In

+
+ +
+
+ +
+ +
+ +
+
+ Or +
+ +
+ +
+
+ Forgot Password? +
+
+
+ Don't have an account? Sign Up +
+
+
\ No newline at end of file diff --git a/src/app/components/sign-in/sign-in.component.ts b/src/app/components/sign-in/sign-in.component.ts new file mode 100644 index 0000000..a03aac7 --- /dev/null +++ b/src/app/components/sign-in/sign-in.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; +import { AuthService } from "../../shared/services/auth.service"; +@Component({ + selector: 'app-sign-in', + templateUrl: './sign-in.component.html', +}) +export class SignInComponent implements OnInit { + constructor( + public authService: AuthService + ) { } + ngOnInit() { } +} \ No newline at end of file diff --git a/src/app/components/sign-up/sign-up.component.html b/src/app/components/sign-up/sign-up.component.html new file mode 100644 index 0000000..b0e3268 --- /dev/null +++ b/src/app/components/sign-up/sign-up.component.html @@ -0,0 +1,31 @@ +
+
+
+

Sign Up

+
+ +
+
+ +
+
+ +
+
+ Or +
+ +
+ +
+
+
+ Already have an account? + Log In +
+
+
\ No newline at end of file diff --git a/src/app/components/sign-up/sign-up.component.ts b/src/app/components/sign-up/sign-up.component.ts new file mode 100644 index 0000000..3296d1e --- /dev/null +++ b/src/app/components/sign-up/sign-up.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; +import { AuthService } from "../../shared/services/auth.service"; +@Component({ + selector: 'app-sign-up', + templateUrl: './sign-up.component.html', +}) +export class SignUpComponent implements OnInit { + constructor( + public authService: AuthService + ) { } + ngOnInit() { } +} \ No newline at end of file diff --git a/src/app/components/verify-email/verify-email.component.html b/src/app/components/verify-email/verify-email.component.html new file mode 100644 index 0000000..50356e7 --- /dev/null +++ b/src/app/components/verify-email/verify-email.component.html @@ -0,0 +1,22 @@ +
+
+
+

Thank You for Registering

+
+

We have sent a confirmation email to {{user.email}}.

+

Please check your email and click on the link to verfiy your email address.

+
+ + +
+ +
+
+
+ Go back to? Sign in +
+
+
\ No newline at end of file diff --git a/src/app/components/verify-email/verify-email.component.ts b/src/app/components/verify-email/verify-email.component.ts new file mode 100644 index 0000000..82d6045 --- /dev/null +++ b/src/app/components/verify-email/verify-email.component.ts @@ -0,0 +1,13 @@ +import { Component, OnInit } from '@angular/core'; +import { AuthService } from "../../shared/services/auth.service"; +@Component({ + selector: 'app-verify-email', + templateUrl: './verify-email.component.html', +}) +export class VerifyEmailComponent implements OnInit { + constructor( + public authService: AuthService + ) { } + ngOnInit() { + } +} \ No newline at end of file diff --git a/src/app/edit-article/edit-article.component.html b/src/app/edit-article/edit-article.component.html new file mode 100644 index 0000000..2675b35 --- /dev/null +++ b/src/app/edit-article/edit-article.component.html @@ -0,0 +1,51 @@ + +
+

Edit Article Details

+
+
+ +
+
+
+
+
+
+
+
+ + +

+ *Please enter libelle +

+

+ *Libelle shouldn't be less than 2 words +

+
+
+ + +
+
+
+
+ + +

+ *Please provide quantity +

+

+ *Use numbers only number +

+
+
+
+ +
+
+
+
+
\ No newline at end of file diff --git a/src/app/edit-article/edit-article.component.ts b/src/app/edit-article/edit-article.component.ts new file mode 100644 index 0000000..f327688 --- /dev/null +++ b/src/app/edit-article/edit-article.component.ts @@ -0,0 +1,59 @@ +import { Component, OnInit, AfterViewInit } from '@angular/core'; +import { FormGroup, FormBuilder, Validators } from '@angular/forms'; +import { CrudService } from '../shared/crud.service'; +import { ActivatedRoute, Router } from '@angular/router'; +import { Location } from '@angular/common'; +import { ToastrService } from 'ngx-toastr'; +import { Article } from '../shared/article'; + +@Component({ + selector: 'app-edit-article', + templateUrl: './edit-article.component.html', +}) +export class EditArticleComponent implements OnInit { + editForm: FormGroup; + constructor( + private crudApi: CrudService, + private fb: FormBuilder, + private location: Location, + private actRoute: ActivatedRoute, + private router: Router, + private toastr: ToastrService + ) {} + ngOnInit() { + this.updateArticleData(); + const id = this.actRoute.snapshot.paramMap.get('id') as string; + this.crudApi + .GetArticle(id) + .valueChanges() + .subscribe((data) => { + this.editForm.setValue(data); + }); + } + get libelle() { + return this.editForm.get('libelle'); + } + get shortTag() { + return this.editForm.get('shortTag'); + } + get quantity() { + return this.editForm.get('quantity'); + } + updateArticleData() { + this.editForm = this.fb.group({ + libelle: ['', [Validators.required, Validators.minLength(2)]], + shortTag: ['', [Validators.required]], + quantity: ['', [Validators.required, Validators.pattern('^[0-9]+$')]], + }); + } + goBack() { + this.location.back(); + } + updateForm() { + this.crudApi.UpdateArticle(this.editForm.value); + this.toastr.success( + this.editForm.controls['libelle'].value + ' updated successfully' + ); + this.router.navigate(['view-articles']); + } +} diff --git a/src/app/shared/article.ts b/src/app/shared/article.ts new file mode 100644 index 0000000..3abab58 --- /dev/null +++ b/src/app/shared/article.ts @@ -0,0 +1,6 @@ +export interface Article { + $key: string; + libelle: string; + shortTag: string; + quantity: number; +} diff --git a/src/app/shared/crud.service.ts b/src/app/shared/crud.service.ts new file mode 100644 index 0000000..09fbf60 --- /dev/null +++ b/src/app/shared/crud.service.ts @@ -0,0 +1,55 @@ +import { Injectable } from '@angular/core'; +import { Article } from './article'; +import { + AngularFireDatabase, + AngularFireList, + AngularFireObject, +} from '@angular/fire/compat/database'; +@Injectable({ + providedIn: 'root', +}) +export class CrudService { + articlesRef: AngularFireList; + articleRef: AngularFireObject; + constructor(private db: AngularFireDatabase) {} + // Create Article + AddArticle(article: Article) { + try { + this.articlesRef.push({ + libelle: article.libelle, + shortTag: article.shortTag, + quantity: article.quantity, + }); + } catch (error) { + console.log(error); + } + /* this.articlesRef.push({ + libelle: article.libelle, + shortTag: article.shortTag, + quantity: article.quantity + }); */ + } + // Fetch Single Article Object + GetArticle(id: string) { + this.articleRef = this.db.object('articles-list/' + id); + return this.articleRef; + } + // Fetch Articles List + GetArticlesList() { + this.articlesRef = this.db.list('articles-list'); + return this.articlesRef; + } + // Update Article Object + UpdateArticle(article: Article) { + this.articleRef.update({ + libelle: article.libelle, + shortTag: article.shortTag, + quantity: article.quantity + }); + } + // Delete Article Object + DeleteArticle(id: string) { + this.articleRef = this.db.object('articles-list/' + id); + this.articleRef.remove(); + } +} \ No newline at end of file diff --git a/src/app/shared/guard/auth.guard.spec.ts b/src/app/shared/guard/auth.guard.spec.ts new file mode 100644 index 0000000..68889d2 --- /dev/null +++ b/src/app/shared/guard/auth.guard.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { AuthGuard } from './auth.guard'; + +describe('AuthGuard', () => { + let guard: AuthGuard; + + beforeEach(() => { + TestBed.configureTestingModule({}); + guard = TestBed.inject(AuthGuard); + }); + + it('should be created', () => { + expect(guard).toBeTruthy(); + }); +}); diff --git a/src/app/shared/guard/auth.guard.ts b/src/app/shared/guard/auth.guard.ts new file mode 100644 index 0000000..1bf5acb --- /dev/null +++ b/src/app/shared/guard/auth.guard.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router'; +import { AuthService } from "../../shared/services/auth.service"; +import { Observable } from 'rxjs'; +@Injectable({ + providedIn: 'root' +}) +export class AuthGuard implements CanActivate { + + constructor( + public authService: AuthService, + public router: Router + ){ } + canActivate( + next: ActivatedRouteSnapshot, + state: RouterStateSnapshot): Observable | Promise | boolean { + if(this.authService.isLoggedIn !== true) { + this.router.navigate(['sign-in']) + } + return true; + } +} \ No newline at end of file diff --git a/src/app/shared/services/auth.service.spec.ts b/src/app/shared/services/auth.service.spec.ts new file mode 100644 index 0000000..f1251ca --- /dev/null +++ b/src/app/shared/services/auth.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { AuthService } from './auth.service'; + +describe('AuthService', () => { + let service: AuthService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(AuthService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/shared/services/auth.service.ts b/src/app/shared/services/auth.service.ts new file mode 100644 index 0000000..437b0f0 --- /dev/null +++ b/src/app/shared/services/auth.service.ts @@ -0,0 +1,132 @@ +import { Injectable, NgZone } from '@angular/core'; +import { User } from '../services/user'; +import * as auth from 'firebase/auth'; +import { AngularFireAuth } from '@angular/fire/compat/auth'; +import { + AngularFirestore, + AngularFirestoreDocument, +} from '@angular/fire/compat/firestore'; +import { Router } from '@angular/router'; +@Injectable({ + providedIn: 'root', +}) +export class AuthService { + userData: any; // Save logged in user data + constructor( + public afs: AngularFirestore, // Inject Firestore service + public afAuth: AngularFireAuth, // Inject Firebase auth service + public router: Router, + public ngZone: NgZone // NgZone service to remove outside scope warning + ) { + /* Saving user data in localstorage when + logged in and setting up null when logged out */ + this.afAuth.authState.subscribe((user) => { + if (user) { + this.userData = user; + localStorage.setItem('user', JSON.stringify(this.userData)); + JSON.parse(localStorage.getItem('user')!); + } else { + localStorage.setItem('user', 'null'); + JSON.parse(localStorage.getItem('user')!); + } + }); + } + // Sign in with email/password + SignIn(email: string, password: string) { + return this.afAuth + .signInWithEmailAndPassword(email, password) + .then((result) => { + this.SetUserData(result.user); + this.afAuth.authState.subscribe((user) => { + if (user) { + this.router.navigate(['dashboard']); + } + }); + }) + .catch((error) => { + window.alert(error.message); + }); + } + // Sign up with email/password + SignUp(email: string, password: string) { + return this.afAuth + .createUserWithEmailAndPassword(email, password) + .then((result) => { + /* Call the SendVerificaitonMail() function when new user sign + up and returns promise */ + this.SendVerificationMail(); + this.SetUserData(result.user); + }) + .catch((error) => { + window.alert(error.message); + }); + } + // Send email verfificaiton when new user sign up + SendVerificationMail() { + return this.afAuth.currentUser + .then((u: any) => u.sendEmailVerification()) + .then(() => { + this.router.navigate(['verify-email-address']); + }); + } + // Reset Forggot password + ForgotPassword(passwordResetEmail: string) { + return this.afAuth + .sendPasswordResetEmail(passwordResetEmail) + .then(() => { + window.alert('Password reset email sent, check your inbox.'); + }) + .catch((error) => { + window.alert(error); + }); + } + // Returns true when user is looged in and email is verified + get isLoggedIn(): boolean { + const user = JSON.parse(localStorage.getItem('user')!); + return user !== null && user.emailVerified !== false ? true : false; + } + // Sign in with Google + GoogleAuth() { + return this.AuthLogin(new auth.GoogleAuthProvider()).then((res: any) => { + this.router.navigate(['dashboard']); + }); + } + // Auth logic to run auth providers + AuthLogin(provider: any) { + return this.afAuth + .signInWithPopup(provider) + .then((result) => { + this.router.navigate(['dashboard']); + this.SetUserData(result.user); + }) + .catch((error) => { + window.alert(error); + }); + } + /* Setting up user data when sign in with username/password, + sign up with username/password and sign in with social auth + provider in Firestore database using AngularFirestore + AngularFirestoreDocument service */ + // en francais + SetUserData(user: any) { + const userRef: AngularFirestoreDocument = this.afs.doc( + `users/${user.uid}` + ); + const userData: User = { + uid: user.uid, + email: user.email, + displayName: user.displayName, + photoURL: user.photoURL, + emailVerified: user.emailVerified, + }; + return userRef.set(userData, { + merge: true, + }); + } + // Sign out + SignOut() { + return this.afAuth.signOut().then(() => { + localStorage.removeItem('user'); + this.router.navigate(['sign-in']); + }); + } +} \ No newline at end of file diff --git a/src/app/shared/services/user.ts b/src/app/shared/services/user.ts new file mode 100644 index 0000000..3e8b402 --- /dev/null +++ b/src/app/shared/services/user.ts @@ -0,0 +1,7 @@ +export interface User { + uid: string; + email: string; + displayName: string; + photoURL: string; + emailVerified: boolean; +} \ No newline at end of file diff --git a/src/assets/Error.gif b/src/assets/Error.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd0461447980978d23ce5950186e34224ca33261 GIT binary patch literal 17472 zcmeI3d010-{_jr~APE7&Dj>>9NFYFfu!w*tAuO_~5OD#4hE3Utm%cB zWebQ9Y(!A1P8${ltX8B{(V~sG6cL@Ms8~hs3DtI<-<{q&_jjL}JJU=40m9h=ujl=| zKJW8AYXkk=++%5gGjQJ&F(fD?VS56P%PTJ} z&)u6_C8$b>OGrye3ulCjYsKu{?3wAAsF)~r7TeRqlW0klwn@iE$D$&mB#n~t&&rW- z$*_THef9LpVa3L$CbGe}#2v{Q zs|kNS^9=z^PFPLYvSJ-|9m^*%DLG(oR^rCJ>%-&srpCJ`5WLoao;e;l>8$ibb}X2a zo|du8BWE=sHX$=E(F6Kk^|k{6T-b!2x|-mv`UR*ur%z^9BDlid)h^!A*$rIjZtu9l z-Ob5`0yGc!Qd5o6;r zKW48cKv(+fM@VP=cG!$v_6r}!K0Y(uAt#pQ;Al@(eWVW?u3PuN-ZVY^x2<=v8HvAN z@83P}uJApqLW6)OGvhx_Pt0I{*f-(#eSQ9LUlk7NEa=R>iCM|J6BGQi zGSk6@kL{8C$JgTihsS%rZ^9p6i}xSy>i}JhgX*9AH~;JpZ$Sj9zWohd=!f6nPt1Ub z&w|i~y?ZDJAOA8%YAzjpP9 zvF}H(j9mWi(#3Bt3=a*SKR3|d*DL?#>%W{mbNZ{EQzyH-PIMlZeR-@y+TM1w^+-#z zq^Yr?zV7fB;zPBc*NBAGRR;x?{EE*Gl$Vv36c-g1@bbBNoKHX5pSy4Go}BF6AG3F5 z?PO(Uq^G5(Bq#0Io|q6H7t8!8COT?cWW?4jn>U4TWQ2uoSideLI4Ce+t-qhI58a#Q zwPv;FDi3$Jm98sXoShu04)%5wTN`V#l_iO2LBNCN%a@rgH8n9_Vq|EbucwRC(bmFh zV$diJbu}ac4h01M6%wrucmotw=&52H(0Iq8ar1cvg+<&Y1_UGZ;tGDHpqT6>^s+rz zd+3m^NMs~#Y~pF@)Ctjs66qoBR*_}L2|f`i6D{pJ!-EleL|C=6XHDgGjssnq8iRGq zE=bk!BDCzPP#?I`WF&H5DMO(|lnJpRTx52uRqvuuL-XfaJ(0G$m24&LybuqY^1H!$ z&?_^L(P2ZZH*E}%C?hVb`=!N3v z7<0tUdPUgQ6E2teR>3CkPF~q}+)067Dm11pGXTyv8_j}D8Ifs7SSB>{Y{NfU%hjEL z*Yu1%*X3v+Z!G^>(r15MPrTZqR7nuP_6hfrH;%Z$f?^&}VoCR}Fxga+x>q<}) z33<*OJx`?T0ks+oKAdB5`0cE0h#H6)2fz+W);%qLk~&RG|AD2Lx~ zhX{2WrVE+M8$?(x6Ac548TlGZ%UetKc@41?7GFnj=^J>h2_^OdGILbthQe)VgBL2^ zRL6>LaaRU9MCkR$6igi)7ZmtD&leQsCI)KX4s$OS($23ft~Sew7~1Al6OTd@K2Ju) zcnxht0pA$7mmlIWUm|Ec8CCaiA-KK7hbw=E2t3@{!Qe*;HeKeOO;nI}D zXv-LGKOErMw6(&3(CMQsEv3_KZ6_~Gx8XdqhmlP8T_pfQ(UyAb?BnUwFXeAfw`bSk zWUU=TmhI9G6q(80^sT?G9Tk}ic!U28h(-F#by2^9EHW6R0RuwEA&6!n(#!>ma9xHL zE&ETND19L+r%bHuir_~7t+xf5vP{Zq->*?y##c9iw=&YTA^ow+}NT*iER=89z z-!!y`J$VFd{t9K1vSt{~4|7(GyDEuA+8PT(roh3_!pU%WZK zL%<8Z>FAt~utDF>xyyO3@n>HjH-`rl1384XI$nkK4-N3}b<5klpF&tahOlPC1Zz*n z>sI$jCaIl22qS$aP2mCBk9Q|1PY6OB)D^f>xd;>9GRqcYNxj;)b&*0M^NY54y7TNanG zRd8!S!Bh~5a`@-ORpKH}>Y*-HiF&P)hk@57&2q{2BM3E?GY#B)OF&%Mn_0`sKCr1) z3}}8*JM}UjYp^C8jS(X`he-Ne)v@6MG8N#@2aeJPG);;XoZYpw=lPD6#!92;+iq&% z!H&5f7ncj&>hIwb=lS;%cip2ZYPdrML_%Vg{67Bh)=p!*R%GL-xX|qd!n*)aep@yB zBoMVjH>~F~Qmsi!v9`GuVMJ$*ducIN$OQCbM7cX2;5BCxfHa}_l{Frhn?=tSDr5j4 zJ8zl_03#`>9X+=eAa1io+T=R*M)k-Ea$wN1Y^L*q>$fu}zOz|nVuNHx&UBA&Z%;p| z0z2}@Lfed^#)5=tQwCM=t7UY` zr%4^3_uZ&~xx5SRWw^J>kD8AMT|E;%IRb>^uzNbIVA1quZwJ%Pmv`jj-Y{lVN+k}i z9t_{SEa)>q5~eT4^|EZ7jl+i?f)cy)C!RTx#X*H7PhN=- z53M!M#nlKd+)5lVdEJsW&)hUh#JqXl zk0kpG@HU-klT~cJX`^K^w^(u4t&qGP^cF?fmLW8@QV)hWMU>$yZ`QE4tdf#t-sq;v z#>svD#^TbrGMlvA%MgIkGn&;#}uEhzZmpNBE*NMI)r-R0}P}h)zg4rUc@g z_I-@7#>$3xN-a^IEo6UXLx4Dk?-8juKl|ba#5rJ_CL7RBO*=lcJe9J*dGrG3-)|0n z)O~e(*`t#;BDa~0G^R)#7qfs$B5h)u!nElBCBS2wW#V#*qoY)|(H!-KQmkNUPiS^|=%)F_8}#czAA zI2UxABVzPQi%TgDaHDs}_w%xk@)`_eF~(05tP!U_jj;=4ZEXdlReyo#exlPiENs`l z`PyZY53lsn3x8|0K=(kjhrFBrS+EVt!Zt6m8-Lu(*V73%!l+0VZS>}_Z*Oc_`-0N! z*D}r^2WYO@b9X;l-9bl0f3x2}@uY&s2U>gX=55ZCd_Eu8c1gaXQFr2#P}a55^Kt8> zj>(ZP`~BLhg}9K4F(v?;5qS1*P!ZnG5l>MsTdtB6arPWkMR&+`$r7un=iMK1EXqg9 zEtf`cdoya0%H9 ztz*5^`19-BCMD@Io_Nuv4DJyHF1J1RT%{;)0Mf?FvHBf8kfP{G4vM!AXVGS!A-2{8 z5%P;2t|SI#Hv|d9O!a{s=-Q)e;JsE>;vBTLCQ$$I*co+z14)R@d&~#uvSn1G+wd{~ zL9T>dLQtH!QuPH zIepFgPHN9D`VHyZEa4?ZW*K)0NJ}mACOFj%BeuaS6Ix_1;%VP{Zw%W+3RjHjq#53h zwuv259MLI!SN?X0^Y|yt8nk9KN3EX^GZsa@$>;P6IGYOHyGV&_k*=g`7NUP;cH{kaP&k_)6)&|6@(H4)o$FfC5 z!T9MlS+9Nkh=7g#p88F4tAtN0Kl_M|Pewv+GSS_ro5RT4KqKAk=2aQ44MtV1ZQOtL zMbnNq3#R?9MdSs_hP8jf(-uq{W@SA=zhas37qB#2I6^ALK4R%rl8lF10s-?VL?0Ow zV0qzJzwV!xM~B+$l1ku+txkEl2a$4^mg5wsiRd%W3?Zs3SqD~%k@dabB|E(_E@5~L z;HvRfC>KnrD1dxnlNY!rAY!I?uw-K$kBX`BnkYtzUX|-zwTdqxEQv4R)AVey4FW@J zS7rW95O_n7>_5brLnA&aVfY;I0-*#qxikuB8Bm#sIBD_r;d}^kpAc#a0Z{}VO&n%7 ztnUOu)RR(5L`Ugx*k1gChu>{$KL!Iv9)9_?y5@|m&nS3ChV#`Zk64KD%l?{=x<(hW zJZPJ-4YK^k%qa-+j2=i=;9Ksrv}c_DchQx4t zS0S(mf&dIzag!W6&%BFg9(N{L;f6T9FjUlVpwMfoIG{SFg!{b}I@Bs?+fy?-JWwh% zHiziG(*n``)Q2yb0D|{O#$-R}pmh7_{vB>L5w>4M&?~{$ZwxbVcQ6sI&4BSPr8 zG8oM%xfgG1AxWS~gvG<9@FiPi{q`y?-}PU01-^7fHe}SE)(NB4_gU%l3N$HjY^X|C zwsmxm?{0r|>Xz`rrX$}AQy+gdb-0WJw@j*id`8(4EZ4vx;s3VE@_&W;&gqdW4VNJ6 zt{GE}lhq63BqJPZNo1QK8yRQ-bj=2O6yK>@l9Bm+l}@pE#LB9-)GOVh1HpFh-g?WK zfpQxkyRc-paKxPoq{XNjb>{;(!BoZqZFUA0L?o2kx%-FD9z^-7!y~61*X8|$#4R^@ zGkd#ob#O>!FQE1SPBHFq=)HCCHUo9M*h60Xk}NM$wIoBYu9-_PGAZ5E`=v&~NeOOS z>C$1~)COx}W%u1iRd%y{1apC&zDXLL6>v^|-QGakHTOok?s#wq4@E}ZXiq*vs;(`6 z!6jQnExBq5<~r3|>PB$AlWOO7YoWvd>!ywYVZ0JMcWyfx(=-&irASb}P>)bKB>kF| zC8;&#goC8>;e(Kl4CQPnY`pv22kT>!#iezK<>uDa_i}~?HqOv?=;K4)jt~;(x)?MJ zQ9f{C%L36IY?>HwMt(KC&1-f+MM5pCF)kuq+x^RU=9;@Y8_jKOx*Gd^^C2JMNW*sz zCwAaoAk@LI#6VVud@j(kqns~*RYo)tt+isf-pmeFgYr$ZszH&owY5RXJ>7onyeUmf z+Y{sRm*5^LURWzt zi9LRA6X8i5o#s_Q`!%tZEnH>ml$CD9OhjDijI=qlVypZY;6wd)+%QaMtIYiU6zTq4 zuzw6DEDW$1e_Ibtky>2>jJ(Zcco6DI+#>0rOGkn5T#NUKeRsu^ui4D0rrsaTH>B)* z;CAKmA?({6d3~Lg zwpYl=7nUm%R+NSajrB`lo>6x$kx$O74GO-}1C5UG?!JEHr2~`K%ZohEt>-tnC`Wor zLq9Jr-tkJNM}ujFx1u*gO!sl528uqUz8tq4ifU)EDys9#?jOB=^>gtUjX>wMZZGkd zUIfatI>7B{Kkm%4{Gg7U-RPu_H_sQqF3IeWK11uApg>?B_}Ez!=xv4{Asgmq_3d3~ zP+D7RQ=lGYI;CBv4#2Qj6cdg*e*c&0W5++ErIak4CH9S+Qw zjcrbS)O}4Q-$Ahtp$z|1$oC(Z$v;drodHWz&5R3;NH>F{YOo)?Q+0i}!}3i$L%Kru zsVb3=Dy!#~_TT`+Ix>xxu%I8~Es^C@P$nwWl)1^9C-kwuO24a`E*Uw9K~(R!v!@zs#xwXkr;F6YaO($gS3{u z<>2s?gfUE3o!j6ArZAK^w8pD-EGS7-ezg<}aDA&uo}H7ER@BZ;T9CRTdAP!jer|(n zM>rJHoeLrTH#N5@fV8E891OAEroFAJ5d({pZ!Oidfn)zhzA3UD4RoO4jO)Xh6C-O> z?m;$u1WlO#AG^oz5&g$7$BLlh<7O_=-Z)UyF}4sQ7T{D@0)|pRVrQQDW_6 zTn~D4YA+x@6xRcreJRZS90Nr^>GBE8UG_trQLU{egae8f`P?&`UCsxkz=AhRjtQf> zCX>*;57uJC-1)xG2lEUhfI?9eJqq7yKx$STkbh}8DRfD~j67kS3{?O0EUtUi!)F0M zI_UPiBR7(;WgS09hJ!3d6^X#=o6vEpd5KCA)`J(KMP}#FK|;u(RkI@O)5@`t!~SAL zLdpB?qudEp2mMDGE?h%MHl)hu{cMTZxC-WHKay`WpMzk|Egt$NPjI}EmcAw0sRB>r zy95Jj2Dm26nh1?%70ifIsRTqI5IkI7e(l)EZAhdAwIrgzsV|}~DWLQ-FP_GLifBw| z9Y`(1zRL^0sUtg1Pf9+KyQ2iDu6)&BA)zVnulQKNfLal3lByM9P9Hr2wIXfOW78?X zssNSG=P0K;I-rO~HChgv*tbI3p=t%Cz<^Qv%<+r%Wj|XXLCj1S6w&G3s-~N9ZTG|U zQ;XU`Nc=~b&a_3q?4H-0cQr&Nyr4MxsUxad8Y=9gxV_)@H{-UMZ=y9!<|A;G@Z5zC zPnGA0H7E>8}U1<`!KXzT?mwC6wUI=ak_RoX)*_F|8 z%dO%JEiPm{^=p&^!Vu;J(K%Ouw)#Dh8_CMRb&XvHS_uVW5NB&spLmGuHxDd8+(^dG z)3mKuyan+D$NT+3fL?-fguHcl7pfgiyb=fGH4?`+;8lrS=<`^~)iDbh3e>{APvjuL zmQCEgQ8JOZpcshV((q!8&WVdE#c+J-lYFX|+fUJyBmf`XyeR0~&A!CwEpA#!_a!5HX z8!$?h9$(;h(Dh;3iA8?@yZnxwdVlM1U~>X2{DVb|{uaFJov2(y(J~Rf*{7u{kNDvsl*x-80gZZ#nY);||I^x~f8iaKf8J2H=)oV- zc+rEQ^>}{@rWcEf#iByBxb!~==EW{~u}l63mrVcLQ@wcWZ}HaOf9F|%|My@oF5g&O zzVT;UzOlF%FRF2IG2Yex%*A+%i>enFRsV?=RWCjuv-p6_pXvdb#RnW0A8`DaJ>a6vGZ7Kp^Y{ zh=R(dAfUB^Eg~xJ))kjlY;9{TRl9HY>zxGbcmIg@_q+LrWSE(Ao^#H7&htL+icrKq zAYKj7fji59*MGd$b?AQj<)_#Gel17jGztwzz>N-%KK<$`&5XA3-Ho?z-ky6tH~!Ih zcvyIGX)%Y(dGz3sgT2F}&mP^rdwcH1oV&!m`%w2!Km0Usbb!O=jGh?vS>ki$+Lh## z3ncOW#@Q;N;MK zpj#d+7uW~{mV)BK;=KI4%&g3)=%}TEOOxMA9zQj%R;h6y?r-A zaM{ydXuKtJ$1?jM!#{)uo3hmOB%!ZliARFhVt=7ufW*r;z~9@)UFa?KTH+}U@bvQW zka`750|KR9!iA4LYAro+OW+zgvS17Swak87W@cKTr)PF{wj_J8BsG1jr&mBgfTz^k z)7#qvy~878PfBKdjz>y{=*=7CNf`<0+tV_)r=|!EZ;aoZx;t~3J?iN^gq>;syf!66 zVuT|}NZsj~6QAbkC6O8+y}2-RTKQ z=ZOwHJqnkJOV3{mqFy2NZxNleYo5F4L~hzJZ# z$;gaPNk|HnFSAGABH6w@G0@LvvDach#NR8}PwM3b`vt(kUO~aIcd)IO`9k~7NzASm``xc%}e7i4x zZ++Gib;i?>-2avAH0@$pBe$Hz{6c=Cf2$45toj|~kTJu=YW*V}XW(82Dm1N-%z9qqcd)|Td`#)f)r zU9G03x=LNCswgijEh#Q4EKu&te?M<;?w*|NtlgOz>ATWWQ+6ircyIf*ty_{36E?@k zZF={=H~!a#^|3M0>!Q}KSsl4*Wkk3lEHq>V0?TE=LCgR3&a$OYV1U2h5?`Oi-d<8q ziHEzJtJuZa$gJ794Xni^(vf)2I|OiAccXuprtX?0(0Q3BWSI z-OxY`Z4e;%E$>JRaks3Q?oPj$9N2lICo}BGhQXPEtjpi!empyr6E11H{%kb&YRcH- zS10pU4nBPO+jzbw12pxnZKmI4uV+mQhi8Xk)j`{{$o!-$DPv6q?HgB4j=#)V5-(Xb z@T0OI$}bNhPzx(m;VvbDO_jBE!5l#b*%{Ebsj&7gI9qzF?%<)rJ-vPX14kl)Oc~!| z+IaFVX#hSDIFb|oky%vZdL^PQfTkZ)d5@fw~o%dwtD@FlJ^ve&<5OkIGG2e@n;*qE-GlOC=ieLr6+RJFP@K_BhS1bhQ5- z_WN-gMd-t9+}^^XRaE>wNKjmtGo%*Zv;gOp5cmHNR z((c&{y}z#{(yb6;(n=9-MP*f87`p;eYl9mqnp--8Z7ZaSE&B_*I(zMEa+y{@r}cnp zu(uOyZi92Q8|nl;96Nnt>fHGY(-$vY?lkFIooUzR%x{nqnHxS4$AR0fZ*wCYyzdyt zncLhjb8buFX#RED+`soZ@S{mMG(FY=I*U7 zZGyOUEN+|V;7|-lpd>qQSqJ7TJ^GG)yxOp&DfE-kXpKu5A5Gl&WIl%7Cf#f>?dCvq zYyfUap_AU+KLU7&cBnQD1*$4LCKz%UD}+n7{P}kzXbTk=GZc0u#ct-x>Y5N5Qw4Dq zzV-M;8l8?tsAnr2>mgoykCHE~w^i`=TlbFaz!J5^Tss9Hr((p9PHq6~9C0@0*l?OV zZporEXBSfaAj+htnzwk$B}?(%_6`Z=GjS)LjsD@%d@ifx&SZJywk%8h=BqCg{GfsY z++Ml3u)sgRQoV{&4v}49Z;f|Va|`02A<$vG2H)Dg%PvN77M8_NKhilm|@1)~c=&@F&>$zMDsooa0X6t#ESAdjOo0PlpSgRu% zp>-3Z703S+F|Mp{p2yEezfuM|qg}Z0DOnIQq(4(cGPk6eoImGGLYql4U>ZhygGDS* z4Xzc6z_G*TYc?PLUi#U}2~46?31VSzF&o0WQFBxZv}kH-7?ldDM3Y$|w`ziT6;TBO)E-13Tyl^pje?htBq_oZhX$6X8IekabaoC0>Dq z)^~zIaT8^eoOE7;+4^bfJfwo>e4d#Z#$tsbb;K{8gOmkmL;}Xta2q#`ESZ%-5=b`$ zi8Mh%w@<5SFqqKEH zuEskS*F=6_Mq@T{+xnvMP54;BQL3DDM8od?aE)1$S!}sRU@zxOn`}>ATuEoE*z{O) zHx)XTM!qzzkBNOtrExh@~gNjA#TTt^sX?L$R!XY7;KuVGK_?SG#V>~ zg+r|d19K!zmQ=NV|5B&CCW?Y%*#zNW48EUnU?h!B=r`;6ph*CW`XQguv+G&Hev!gn z(C-4%nN4`&)SYzzrpbe(z&am<+*mLuK9qC!o7DgjoxqR60s0FU`wG~YFy(UqyO64p zLX&)I+B7itXbn~18e&{!)k;KIbmP?Hl+qO=3XK!8d?Lw3>Ah9X7klrPa?&bPs~J#r zwJiu!nKkGdgE5VeLtLePKjNli(qIOmk${15I&%4ek^O8P;jr9A2Z>;T4o@AOQrYVK z>f}UxBa;q~H45y{-A%C*)-bIKWFVzcd`ZTds3!A1yEhj#KPG?`^K%|~>4USiyuD+^ z{PJ?$=;BH;RfaRB!6iobTincHTC-j!r!w^tR{MG{P%1k8yTI$^}@T!`Zc#Dgzf zgnh1wF0W(N=-p=!-U!+zPK}(m#vG=sjpJ^DM+ZkR^qL0Pe;ZY?9Obm1GC=%!V}<4p3_=Cf25{ z)dsO6=-uk&3_WBEHV#H`lzLpOcfU8{+mGUR>u1u2rb4L)^@3RZIO5ok!Y|ho&Yqi* zlLY;~v1a{d2(KRvfNj6u(fi+FopV~T?@TdEyvL2+{;i9i@SXh?_O`%mE21iJ|89Og?tpeCF4SrVhyXr z`S5aL8ZHw&JiS~o=;z!$wepL2K7O&6VX7hk-N+j<8lbGD;{fe;Cu z=!Avs1qUHJ*sid0mu<{ zywAHbyO!@UV2ik)DwSJn4?dRj2H4h5eqMzoe%Qf13X`68f*UREXM@BbUquo|KF9F) zGMfO>>Oy51x#smUp?-EkR+T4K*p~Dyf=VKCXtca~yO_^v#=!$F5sobtJgriGJ z3ZqH8Agku#SWHjXL6mw7qQMv>JB7Ixbx}s9qeO!!>7boxM}sj)poh^v(V1QRERsIf zjxrC6qg}Sh8=t&s!@@9x;=Z@ZVeq@@NX%~^rj2Y%(;$lzO@l6j zyd?dRO>QpJ5=|y#D z9U2b4U!QHvqRMur>*HU7S#IrQUYQIKhlsby5+_PCgn=7bdS!i?;@5F{^YWsJG6J(A z>g4Q15D#o? z!JoYM!8rdz$E;z_`PiU~S!5{(!On*Sn-LBy;+9uspxv?w-H#%e<|YS=Oi70&RU5|X zYC4?4vFw0wh}jUiNRA;41rDH$wE6UU>ZuL^A{a7+VhHk?M6R8=8BMy_;ev>V43S`V z;E8wTpWpdtGldn!yhxGZ)wJ5epY@ z2!)R_xyXh61dLL-dEh8fRUha=0y|n^PE9k4xr1EMJ#xUO1LZnYf&p)bk?;`l%_!F) zO*EruPurinvjLx?X?0NHL37PfwBV5(c5|GmKEf_9ru z=q1y*lB51Z&;nCObJ`a=hj{7s!#@0TWjQUbr74QV6j^) zsnuQGOARE)K;}^Dqre<(VI2HmSLa~A+@}W;DMTOpoIJnYwnrL=Qn?nUt0JJe4o|#r zf1RDMj%ihha=8|pCn2DC6rwadco{j*<-V59bGZn<SG_9 zhBpvp(5#G9ZX4#%a-@6bn3k&8%xfd7QI(=e7%{Zazf#LnQASf$g_5}HD%Bm|af=~&Xfbg&zYH;w?|U#{lrx?_Hf)m`zcTJ9Py!w+G1-wu--3yAgRHa1 zb{mM>=))I&>J*6Re(`AB>h{WcXpbU*T^YNxm1T$>R9R_YXE=4GRe6|7Tiw_e?5oXK z1Uv23QgkaiwD|pp%N;vWQbH$mnjL`$JBLpyd7UU9VR1X%Ps={mo|#So>(q>WDD%^L z(5^1MuD$tSr%^q)1sgGu9xr|J#g{LB{ORXke*NwDUrg@NYfJ-~;~2JkAt?211xBBZ zZm2LS2$Q6^&@6oA^YIsdj)t* z^Uy7-qk`V4GSl@`83Y0ai>r6<9o+#kRJgn_0HgAt9iQB0l;F;Ug9dU>I{QX}+wuQ# z)ZHSEk|^H*IHpyg!OUDIt^AJCkLNPe7Ez9#U4QkZn^Bb^#ZZ}rkc5+8RUJ&JKy{fI z2B8Aot?2R`>In20pE^j?-m@XFPN&eFrENjCz!XGH^z?0EjqZU(oitMkX5hCNHFJthwXx16|VN^*`Dz&s~ zl~LxZUV*{al{B=4&X%1Miyig+s%YU7!Kbkwm*4rKU-6hcb!M1WM>7wUtF?A zRFLIUiZ(}AW&xg9-Ovb%3n*Y?d)2)0jyFnwqDkX#m7R@(ph0$C8B)@I{;UfsJMW(z z>Az=-%FdUSGv9IzvNLVpZg#P%65&hBY}Iv@SYp1?PTN|vAoR7pQTk0EGHf-SqJg^s z%{tI}!l<{qD&n2v=?1;s|H<5oUvK1HzhHAW2l7R6ui_PCJEFJ|Yjy>%y1oiz6yU%H zUCF$n-2Uc-W2s5lZ#iWc$lA+E0-b>DaEXl9I3-zP-u(ELU*S;yJwFuojx`UnDF)bd z!am5sptiHP6 zl@owk4&{HCzsYgtTXHITw4(6ahpNIQ>MEH_xgepszKA2pLM5bz_T2fC9bL!5DT6Es Gfc^(OMnLrd literal 0 HcmV?d00001 diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe29fadef8d75f37697b1f4d2df3e5868d4f8f0 GIT binary patch literal 83174 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%0AO7WoQ`BPH&!!}A(Vxu0CN#?*%wy_h)8E0fOAR9 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 J{XOHy{{xr7__P23 literal 0 HcmV?d00001 diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..cbe3bbf --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,31 @@ +export const environment = { + production: false, + firebase: { + apiKey: "AIzaSyAU5JUJVSMQ2UTVD0BWQGewsqdUjJLC8uo", + authDomain: "angular-da08e.firebaseapp.com", + projectId: "angular-da08e", + storageBucket: "angular-da08e.appspot.com", + messagingSenderId: "744333831334", + appId: "1:744333831334:web:f1d2e16187ed4170849867" + } +}; + +// config pour projet firestore +/* +apiKey: "AIzaSyAU5JUJVSMQ2UTVD0BWQGewsqdUjJLC8uo", +authDomain: "angular-da08e.firebaseapp.com", +projectId: "angular-da08e", +storageBucket: "angular-da08e.appspot.com", +messagingSenderId: "744333831334", +appId: "1:744333831334:web:f1d2e16187ed4170849867" +*/ + +// config pour projet realtime database +/* +apiKey: "AIzaSyCR5G-EX2BDJXJl8i5vYVkB2t3eAHv336Y", +authDomain: "angularproject-a2c4f.firebaseapp.com", +projectId: "angularproject-a2c4f", +storageBucket: "angularproject-a2c4f.appspot.com", +messagingSenderId: "230920213898", +appId: "1:230920213898:web:4dfbef3e009429becce473" +*/ \ No newline at end of file diff --git a/src/styles.scss b/src/styles.scss index 90d4ee0..20d33cb 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1 +1,663 @@ -/* You can add global styles to this file, and also import other style files */ +@import "https://use.fontawesome.com/releases/v5.5.0/css/all.css"; + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; + font-weight: 400; + width: 100%; + height: 100%; + font-family: "Poppins", sans-serif; +} + +.feather { + width: 16px; + height: 16px; + vertical-align: text-bottom; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 600; +} + +.media-body h1 { + font-weight: 300; + margin-bottom: 20px; +} + +.media-body h1 strong { + font-weight: 600; +} + +.media-body p { + margin-bottom: 10px; + font-weight: 300; +} + +.media-body p strong { + margin-bottom: 10px; + font-weight: 600; +} + +.px-logo { + display: block; + clear: both; + margin: 0 auto 20px; + width: 220px; +} + +.px-logo a img { + width: 100%; +} + +.displayTable { + display: table; + width: 100%; + height: 100%; + background: #12056d; +} + +.displayTableCell { + display: table-cell; + vertical-align: middle; + width: 100%; + height: 100%; +} + +h3 { + text-align: center; + font-size: 22px; + margin: 0 0 20px; +} + +.authBlock { + margin: 0 auto; + max-width: 400px; + background: white; + padding: 30px 40px 10px; + overflow: hidden; + -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.04); + box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.04); +} + +label { + display: block; + font-size: 13px; + padding-bottom: 5px; + font-weight: 600; +} + +.formGroup { + margin-bottom: 20px; + float: left; + width: 100%; +} + +.formControl { + width: 100%; + display: block; + padding: 15px 15px 14px; + border: 2px solid #e7e7e7; + outline: none; + font-size: 15px; + color: #444444; + background: #fcfcfc; +} + +.formControl:focus { + border: 2px solid #d3d3d6; +} + +input::-webkit-input-placeholder { + color: #bbbbbb; +} + +input::-moz-placeholder { + color: #bbbbbb; +} + +input:-ms-input-placeholder { + color: #bbbbbb; +} + +input:-moz-placeholder { + color: #bbbbbb; +} + +.displayTable .btn { + width: 100%; + border: none; + font-size: 16px; + font-weight: 600; + padding: 15px 0; + background: #f96ea8; + color: #ffffff; + cursor: pointer; + outline: none; +} + +.displayTable .btn:hover { + opacity: 0.88; +} + +.displayTable .btnSecondary { + background: #eeeeee; + color: #404040; +} + +.displayTable .googleBtn { + background: #4dd5fe; +} + +.displayTable .facebookBtn { + background: #4dd5fe; +} + +.or { + text-align: center; + display: block; + color: #a0a0a0; + background: white; + position: relative; + margin: 5px 0 0px; +} + +.orInner { + background: white; + display: inline-block; + z-index: 4; + position: relative; + padding: 0 12px; +} + +.or:before { + position: absolute; + content: ""; + left: 0; + top: 11px; + width: 100%; + height: 1px; + background: #e2e2e2; +} + +.halfWidth { + width: 48.5%; +} + +.left { + float: left; +} + +.right { + float: right; +} + +.forgotPassword { + text-align: center; + margin: -12px 0 15px 0; + float: left; + width: 100%; +} + +.forgotPassword span { + color: #4dd5fe; + font-size: 14px; + font-weight: 400; + cursor: pointer; + display: inline-block; + padding-top: 20px; +} + +.redirectToLogin { + padding: 15px 0 0; + text-align: center; + font-size: 14px; + font-weight: 400; + display: block; + color: rgba(255, 255, 255, 0.6); +} + +.redirectToLogin .redirect { + cursor: pointer; + color: #ffffff; + text-decoration: underline; +} + +/* * Sidebar */ +.sidebar { + top: 0; + bottom: 0; + left: 0; + z-index: 100; + padding: 48px 0 0; + box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1); +} + +.sidebar-sticky { + position: relative; + top: 0; + height: calc(100vh - 48px); + padding-top: 0.5rem; + overflow-x: hidden; + overflow-y: auto; +} + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sidebar-sticky { + position: -webkit-sticky; + position: sticky; + } +} + +.sidebar .nav-link { + font-weight: 500; + color: #333; +} + +.sidebar .nav-link .feather { + margin-right: 4px; + color: #999; +} + +.sidebar-heading { + font-size: 0.75rem; + text-transform: uppercase; +} + +.nav-link { + padding: 1.5rem 1rem; + border-bottom: 1px solid #dde0e2; + cursor: pointer; +} + +.sidebar .nav-link.active, +.sidebar a:hover, +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: #e91e63; + background: #efefef; +} + +/* * Content */ +[role="main"] { + padding-top: 48px; +} + +.dasboard-text { + border-left: 1px solid rgb(255, 255, 255, 0.3); + color: rgb(255, 255, 255, 0.5); + display: inline-block; + padding: 0 0 0 14px; + font-size: 15px; + margin-left: 15px; + position: relative; + top: -1px; +} + +/* * Navbar */ +.navbar-brand { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.navbar .form-control { + padding: 0.75rem 1rem; + border-width: 0; + border-radius: 0; +} + +.form-control-dark { + color: #fff; + background-color: rgba(255, 255, 255, 0.1); + border-color: rgba(255, 255, 255, 0.1); +} + +.form-control-dark:focus { + border-color: transparent; + box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25); +} + +.form-control:focus { + border-color: #00bcd4; + box-shadow: none; +} + +.form-control { + font-size: 14px; +} + +.bg-dark { + background-color: #3f51b5 !important; +} + +.gap-right { + margin-right: 10px; +} + +i { + width: 22px; + text-align: center; + margin-right: 5px; +} + +.inner-adjust { + padding: 0 20px; +} + +.action-block { + cursor: pointer; +} + +.action-block .fa-edit:hover { + color: #009688; +} + +.action-block .fa-trash-alt:hover { + color: #e91e63; +} + +.btn-primary.focus, +.btn-primary:focus { + box-shadow: none; +} + +/* Pagination */ +body pagination-template { + padding: 0; + margin: 8px 0 0; + float: left; + width: 100%; + text-align: right; +} + +body .ngx-pagination li:last-child { + margin: 0; +} + +body .ngx-pagination .current { + background: #055af9; +} + +.ngx-pagination a:hover, +.ngx-pagination button:hover { + text-decoration: none; +} + +/* Error */ +.error { + color: red; + margin-top: 5px; +} + +input.ng-invalid.ng-touched { + border: 1px solid red; +} + +.btn-success.disabled, +.btn-success:disabled { + cursor: not-allowed; +} + +/* Nav */ +body .navbar { + padding: 6px 0 !important; +} + +body .navbar-brand { + background: none; +} + +.brand-logo { + max-width: 15%; +} + +.pt-3, +.py-3 { + padding-top: 2.4rem !important; +} + +.sidebar-sticky { + padding-top: 1.2rem !important; +} + +/* Form */ +label { + font-weight: 500; +} + +.form-control { + padding: 1.375rem 0.75rem; +} + +/* Misc */ +.no-data img { + max-width: 420px; + margin: 20px auto 0; +} + +.nodata-msg { + margin: 25px 0 15px; + font-size: 28px; + color: #a9a6c5; + font-weight: 300; + letter-spacing: 0.2px; +} + +[role="main"] { + padding-top: 65px; +} + +.preloader { + min-height: 400px; + display: flex; + align-items: center; + justify-content: center; + margin-top: -15px; +} + +.custom-text { + font-size: 15px; + color: #5f5f5f; + letter-spacing: 0.2px; +} + +.navbar-dark .navbar-brand { + margin-left: 6px; +} + +.custom-text strong { + color: #3a3a3a; +} + +.mb-3, +.my-3 { + margin-bottom: 1.4rem !important; +} + +.custom-fa-plus { + margin: 0; + width: auto; +} + +.user-image { + width: 42px; + height: 42px; + display: inline-block; + border-radius: 50%; + vertical-align: middle; + margin-right: 7px; + background-size: cover; + background-repeat: no-repeat; + background-position: 0 0; +} + +body .table thead th { + background: #f3f5ff; +} + +.pricing-header { + padding-bottom: 50px; +} + +.userImage { + max-width: 125px; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 1); +} + +.card { + border: none; +} + +.list-group-item { + padding: 0 1.25rem 15px; + border: none; +} + +.fa-sign-out-alt { + position: relative; + top: 1px; +} + +.logOutBtn { + cursor: pointer; +} + +.no-access { + text-align: center; + font-size: 26px; + padding: 70px 0; +} + +.rounded-circle { + max-width: 150px; +} + +/* Responsive */ +@media (max-width: 767px) { + .sidebar { + position: static; + padding: 40px 0 10px; + height: auto; + } + + [role="main"] { + padding-top: 0; + } + + .inner-adjust { + padding: 0; + } + + ul.nav.flex-column { + flex-direction: inherit !important; + } + + .pt-3, + .py-3 { + padding-top: 1.5rem !important; + } + + .brand-logo { + max-width: 75px; + margin: 0 auto; + display: block; + } + + .dasboard-text { + display: none !important; + } + + .sidebar-sticky { + padding-top: 1.9rem !important; + height: auto; + } + + .sidebar-sticky .nav li { + width: 50%; + text-align: center; + border-right: 1px solid #c7ceff; + } + + .sidebar-sticky .nav li:last-child { + border: none; + } + + .no-data img { + max-width: 100%; + margin-top: 0; + } + + .nodata-msg, + .h2, + h2 { + font-size: 1.4rem; + } + + .custom-text { + font-size: 14px; + } + + .navbar-nav { + float: right; + width: 50%; + text-align: right; + display: inherit; + margin: 0; + } + + .navbar-dark .navbar-brand { + margin: 0; + width: 50%; + float: left; + display: inherit; + } + + .sidebar { + padding: 40px 0 0; + } + + footer br { + display: none; + } + + .media { + display: block; + } + + .rounded-circle { + max-width: 150px; + margin: 0 auto 20px !important; + display: block; + } + + b, + strong { + display: block; + } + + .displayTable { + background: white; + } + + .authBlock { + box-shadow: none; + } + + .px-logo { + display: none; + } +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index ed966d4..abf2b83 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,6 +19,8 @@ "target": "ES2022", "module": "ES2022", "useDefineForClassFields": false, + "skipLibCheck": true, + "strictPropertyInitialization": false, "lib": [ "ES2022", "dom"