From 0a2e118872e751082e1914d479463b1e973e1b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B8=85?= <6581896+oncream@user.noreply.gitee.com> Date: Tue, 1 Apr 2025 17:17:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(1.0):=E9=99=A4=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=A4=96=EF=BC=8C=E7=AC=AC=E4=B8=80=E7=89=88=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 21 + cls/package-lock.json | 1786 ++-- cls/src/app/app-routing.module.ts | 2 +- cls/src/app/app.component.spec.ts | 21 - .../app/core/interceptors/auth.interceptor.ts | 53 +- .../home/article-buy/article-buy.page.html | 14 +- .../app/home/article-buy/article-buy.page.ts | 11 +- .../article-detail/article-detail.page.html | 2 +- .../article-detail/article-detail.page.scss | 3 + .../app/home/column-buy/column-buy.page.html | 42 +- .../app/home/column-buy/column-buy.page.ts | 17 +- .../article-content.component.html | 41 +- .../article-content.component.scss | 21 + .../article-content.component.ts | 36 +- .../article-item/article-item.component.html | 2 +- .../article-item/article-item.component.scss | 2 + .../article-item/article-item.component.ts | 131 +- .../coupon-list/coupon-list.component.html | 11 +- .../coupon-list/coupon-list.component.ts | 5 +- .../home/confirm-order/confirm-order.page.ts | 1 - cls/src/app/home/home.page.html | 1 - cls/src/app/home/home.page.ts | 22 +- cls/src/app/home/home.service.ts | 6 +- .../column-describe/column-describe.page.html | 2 +- .../special-column/special-column.page.html | 17 +- .../special-column/special-column.page.ts | 2 - cls/src/app/mine/auth.jwt.ts | 2 +- .../captcha-modal/captcha-modal.component.ts | 2 - cls/src/app/mine/login/login.page.html | 6 + cls/src/app/mine/login/login.page.scss | 12 + cls/src/app/mine/login/login.page.ts | 15 +- cls/src/app/mine/mine-routing.module.ts | 40 +- cls/src/app/mine/mine.module.ts | 4 +- cls/src/app/mine/mine.page.html | 45 +- cls/src/app/mine/mine.page.scss | 165 +- cls/src/app/mine/mine.page.spec.ts | 17 - cls/src/app/mine/mine.page.ts | 70 +- cls/src/app/mine/mine.service.ts | 38 +- .../mine/privacy/privacy-routing.module.ts | 17 + cls/src/app/mine/privacy/privacy.module.ts | 17 + cls/src/app/mine/privacy/privacy.page.html | 13 + cls/src/app/mine/privacy/privacy.page.scss | 40 + cls/src/app/mine/privacy/privacy.page.ts | 40 + cls/src/assets/home/banner.png | Bin 54255 -> 230099 bytes cls/src/assets/privacy/readme.md | 70 + cls/yarn.lock | 8292 +++++++++++++++++ config/base_providers.go | 8 +- config/config.yaml | 4 +- go.mod | 2 + go.sum | 5 + internal/application/article/service.go | 28 +- internal/application/auth/captcha_service.go | 43 +- internal/application/column/service.go | 28 +- internal/application/price/service.go | 130 +- internal/domain/coupon/entity.go | 30 +- internal/domain/price/entity.go | 27 +- internal/domain/price_default/entity.go | 12 + internal/domain/price_default/repository.go | 5 + internal/domain/purchase/repository.go | 1 + .../infrastructure/middleware/auth/config.go | 1 + .../middleware/auth/middleware.go | 51 +- .../persistence/article/article_repo.go | 2 +- .../persistence/price/price_repo.go | 3 +- .../price_default/price_default_repo.go | 27 + .../persistence/purchase/purchase_repo.go | 9 + .../persistence/user/user_aggregate_repo.go | 19 +- .../interfaces/article/article_handler.go | 12 +- internal/interfaces/middleware/auth.go | 1 - internal/interfaces/price/price_handler.go | 75 - internal/modules/price_module.go | 3 + main.go | 2 +- pkg/http/http.go | 2 + pkg/http/sms.go | 57 +- pkg/sms/sms.go | 50 +- 74 files changed, 10162 insertions(+), 1652 deletions(-) create mode 100644 Makefile delete mode 100644 cls/src/app/app.component.spec.ts delete mode 100644 cls/src/app/mine/mine.page.spec.ts create mode 100644 cls/src/app/mine/privacy/privacy-routing.module.ts create mode 100644 cls/src/app/mine/privacy/privacy.module.ts create mode 100644 cls/src/app/mine/privacy/privacy.page.html create mode 100644 cls/src/app/mine/privacy/privacy.page.scss create mode 100644 cls/src/app/mine/privacy/privacy.page.ts create mode 100644 cls/src/assets/privacy/readme.md create mode 100644 cls/yarn.lock create mode 100644 internal/domain/price_default/entity.go create mode 100644 internal/domain/price_default/repository.go create mode 100644 internal/infrastructure/persistence/price_default/price_default_repo.go delete mode 100644 internal/interfaces/middleware/auth.go diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ed0be88 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +all: frontend build tar +image: frontend docker-build save-image + +TAG=v1.0 + +frontend: + cd cls && yarn run build +tar: + tar -czf cls-h5.$(TAG).tar.gz cls config + +docker-build: + docker build -t k8s.dingshudata.com/cmcc-panoramic-application:$(TAG) . + +save-image: + docker save -o cmcc.tar k8s.dingshudata.com/cmcc-panoramic-application + +build:export CGO_ENABLED=0 +build:export GOOS=linux +build:export GOARCH=amd64 +build: + go build -ldflags -s -tags="jsoniter nomsgpack" . diff --git a/cls/package-lock.json b/cls/package-lock.json index 4288e37..20a70c0 100644 --- a/cls/package-lock.json +++ b/cls/package-lock.json @@ -73,13 +73,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1902.2", - "resolved": "https://registry.npmmirror.com/@angular-devkit/architect/-/architect-0.1902.2.tgz", - "integrity": "sha512-GDhWXFl0Qm2A9246YRkbB60jlsi0XdtC22OykKJ6K/esZOb0DU6TvuxxaL94jOOg85a5TworkH2/H8wstrbiIw==", + "version": "0.1902.4", + "resolved": "https://registry.npmmirror.com/@angular-devkit/architect/-/architect-0.1902.4.tgz", + "integrity": "sha512-YTLiJ7uVItZTAxRuSgASP0M5qILESWH8xGmfR+YWR1JiJem09DWEOpWeLdha1BFzUui5L+6j1btzh4FUHJOtAg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.2", + "@angular-devkit/core": "19.2.4", "rxjs": "7.8.1" }, "engines": { @@ -99,28 +99,28 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular-devkit/build-angular/-/build-angular-19.2.2.tgz", - "integrity": "sha512-fIvMlQz1rItZT9Zz4osy4tMXaAKFeoqCLqLns6V8GYEnrjwZnCSJtPnnaByzcEDaU+YA7xfdgycREyqFk5zB8Q==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-angular/-/build-angular-19.2.4.tgz", + "integrity": "sha512-OO8jlLY1SKUbcx3xx4LhbHcecAE9CnMrvIGMOgeKflDI7W57kYUI1lg86k/+Xm76/H2XlbsHdwLKOfFAupfl7g==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.2", - "@angular-devkit/build-webpack": "0.1902.2", - "@angular-devkit/core": "19.2.2", - "@angular/build": "19.2.2", - "@babel/core": "7.26.9", - "@babel/generator": "7.26.9", + "@angular-devkit/architect": "0.1902.4", + "@angular-devkit/build-webpack": "0.1902.4", + "@angular-devkit/core": "19.2.4", + "@angular/build": "19.2.4", + "@babel/core": "7.26.10", + "@babel/generator": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-transform-async-generator-functions": "7.26.8", "@babel/plugin-transform-async-to-generator": "7.25.9", - "@babel/plugin-transform-runtime": "7.26.9", + "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", - "@babel/runtime": "7.26.9", + "@babel/runtime": "7.26.10", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.2.2", + "@ngtools/webpack": "19.2.4", "@vitejs/plugin-basic-ssl": "1.2.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -174,7 +174,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.2", + "@angular/ssr": "^19.2.4", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", @@ -235,13 +235,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1902.2", - "resolved": "https://registry.npmmirror.com/@angular-devkit/build-webpack/-/build-webpack-0.1902.2.tgz", - "integrity": "sha512-Msr09kAgT2mr2lcytQOW1rlI+Hg14HhOLu1Dnq2gpZ7KGZ6/Mbd9MwnstwRK04cp7Q+DQay11rapV5seUz8eBg==", + "version": "0.1902.4", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-webpack/-/build-webpack-0.1902.4.tgz", + "integrity": "sha512-TWZsnPMR2JvrQapO7kg4YbUgrKxu74TCYOZZrGfIA7CCIthykflWevMPGZmrTAh3mXX414P31XmoBQViXUe7iQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1902.2", + "@angular-devkit/architect": "0.1902.4", "rxjs": "7.8.1" }, "engines": { @@ -265,9 +265,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular-devkit/core/-/core-19.2.2.tgz", - "integrity": "sha512-5vtx5c2jLgl18TFze0fYhpkw8lWTtRoaiH5WPJ98AR2tENw657Hb5Viudc9MicySpWnPrPxgNCzRGjODyHLcjQ==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@angular-devkit/core/-/core-19.2.4.tgz", + "integrity": "sha512-dL6AmCQsKh+CFVvO/jxX8qZpamVwt9r4iIo7fYcAI2+mTSDGxxBGWbS+onIfdPFuRp2HgKa+AT6WiHmRqu63AA==", "dev": true, "license": "MIT", "dependencies": { @@ -303,13 +303,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-19.2.2.tgz", - "integrity": "sha512-7AUJ4DhGiyGQR/+EGtWyk2OfxH9v1I4BkHMQV4zMMSPKmnJsTVpCX1mIYI/1PgJJL50aDaj167WiddfLBl80+A==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-19.2.4.tgz", + "integrity": "sha512-WaFe95ncm1A+QTlUHxQcFyGKIn67xgqGX7WCj8R0QlKOS0hLKx97SG4p19uwHlww0lmAcwk/QJP6G6sPL/CJ9w==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.2", + "@angular-devkit/core": "19.2.4", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", "ora": "5.4.1", @@ -435,9 +435,9 @@ } }, "node_modules/@angular/animations": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/animations/-/animations-19.2.2.tgz", - "integrity": "sha512-WG+0IBzS77WxqGhK8dcZdt5D0doe9wpfeSfKArJwLeRvGzG+4fYEmajGusklAcxnP0R6LzUkVNHrfwJspLvyEw==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/animations/-/animations-19.2.3.tgz", + "integrity": "sha512-HQexOmwEJFX3sHLspOCi7dVOdPW5Ad4jH6tJsf+zABkF0GjgIVf4jewe1uE5ZLKgoflr9f9vpcpy39IWl00kWw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -446,19 +446,19 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.2.2" + "@angular/core": "19.2.3" } }, "node_modules/@angular/build": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/build/-/build-19.2.2.tgz", - "integrity": "sha512-VSt0kDAHc5E2rQXf9Xht6W8Xb+UZKW3bOkn1pfiwYO+C2JN/M+KDTWSTIF7yJCWjxfCCi6uzK7RLzTpaS+nIIQ==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@angular/build/-/build-19.2.4.tgz", + "integrity": "sha512-poCXvmwKri3snWa9zVJ2sW7wyJatZjkwnH6GUBdJrM2dXRQ+LYLk/oXqEjlSRBYNna7P1ZcKNqBbzu0/SnnngA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.2", - "@babel/core": "7.26.9", + "@angular-devkit/architect": "0.1902.4", + "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", @@ -497,7 +497,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.2", + "@angular/ssr": "^19.2.4", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -637,18 +637,18 @@ } }, "node_modules/@angular/cli": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/cli/-/cli-19.2.2.tgz", - "integrity": "sha512-j2IqFlwxgnH2MTz06xZIzn8I5BL5wY7fmE9inqnN8KHYqbEPQYkM+wBah6txIEnGkjjO5wnTw0pMQpbMogWH/w==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@angular/cli/-/cli-19.2.4.tgz", + "integrity": "sha512-YmZYrxdGBwSZsrnpS6vr9gQ8+PrZHzwyYW/3jU2NRAMtl0ZlipDyfpLIDgrfqYPeumzr7+SKtJYVvlsMnjkN4g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1902.2", - "@angular-devkit/core": "19.2.2", - "@angular-devkit/schematics": "19.2.2", + "@angular-devkit/architect": "0.1902.4", + "@angular-devkit/core": "19.2.4", + "@angular-devkit/schematics": "19.2.4", "@inquirer/prompts": "7.3.2", "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.2.2", + "@schematics/angular": "19.2.4", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -671,9 +671,9 @@ } }, "node_modules/@angular/common": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/common/-/common-19.2.2.tgz", - "integrity": "sha512-tLb4/gAjy1WFYZd68FnwLaC8w3b10RG8r+x5MUnbyhJa9K3qILzF8gWUVJ4tKLKentB3fWPWPNs9OFZH5XVf1g==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/common/-/common-19.2.3.tgz", + "integrity": "sha512-cYOMRXFb6Sjtg9BI3bE/Ave+xU234jQmHYj7hBxr3MiqRSVJL4niy10KiA/Jiz6y76V5QfZfS+0aE65VuoqAvg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -682,34 +682,26 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.2.2", + "@angular/core": "19.2.3", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/compiler/-/compiler-19.2.2.tgz", - "integrity": "sha512-Aa5BTaSC6QInjiyTrjfTElKYC07trozdWuPhdG6JiwSAZ/ryQDzMLayHQ+MJSq3TsvpwNd+ld86RK0ARRSmJbA==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/compiler/-/compiler-19.2.3.tgz", + "integrity": "sha512-TL/JIU7vzSWD+IrMq2PAiHZi7IUFSRhdHo8q6/WuZ8SQmbuXCK2pJvHZpTtUdLswdPeD/UVhkhTAhQzEyEdZVg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/core": "19.2.2" - }, - "peerDependenciesMeta": { - "@angular/core": { - "optional": true - } } }, "node_modules/@angular/compiler-cli": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/compiler-cli/-/compiler-cli-19.2.2.tgz", - "integrity": "sha512-RPUSZGf1wnSyDkwt3pZ0W/m3e3+vM1PwdgLpV5OGGJSki0VtNFp2xlnCpwrF/EDPJk2kLBj7nQADfB/P5lX9eA==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/compiler-cli/-/compiler-cli-19.2.3.tgz", + "integrity": "sha512-ePh/7A6eEDAyfVn8QgLcAvrxhXBAf6mTqB/3+HwQeXLaka1gtN6xvZ6cjLEegP4s6kcYGhdfdLwzCcy0kjsY5g==", "dev": true, "license": "MIT", "dependencies": { @@ -731,14 +723,62 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "19.2.2", + "@angular/compiler": "19.2.3", "typescript": ">=5.5 <5.9" } }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@angular/core": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/core/-/core-19.2.2.tgz", - "integrity": "sha512-RL2wxk62BREW4sksnBSjtBDgPxHqIJQKkrlxXbbu2jZql7xohEQtdTZP3DB6iWnZLYgz8CAfTzyaHMvj6HfdLg==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/core/-/core-19.2.3.tgz", + "integrity": "sha512-uNDbQBDWdAfL8JhgG2l9eTEbikovZ+SthLUKERyR4fL7AVGSx85LjNySRuq4WAL4eiD1cRN1UUgu8o+WKqF/ow==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -752,9 +792,9 @@ } }, "node_modules/@angular/forms": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/forms/-/forms-19.2.2.tgz", - "integrity": "sha512-Cin+VdP4SbSZU1VQvZLkIJ6j0srGoWHG/yS7HjsVRNGQHT9kRGi/sz8DE0wHYspLPkq0dGgkVFUcjzDKs3O+wA==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/forms/-/forms-19.2.3.tgz", + "integrity": "sha512-JEgNKiZd3taYBg9lsMvoana5cv1QGke8xkuryc9zesHPJjhw9QHllmDPOW2HyUuwPqXZ/YkHiuCMOk+4qPjsAw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -763,16 +803,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.2.2", - "@angular/core": "19.2.2", - "@angular/platform-browser": "19.2.2", + "@angular/common": "19.2.3", + "@angular/core": "19.2.3", + "@angular/platform-browser": "19.2.3", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/language-service/-/language-service-19.2.2.tgz", - "integrity": "sha512-QWGE0+T9W6Abu1JpEuEywM89PP0ROy/qLORxrNeEiQxObzTvseqvzjREIV7dEh9wfc4A58OvG3E88TZHt30TuA==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/language-service/-/language-service-19.2.3.tgz", + "integrity": "sha512-qq54VhRTk8jxnqXN6Q4wK1W7ewSkD0kdhii0Sif25gbkNvfDfqd1PjtnojelG81sN8XhBeMBcDhtbmEQX4nqHg==", "dev": true, "license": "MIT", "engines": { @@ -780,9 +820,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/platform-browser/-/platform-browser-19.2.2.tgz", - "integrity": "sha512-D15zwFiOczbPhJrdCgbuZwSDwQb6uyDjM5YI3SgIFIxP2JiVdBg3AvmqoJQOuU8ntMeeiOxtdl8nqcvUddhdPw==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser/-/platform-browser-19.2.3.tgz", + "integrity": "sha512-bz5mvUkCS8SxaMInjPgi/2dD7vpWkZePQesvr/bBRNQbYSE4cGTbovXcVl3X5hIxs5JoC6Het0lS2IxDq7j6qg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -791,9 +831,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.2.2", - "@angular/common": "19.2.2", - "@angular/core": "19.2.2" + "@angular/animations": "19.2.3", + "@angular/common": "19.2.3", + "@angular/core": "19.2.3" }, "peerDependenciesMeta": { "@angular/animations": { @@ -802,9 +842,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.2.tgz", - "integrity": "sha512-N3Zb9qMZ3+ygDBr8uaMmUwmKFaVExF0RNzLMMsQy1qSDBbdKybBqN9dnBgtdJWUN/ORGVHhmOfosaWgLOyyU4A==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.3.tgz", + "integrity": "sha512-PHmmtdGxSfe9HL8xR4g3PspnEaPqTEOGyzNviAHugfkZCgXCdSbYs36d3i0nPwhExMAeuIVXbbJyouDn2kyeOw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -813,16 +853,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.2.2", - "@angular/compiler": "19.2.2", - "@angular/core": "19.2.2", - "@angular/platform-browser": "19.2.2" + "@angular/common": "19.2.3", + "@angular/compiler": "19.2.3", + "@angular/core": "19.2.3", + "@angular/platform-browser": "19.2.3" } }, "node_modules/@angular/router": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@angular/router/-/router-19.2.2.tgz", - "integrity": "sha512-H0JEN1cs7uX++piCyT2gfhgqONceCKbRRZq+zr1T61c5heAi2pBGHuuZnU0D1d0sgA82CGcWFrTduUJg5wWamw==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/@angular/router/-/router-19.2.3.tgz", + "integrity": "sha512-yYVMT7CceKqE+fBXxkhkAqEQUEdY/BHtLQr1vP9rEnAf30vwKghDEresugfegY6Ch4IGKTBtDG/QGmxWszgUAQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -831,9 +871,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.2.2", - "@angular/core": "19.2.2", - "@angular/platform-browser": "19.2.2", + "@angular/common": "19.2.3", + "@angular/core": "19.2.3", + "@angular/platform-browser": "19.2.3", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -863,22 +903,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.10.tgz", + "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", + "@babel/generator": "^7.26.10", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", + "@babel/helpers": "^7.26.10", + "@babel/parser": "^7.26.10", "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -911,14 +951,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.10.tgz", + "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/parser": "^7.26.10", + "@babel/types": "^7.26.10", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -1028,9 +1068,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", + "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", "dev": true, "license": "MIT", "dependencies": { @@ -2087,16 +2127,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.9.tgz", - "integrity": "sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", + "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-plugin-utils": "^7.26.5", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -2349,20 +2389,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", @@ -2389,9 +2415,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", + "version": "7.26.10", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.10.tgz", + "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", "dev": true, "license": "MIT", "dependencies": { @@ -2435,23 +2461,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { "version": "7.26.10", "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz", @@ -2508,16 +2517,6 @@ "node": ">=20.0.0" } }, - "node_modules/@capacitor/cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmmirror.com/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/@capacitor/cli/node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -2528,45 +2527,6 @@ "node": ">=8" } }, - "node_modules/@capacitor/cli/node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@capacitor/cli/node_modules/glob": { - "version": "11.0.1", - "resolved": "https://registry.npmmirror.com/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@capacitor/cli/node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", @@ -2596,61 +2556,6 @@ "node": ">=8" } }, - "node_modules/@capacitor/cli/node_modules/jackspeak": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-4.1.0.tgz", - "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@capacitor/cli/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@capacitor/cli/node_modules/lru-cache": { - "version": "11.0.2", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-11.0.2.tgz", - "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@capacitor/cli/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@capacitor/cli/node_modules/open": { "version": "8.4.2", "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", @@ -2669,53 +2574,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@capacitor/cli/node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@capacitor/cli/node_modules/rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@capacitor/cli/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@capacitor/core": { "version": "7.1.0", "resolved": "https://registry.npmmirror.com/@capacitor/core/-/core-7.1.0.tgz", @@ -3213,9 +3071,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.0.tgz", - "integrity": "sha512-RoV8Xs9eNwiDvhv7M+xcL4PWyRyIXRY/FLp3buU4h1EYfdF7unWUy3dOjPqb3C7rMUewIcqwW850PgS8h1o1yg==", + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", + "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", "dev": true, "license": "MIT", "dependencies": { @@ -3369,9 +3227,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "license": "MIT", "engines": { @@ -3499,13 +3357,13 @@ } }, "node_modules/@inquirer/checkbox": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/@inquirer/checkbox/-/checkbox-4.1.3.tgz", - "integrity": "sha512-KU1MGwf24iABJjGESxhyj+/rlQYSRoCfcuHDEHXfZ1DENmbuSRfyrUb+LLjHoee5TNOFKwaFxDXc5/zRwJUPMQ==", + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/@inquirer/checkbox/-/checkbox-4.1.4.tgz", + "integrity": "sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2", @@ -3546,9 +3404,9 @@ } }, "node_modules/@inquirer/core": { - "version": "10.1.8", - "resolved": "https://registry.npmmirror.com/@inquirer/core/-/core-10.1.8.tgz", - "integrity": "sha512-HpAqR8y715zPpM9e/9Q+N88bnGwqqL8ePgZ0SMv/s3673JLMv3bIkoivGmjPqXlEgisUksSXibweQccUwEx4qQ==", + "version": "10.1.9", + "resolved": "https://registry.npmmirror.com/@inquirer/core/-/core-10.1.9.tgz", + "integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==", "dev": true, "license": "MIT", "dependencies": { @@ -3574,13 +3432,13 @@ } }, "node_modules/@inquirer/editor": { - "version": "4.2.8", - "resolved": "https://registry.npmmirror.com/@inquirer/editor/-/editor-4.2.8.tgz", - "integrity": "sha512-UkGKbMFlQw5k4ZLjDwEi5z8NIVlP/3DAlLHta0o0pSsdpPThNmPtUL8mvGCHUaQtR+QrxR9yRYNWgKMsHkfIUA==", + "version": "4.2.9", + "resolved": "https://registry.npmmirror.com/@inquirer/editor/-/editor-4.2.9.tgz", + "integrity": "sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "external-editor": "^3.1.0" }, @@ -3597,13 +3455,13 @@ } }, "node_modules/@inquirer/expand": { - "version": "4.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/expand/-/expand-4.0.10.tgz", - "integrity": "sha512-leyBouGJ77ggv51Jb/OJmLGGnU2HYc13MZ2iiPNLwe2VgFgZPVqsrRWSa1RAHKyazjOyvSNKLD1B2K7A/iWi1g==", + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/@inquirer/expand/-/expand-4.0.11.tgz", + "integrity": "sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" }, @@ -3630,13 +3488,13 @@ } }, "node_modules/@inquirer/input": { - "version": "4.1.7", - "resolved": "https://registry.npmmirror.com/@inquirer/input/-/input-4.1.7.tgz", - "integrity": "sha512-rCQAipJNA14UTH84df/z4jDJ9LZ54H6zzuCAi7WZ0qVqx3CSqLjfXAMd5cpISIxbiHVJCPRB81gZksq6CZsqDg==", + "version": "4.1.8", + "resolved": "https://registry.npmmirror.com/@inquirer/input/-/input-4.1.8.tgz", + "integrity": "sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5" }, "engines": { @@ -3652,13 +3510,13 @@ } }, "node_modules/@inquirer/number": { - "version": "3.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/number/-/number-3.0.10.tgz", - "integrity": "sha512-GLsdnxzNefjCJUmWyjaAuNklHgDpCTL4RMllAVhVvAzBwRW9g38eZ5tWgzo1lirtSDTpsh593hqXVhxvdrjfwA==", + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/@inquirer/number/-/number-3.0.11.tgz", + "integrity": "sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5" }, "engines": { @@ -3674,13 +3532,13 @@ } }, "node_modules/@inquirer/password": { - "version": "4.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/password/-/password-4.0.10.tgz", - "integrity": "sha512-JC538ujqeYKkFqLoWZ0ILBteIUO2yajBMVEUZSxjl9x6fiEQtM+I5Rca7M2D8edMDbyHLnXifGH1hJZdh8V5rA==", + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/@inquirer/password/-/password-4.0.11.tgz", + "integrity": "sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2" }, @@ -3727,13 +3585,13 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "4.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/rawlist/-/rawlist-4.0.10.tgz", - "integrity": "sha512-vOQbQkmhaCsF2bUmjoyRSZJBz77UnIF/F3ZS2LMgwbgyaG2WgwKHh0WKNj0APDB72WDbZijhW5nObQbk+TnbcA==", + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/@inquirer/rawlist/-/rawlist-4.0.11.tgz", + "integrity": "sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" }, @@ -3750,13 +3608,13 @@ } }, "node_modules/@inquirer/search": { - "version": "3.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/search/-/search-3.0.10.tgz", - "integrity": "sha512-EAVKAz6P1LajZOdoL+R+XC3HJYSU261fbJzO4fCkJJ7UPFcm+nP+gzC+DDZWsb2WK9PQvKsnaKiNKsY8B6dBWQ==", + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/@inquirer/search/-/search-3.0.11.tgz", + "integrity": "sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "yoctocolors-cjs": "^2.1.2" @@ -3774,13 +3632,13 @@ } }, "node_modules/@inquirer/select": { - "version": "4.0.10", - "resolved": "https://registry.npmmirror.com/@inquirer/select/-/select-4.0.10.tgz", - "integrity": "sha512-Tg8S9nESnCfISu5tCZSuXpXq0wHuDVimj7xyHstABgR34zcJnLdq/VbjB2mdZvNAMAehYBnNzSjxB06UE8LLAA==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@inquirer/select/-/select-4.1.0.tgz", + "integrity": "sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.8", + "@inquirer/core": "^10.1.9", "@inquirer/figures": "^1.0.11", "@inquirer/type": "^3.0.5", "ansi-escapes": "^4.3.2", @@ -3817,12 +3675,12 @@ } }, "node_modules/@ionic/angular": { - "version": "8.4.3", - "resolved": "https://registry.npmmirror.com/@ionic/angular/-/angular-8.4.3.tgz", - "integrity": "sha512-dIrO7luoj9Iepo4tYKTzhCEpVFWIqZ1RNgDPttKVHa8hE4xhvbb1y2Ou9zmpz7cI5QShAkr3tnAbb7rkYh4fFQ==", + "version": "8.5.1", + "resolved": "https://registry.npmmirror.com/@ionic/angular/-/angular-8.5.1.tgz", + "integrity": "sha512-MS6Avg/LvExI+GRZzdcTfOi735xW+sc05JUdlJh7QwTVN2+5IVj1bbm/7ULbM3trGef+nM9gW/sEm6T50O+4ag==", "license": "MIT", "dependencies": { - "@ionic/core": "8.4.3", + "@ionic/core": "8.5.1", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -3848,9 +3706,9 @@ } }, "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/core": { - "version": "18.2.14", - "resolved": "https://registry.npmmirror.com/@angular-devkit/core/-/core-18.2.14.tgz", - "integrity": "sha512-UGIGOjXuOyCW+5S4tINu7e6LOu738CmTw3h7Ui1I8OzdTIYJcYJrei8sgrwDwOYADRal+p0MeMlnykH3TM5XBA==", + "version": "18.2.15", + "resolved": "https://registry.npmmirror.com/@angular-devkit/core/-/core-18.2.15.tgz", + "integrity": "sha512-GjfNjGwh1YG+bXXx7V95XRlJEaHb2sEyRmMyn31iLF9IZIR9So/tXkyHlSEiu/kv0/lzQYN6T4NeBxn7sHxBqw==", "dev": true, "license": "MIT", "dependencies": { @@ -3876,13 +3734,13 @@ } }, "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/schematics": { - "version": "18.2.14", - "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-18.2.14.tgz", - "integrity": "sha512-mukjZIHHB7gWratq8fZwUq5WZ+1bF4feG/idXr1wgQ+/FqWjs2PP7HDesHVcPymmRulpTyCpB7TNB1O1fgnCpA==", + "version": "18.2.15", + "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-18.2.15.tgz", + "integrity": "sha512-qbdS1NgcsO1/85efTFQ8WZMFK84EAe/fsiK5XwmWFJCH9+vvXO5zbOTz4IrANlfpCDbhHY1ojOdszzGLz18kNg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.14", + "@angular-devkit/core": "18.2.15", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -3895,14 +3753,14 @@ } }, "node_modules/@ionic/angular-toolkit/node_modules/@schematics/angular": { - "version": "18.2.14", - "resolved": "https://registry.npmmirror.com/@schematics/angular/-/angular-18.2.14.tgz", - "integrity": "sha512-CHh6ew2Az71UlvVcnYeuMEwjwkZqR7y/9ebLzFRvczC71ZL8qPVBpBTVGbCpGBd54VEbCZVWRxBQoZZ5LP/aBw==", + "version": "18.2.15", + "resolved": "https://registry.npmmirror.com/@schematics/angular/-/angular-18.2.15.tgz", + "integrity": "sha512-fGaexZMhYZ6v8hBymJqB/FqFrJIcJPacEBeS4CBmU0Ju9C72PueaGqQ1it3SJxwvMOPCxxML4lbDWTWCnzzBGQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.14", - "@angular-devkit/schematics": "18.2.14", + "@angular-devkit/core": "18.2.15", + "@angular-devkit/schematics": "18.2.15", "jsonc-parser": "3.3.1" }, "engines": { @@ -4019,9 +3877,9 @@ } }, "node_modules/@ionic/core": { - "version": "8.4.3", - "resolved": "https://registry.npmmirror.com/@ionic/core/-/core-8.4.3.tgz", - "integrity": "sha512-U9HdZ32bre6OKA5akJVmQMxNB8Art3Nqdn3s7m2W83I5NhLg9Tehaf8ua8jxPZtxCa1nuN7tUbzHmMCkcdqDTw==", + "version": "8.5.1", + "resolved": "https://registry.npmmirror.com/@ionic/core/-/core-8.5.1.tgz", + "integrity": "sha512-XsI1ImfgO87EdNucfmKESPN4djLyclNTwzU2AY7xSzSonKjTAft6qrK1/qU2ys829bmbM7/4+tHFb0UOnt3uHQ==", "license": "MIT", "dependencies": { "@stencil/core": "4.20.0", @@ -4075,29 +3933,6 @@ "node": ">=10" } }, - "node_modules/@ionic/utils-fs/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@ionic/utils-fs/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@ionic/utils-object": { "version": "2.1.6", "resolved": "https://registry.npmmirror.com/@ionic/utils-object/-/utils-object-2.1.6.tgz", @@ -4192,33 +4027,6 @@ "node": ">=16.0.0" } }, - "node_modules/@ionic/utils-terminal/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/utils-terminal/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@ionic/utils-terminal/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@ionic/utils-terminal/node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", @@ -4226,52 +4034,6 @@ "dev": true, "license": "ISC" }, - "node_modules/@ionic/utils-terminal/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/@ionic/utils-terminal/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/utils-terminal/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@ionic/utils-terminal/node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -4308,6 +4070,19 @@ "node": ">=12" } }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -4346,6 +4121,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", @@ -5028,9 +4819,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@ngtools/webpack/-/webpack-19.2.2.tgz", - "integrity": "sha512-MEMIXaGgWD8DYgD12yRTgelz5c/cR8PCSDt4RzNHc9Yv4LgmS6z5yndu35U7RvbM7RP/qDgPZjucVyhl9f9EDg==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@ngtools/webpack/-/webpack-19.2.4.tgz", + "integrity": "sha512-I2vG9Yb0W/PR5+quBmSUk6uGa4xN/YvfJk+30bFDB/CpJlTQEo+3AOFCDYcDOxrbtjON80VdFYPypQ5ztbpdYw==", "dev": true, "license": "MIT", "engines": { @@ -5962,14 +5753,14 @@ "license": "MIT" }, "node_modules/@schematics/angular": { - "version": "19.2.2", - "resolved": "https://registry.npmmirror.com/@schematics/angular/-/angular-19.2.2.tgz", - "integrity": "sha512-F53LZYB42BCcmWvxuvOd61MJZJ+Z6T/ZGofFRNI3Xioxl0Qnmo/fgnGK+zmCudYzzCFoOixg7ktxNIPWqh06Rw==", + "version": "19.2.4", + "resolved": "https://registry.npmmirror.com/@schematics/angular/-/angular-19.2.4.tgz", + "integrity": "sha512-P7fphIPbqHHYRVRPiFl7RAHYPYhINGSUYOXrcThVBBsgKQBX18oNdUWvhZA6ylwK/9T21XB20VyLjNy0d78H1Q==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.2", - "@angular-devkit/schematics": "19.2.2", + "@angular-devkit/core": "19.2.4", + "@angular-devkit/schematics": "19.2.4", "jsonc-parser": "3.3.1" }, "engines": { @@ -6392,17 +6183,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.26.1.tgz", - "integrity": "sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz", + "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/type-utils": "8.26.1", - "@typescript-eslint/utils": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/type-utils": "8.27.0", + "@typescript-eslint/utils": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -6432,16 +6223,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.26.1.tgz", - "integrity": "sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.27.0.tgz", + "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/typescript-estree": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "debug": "^4.3.4" }, "engines": { @@ -6457,14 +6248,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.26.1.tgz", - "integrity": "sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz", + "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1" + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6475,14 +6266,14 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.26.1.tgz", - "integrity": "sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz", + "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.26.1", - "@typescript-eslint/utils": "8.26.1", + "@typescript-eslint/typescript-estree": "8.27.0", + "@typescript-eslint/utils": "8.27.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.1" }, @@ -6499,9 +6290,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.26.1.tgz", - "integrity": "sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.27.0.tgz", + "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==", "dev": true, "license": "MIT", "engines": { @@ -6513,14 +6304,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.26.1.tgz", - "integrity": "sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz", + "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/visitor-keys": "8.26.1", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/visitor-keys": "8.27.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -6540,16 +6331,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.26.1.tgz", - "integrity": "sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.27.0.tgz", + "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.26.1", - "@typescript-eslint/types": "8.26.1", - "@typescript-eslint/typescript-estree": "8.26.1" + "@typescript-eslint/scope-manager": "8.27.0", + "@typescript-eslint/types": "8.27.0", + "@typescript-eslint/typescript-estree": "8.27.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6564,13 +6355,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.26.1", - "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.26.1.tgz", - "integrity": "sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==", + "version": "8.27.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz", + "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.26.1", + "@typescript-eslint/types": "8.27.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -6983,16 +6774,13 @@ } }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/ansi-styles": { @@ -7111,18 +6899,19 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -7304,14 +7093,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "version": "0.4.13", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", + "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/helper-define-polyfill-provider": "^0.6.4", "semver": "^6.3.1" }, "peerDependencies": { @@ -7329,27 +7118,27 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "version": "0.11.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", + "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7829,9 +7618,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001704", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001704.tgz", - "integrity": "sha512-+L2IgBbV6gXB4ETf0keSvLr7JUrRVbIaB/lrQ1+z8mRcQiisG5k+lG6O4n6Y5q6f5EuNfaYXKgymucphlEXQew==", + "version": "1.0.30001706", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz", + "integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==", "dev": true, "funding": [ { @@ -7955,111 +7744,153 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 12" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/cli-truncate/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "license": "MIT", - "engines": { + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { "node": ">=0.8" } }, @@ -8129,11 +7960,14 @@ } }, "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "version": "12.1.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/comment-parser": { "version": "1.4.1", @@ -8864,9 +8698,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.115", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.115.tgz", - "integrity": "sha512-MN1nahVHAQMOz6dz6bNZ7apgqc9InZy7Ja4DBEVCTdeiUcegbyOYE9bi/f2Z/z6ZxLi0RxLpyJ3EGe+4h3w73A==", + "version": "1.5.120", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.120.tgz", + "integrity": "sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ==", "dev": true, "license": "ISC" }, @@ -8883,17 +8717,10 @@ "node": ">= 0.4.0" } }, - "node_modules/elementtree/node_modules/sax": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.1.4.tgz", - "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", - "dev": true, - "license": "ISC" - }, "node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, @@ -9622,9 +9449,9 @@ } }, "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "license": "MIT", "engines": { @@ -10227,18 +10054,18 @@ } }, "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=14.14" } }, "node_modules/fs-minipass": { @@ -10411,7 +10238,6 @@ "version": "7.2.3", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -11003,7 +10829,6 @@ "version": "1.0.6", "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "license": "ISC", "dependencies": { @@ -11274,16 +11099,13 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/is-generator-function": { @@ -11897,11 +11719,14 @@ "license": "MIT" }, "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -12092,16 +11917,6 @@ "source-map-support": "^0.5.5" } }, - "node_modules/karma/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/karma/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -12150,13 +11965,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/karma/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, "node_modules/karma/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", @@ -12170,16 +11978,6 @@ "node": ">= 6" } }, - "node_modules/karma/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/karma/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", @@ -12219,6 +12017,22 @@ "node": ">=8.10.0" } }, + "node_modules/karma/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", @@ -12229,34 +12043,6 @@ "node": ">=0.10.0" } }, - "node_modules/karma/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/karma/node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.3.tgz", @@ -12517,6 +12303,19 @@ "node": ">=18.0.0" } }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/listr2/node_modules/ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -12530,6 +12329,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/listr2/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, "node_modules/listr2/node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz", @@ -12537,6 +12343,40 @@ "dev": true, "license": "MIT" }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "9.0.0", "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz", @@ -12692,6 +12532,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/log-update/node_modules/ansi-styles": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", @@ -12705,6 +12558,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/log-update/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { "version": "5.0.0", "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", @@ -12738,26 +12598,60 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" }, "engines": { "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log4js": { - "version": "6.9.1", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", "resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz", "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "dev": true, @@ -13329,9 +13223,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.9", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.9.tgz", - "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==", + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -13374,9 +13268,9 @@ } }, "node_modules/native-run/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", "dev": true, "license": "ISC", "engines": { @@ -13422,6 +13316,14 @@ "node": ">=0.10.0" } }, + "node_modules/needle/node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC", + "optional": true + }, "node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-1.0.0.tgz", @@ -13980,16 +13882,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -14040,19 +13932,6 @@ "dev": true, "license": "ISC" }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ordered-binary": { "version": "1.5.3", "resolved": "https://registry.npmmirror.com/ordered-binary/-/ordered-binary-1.5.3.tgz", @@ -15233,17 +15112,103 @@ "license": "MIT" }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "license": "ISC", "dependencies": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "11.0.1", + "resolved": "https://registry.npmmirror.com/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-4.1.0.tgz", + "integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.0.2", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-11.0.2.tgz", + "integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -15480,9 +15445,9 @@ } }, "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", "dev": true, "license": "ISC" }, @@ -15975,35 +15940,23 @@ "license": "ISC" }, "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -16364,6 +16317,41 @@ "node": ">=8.0" } }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", @@ -16375,21 +16363,18 @@ } }, "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/string-width-cjs": { @@ -16408,46 +16393,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/string.prototype.trim": { "version": "1.2.10", "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", @@ -16508,19 +16453,16 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=8" } }, "node_modules/strip-ansi-cjs": { @@ -16537,16 +16479,6 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", @@ -16597,9 +16529,9 @@ } }, "node_modules/swiper": { - "version": "11.2.5", - "resolved": "https://registry.npmmirror.com/swiper/-/swiper-11.2.5.tgz", - "integrity": "sha512-nG0kbIyBfeE2BPFt9nPUX03qUBF75o6+enzjIT/DfCmbh8ORlwhc4eZz1+4H/yseAgb3H+OoEYzmb64i0tYNnQ==", + "version": "11.2.6", + "resolved": "https://registry.npmmirror.com/swiper/-/swiper-11.2.6.tgz", + "integrity": "sha512-8aXpYKtjy3DjcbzZfz+/OX/GhcU5h+looA6PbAzHMZT6ESSycSp9nAjPCenczgJyslV+rUGse64LMGpWE3PX9Q==", "funding": [ { "type": "patreon", @@ -16807,6 +16739,13 @@ } } }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, "node_modules/thingies": { "version": "1.21.0", "resolved": "https://registry.npmmirror.com/thingies/-/thingies-1.21.0.tgz", @@ -17236,13 +17175,13 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4.0.0" + "node": ">= 10.0.0" } }, "node_modules/unpipe": { @@ -17386,9 +17325,9 @@ } }, "node_modules/vite": { - "version": "6.2.1", - "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.1.tgz", - "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==", + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.2.tgz", + "integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==", "dev": true, "license": "MIT", "peer": true, @@ -18044,116 +17983,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", @@ -18263,61 +18092,6 @@ "node": ">=12" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz", diff --git a/cls/src/app/app-routing.module.ts b/cls/src/app/app-routing.module.ts index 44f54a8..aa86248 100644 --- a/cls/src/app/app-routing.module.ts +++ b/cls/src/app/app-routing.module.ts @@ -8,7 +8,7 @@ const routes: Routes = [ pathMatch: 'full' }, { - path:'home', + path: 'home', loadChildren: () => import('./home/home.module').then(m => m.HomePageModule) }, { diff --git a/cls/src/app/app.component.spec.ts b/cls/src/app/app.component.spec.ts deleted file mode 100644 index 51b7b65..0000000 --- a/cls/src/app/app.component.spec.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { TestBed } from '@angular/core/testing'; - -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [AppComponent], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - -}); diff --git a/cls/src/app/core/interceptors/auth.interceptor.ts b/cls/src/app/core/interceptors/auth.interceptor.ts index fc2e931..8a761dd 100644 --- a/cls/src/app/core/interceptors/auth.interceptor.ts +++ b/cls/src/app/core/interceptors/auth.interceptor.ts @@ -1,4 +1,4 @@ -import { Injectable } from '@angular/core'; +import {inject, Injectable, Injector} from '@angular/core'; import { HttpRequest, HttpHandler, @@ -11,39 +11,38 @@ import { AuthConfigConsts, tokenNotExpired } from "../../mine/auth.jwt"; @Injectable() export class AuthInterceptor implements HttpInterceptor { - constructor() {} - + //从请求头获取token intercept(req: HttpRequest, next: HttpHandler): Observable> { - const token = sessionStorage.getItem('token'); - console.log('当前 token:', token); - console.log('请求:', req.url); - + const token = localStorage.getItem('token'); + console.log(token) let authHeader = req.headers; if (token != null && tokenNotExpired()) { + console.log("is valid") const bearer = AuthConfigConsts.HEADER_PREFIX_BEARER + token; authHeader = authHeader.set(AuthConfigConsts.DEFAULT_HEADER_NAME, bearer); + const authReq = req.clone({headers: authHeader}); + return next.handle(authReq) + } else { + const authReq = req.clone({headers: authHeader}); + return next.handle(authReq).pipe( + tap((event) => { + // 如果是 HTTP 响应 + if (event instanceof HttpResponse) { + // 从响应头中获取 Authorization token + const authToken = event.headers.get('Authorization'); + + if (authToken && (!token || token !== authToken.replace(AuthConfigConsts.HEADER_PREFIX_BEARER, ''))) { + // 去掉 Bearer 前缀 + const newToken = authToken.replace(AuthConfigConsts.HEADER_PREFIX_BEARER, ''); + // 保存到 sessionStorage + localStorage.setItem('token', newToken); + } + } + }) + ); } - const authReq = req.clone({headers: authHeader}); - - return next.handle(authReq).pipe( - tap((event) => { - // 如果是 HTTP 响应 - if (event instanceof HttpResponse) { - // 从响应头中获取 Authorization token - const authToken = event.headers.get('Authorization'); - - if (authToken && (!token || token !== authToken.replace(AuthConfigConsts.HEADER_PREFIX_BEARER, ''))) { - console.log('从响应中获取到新的 token:', authToken); - // 去掉 Bearer 前缀 - const newToken = authToken.replace(AuthConfigConsts.HEADER_PREFIX_BEARER, ''); - // 保存到 sessionStorage - sessionStorage.setItem('token', newToken); - } - } - }) - ); } private isGuestToken(token: string): boolean { @@ -51,10 +50,8 @@ export class AuthInterceptor implements HttpInterceptor { // 解析 JWT token const payload = JSON.parse(atob(token.split('.')[1])); const isGuest = !payload.phone; - console.log('Token payload:', payload); // 添加日志 return isGuest; } catch (error) { - console.error('Error parsing token:', error); // 添加错误日志 return true; // 解析失败时默认为游客 } } diff --git a/cls/src/app/home/article-buy/article-buy.page.html b/cls/src/app/home/article-buy/article-buy.page.html index b551ef6..971efc2 100644 --- a/cls/src/app/home/article-buy/article-buy.page.html +++ b/cls/src/app/home/article-buy/article-buy.page.html @@ -11,7 +11,7 @@ diff --git a/cls/src/app/home/special-column/special-column.page.ts b/cls/src/app/home/special-column/special-column.page.ts index 0395bcb..b58792a 100644 --- a/cls/src/app/home/special-column/special-column.page.ts +++ b/cls/src/app/home/special-column/special-column.page.ts @@ -35,9 +35,7 @@ export class SpecialColumnPage implements OnInit { getColumnData() { this.homeService.getColumnByName(this.name).subscribe(data => { - console.log(data) this.column = data; - console.log(this.column) }) } diff --git a/cls/src/app/mine/auth.jwt.ts b/cls/src/app/mine/auth.jwt.ts index 01c220e..4d02e80 100644 --- a/cls/src/app/mine/auth.jwt.ts +++ b/cls/src/app/mine/auth.jwt.ts @@ -112,7 +112,7 @@ export class JwtHelper { */ export function tokenNotExpired(tokenName = AuthConfigConsts.DEFAULT_TOKEN_NAME, jwt?: string): boolean { - const token: string | null = jwt || sessionStorage.getItem(tokenName); + const token: string | null = jwt || localStorage.getItem(tokenName); const jwtHelper = new JwtHelper(); diff --git a/cls/src/app/mine/component/captcha-modal/captcha-modal.component.ts b/cls/src/app/mine/component/captcha-modal/captcha-modal.component.ts index 0967e3d..5d30174 100644 --- a/cls/src/app/mine/component/captcha-modal/captcha-modal.component.ts +++ b/cls/src/app/mine/component/captcha-modal/captcha-modal.component.ts @@ -20,12 +20,10 @@ export class CaptchaModalComponent { } captchaEvents = { confirm: (point: SlidePoint, clear: (fn: Function) => void) => { - console.log('用户滑动位置:', point); if(point.x < this.x+5 && point.x >this.x-5 ) { this.modalCtrl.dismiss(this.x) } clear(() => { - console.log('滑动验证失败,清除验证码'); }); } }; diff --git a/cls/src/app/mine/login/login.page.html b/cls/src/app/mine/login/login.page.html index e95fa1c..fce1c74 100644 --- a/cls/src/app/mine/login/login.page.html +++ b/cls/src/app/mine/login/login.page.html @@ -43,6 +43,12 @@
未注册的手机号,登录时将自动注册
+ + +
+ 登录即代表您已同意 + 《用户隐私政策》 +
diff --git a/cls/src/app/mine/login/login.page.scss b/cls/src/app/mine/login/login.page.scss index d5d9cf9..2f62714 100644 --- a/cls/src/app/mine/login/login.page.scss +++ b/cls/src/app/mine/login/login.page.scss @@ -127,4 +127,16 @@ height: auto; display: block; } +} + +.privacy-hint { + text-align: center; + font-size: 12px; + color: #999; + margin-top: 16px; + + a { + color: #ee0a24; + text-decoration: none; + } } \ No newline at end of file diff --git a/cls/src/app/mine/login/login.page.ts b/cls/src/app/mine/login/login.page.ts index ecb57b3..327d32a 100644 --- a/cls/src/app/mine/login/login.page.ts +++ b/cls/src/app/mine/login/login.page.ts @@ -83,7 +83,6 @@ export class LoginPage implements OnInit, OnDestroy,AfterViewInit { // 调用滑动验证服务 this.mineService.getSlideCaptcha(phone).subscribe( (res) => { - console.log("chuangjian") this.slideConfigValid.x = res.thumbX; this.slideConfigValid.y = res.thumbY; res.thumbX = 0 @@ -95,15 +94,11 @@ export class LoginPage implements OnInit, OnDestroy,AfterViewInit { }, }) modal.catch((res)=>{ - console.log(res) }) modal.then((res)=>{ - console.log(res) res.present() res.onDidDismiss().then((res)=>{ - console.log(res) if(res.data < this.slideConfigValid.x+5 && res.data >this.slideConfigValid.x-5 ) { - console.log("发送验证码") this.sendSmsCode() } }) @@ -123,17 +118,13 @@ export class LoginPage implements OnInit, OnDestroy,AfterViewInit { return; } - console.log('发送短信验证码,手机号:', phone); - // 直接发送短信验证码 this.mineService.sendSmsCaptcha(phone, '').subscribe({ next: (response) => { - console.log('短信验证码发送成功:', response); this.startCountdown(); this.showToast('验证码已发送'); }, error: (error) => { - console.error('发送验证码失败:', error); let errorMessage = '发送失败,请重试'; if (error && error.error) { @@ -163,15 +154,12 @@ export class LoginPage implements OnInit, OnDestroy,AfterViewInit { loginRequest.subscribe({ next: (response) => { - console.log('登录成功:', response); this.showToast('登录成功'); - sessionStorage.setItem("token",response) + localStorage.setItem("token",response) this.navCtrl.back() }, error: (error) => { - console.error('登录失败:', error); let errorMessage = '登录失败,请重试'; - if (error && error.error) { if (typeof error.error === 'string') { errorMessage = error.error; @@ -179,7 +167,6 @@ export class LoginPage implements OnInit, OnDestroy,AfterViewInit { errorMessage = error.error.error; } } - this.showToast(errorMessage); } }); diff --git a/cls/src/app/mine/mine-routing.module.ts b/cls/src/app/mine/mine-routing.module.ts index 004ca9e..cb437bf 100644 --- a/cls/src/app/mine/mine-routing.module.ts +++ b/cls/src/app/mine/mine-routing.module.ts @@ -1,21 +1,27 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { MinePage } from './mine.page'; - -const routes: Routes = [ - { - path: '', - component: MinePage - }, { +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { MinePage } from './mine.page'; + +const routes: Routes = [ + { + path: '', + component: MinePage + }, + { path: 'login', loadChildren: () => import('./login/login.module').then( m => m.LoginPageModule) }, + { + path:'privacy', + loadChildren:() => import('./privacy/privacy.module').then(m=>m.PrivacyPageModule) + }, + + +]; -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class MinePageRoutingModule {} +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class MinePageRoutingModule {} diff --git a/cls/src/app/mine/mine.module.ts b/cls/src/app/mine/mine.module.ts index c17dc69..fb8e76d 100644 --- a/cls/src/app/mine/mine.module.ts +++ b/cls/src/app/mine/mine.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; - +import { HttpClientModule } from '@angular/common/http'; import { IonicModule } from '@ionic/angular'; import { MinePageRoutingModule } from './mine-routing.module'; @@ -13,9 +13,9 @@ import { MinePage } from './mine.page'; CommonModule, FormsModule, ReactiveFormsModule, + HttpClientModule, IonicModule, MinePageRoutingModule - ], declarations: [MinePage] }) diff --git a/cls/src/app/mine/mine.page.html b/cls/src/app/mine/mine.page.html index b398fd3..4b2d89f 100644 --- a/cls/src/app/mine/mine.page.html +++ b/cls/src/app/mine/mine.page.html @@ -5,43 +5,42 @@ -
- - avatar - -

{{userInfo?.username || '未设置昵称'}}

-

{{userInfo?.phone || '未绑定手机号'}}

+

{{userInfo?.phone || '未绑定手机号'}}

- 我的服务 + 我的优惠券 - - - 我的收藏 - - - - - 浏览历史 - - - - - 设置 - +
+
+
+
+ ¥{{coupon.value}} +
+
满{{coupon.minAmount}}可用
+
+
+
{{coupon.name}}
+
有效期至 {{coupon.endTime | date:'yyyy.MM.dd'}}
+
+
+
+
+
+ +
退出登录
- - +
+
diff --git a/cls/src/app/mine/mine.page.scss b/cls/src/app/mine/mine.page.scss index c5d2be3..6429eef 100644 --- a/cls/src/app/mine/mine.page.scss +++ b/cls/src/app/mine/mine.page.scss @@ -8,11 +8,12 @@ ion-content { } .login-wrapper { - min-height: 100%; display: flex; - align-items: flex-start; + flex-direction: column; + align-items: center; justify-content: center; - padding: 20px; + height: 100%; + padding: 32px 16px; } .login-container { @@ -106,59 +107,28 @@ ion-segment { // 已登录状态样式 .profile-wrapper { - ion-list { - background: transparent; - padding: 0; - margin: 16px 0; - } -} - -.profile-header { - --background: var(--card-background); - border-radius: 8px; - margin-bottom: 16px; - - ion-avatar { - width: 60px; - height: 60px; - } - - h2 { - font-size: 18px; - font-weight: 500; - margin-bottom: 4px; - color: var(--ion-color-dark); + .profile-header { + --padding-start: 16px; + --inner-padding-end: 16px; + --background: transparent; + + ion-label { + h2 { + font-size: 16px; + color: #333; + margin: 0; + } + } } - p { + ion-item-divider { + --background: #f5f5f5; + --color: #999; font-size: 14px; - color: var(--ion-color-medium); + margin-top: 12px; } } -ion-item-divider { - --background: transparent; - --padding-start: 0; - --border-width: 0; - font-size: 16px; - font-weight: 500; - margin: 16px 0 8px; -} - -ion-item[button] { - --background: var(--card-background); - border-radius: 8px; - margin-bottom: 8px; - - ion-icon { - font-size: 20px; - } -} - -.logout-button { - margin-top: 32px; -} - .image-captcha-item { .image-captcha-wrapper { display: flex; @@ -187,3 +157,98 @@ ion-item.image-captcha-item { margin-bottom: 8px; } } + +.login-wrapper { + .login-content { + text-align: center; + + .login-tip { + color: #999; + font-size: 14px; + margin-bottom: 32px; + } + + ion-button { + width: 200px; + } + } +} + +.coupon-list { + padding: 16px; + border-radius: 100px; + .coupon-item { + display: flex; + background: #fff; + padding: 16px; + margin-bottom: 12px; + + .coupon-left { + width: 100px; + display: flex; + flex-direction: column; + + .amount { + color: #ff4d4f; + display: flex; + align-items: baseline; + + .symbol { + font-size: 14px; + } + + .value { + font-size: 24px; + font-weight: normal; + } + } + + .condition { + font-size: 12px; + color: #999; + margin-top: 4px; + } + } + + .coupon-right { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + + .name { + font-size: 14px; + color: #333; + margin-bottom: 4px; + } + + .date { + font-size: 12px; + color: #999; + } + } + } +} + +.logout-button { + margin-top: 32px; + padding: 0 16px; +} + +ion-footer { + ion-toolbar { + --padding-top: 8px; + --padding-bottom: 8px; + --border-top:none; + // --background: #fff; + + } + + .logout-button { + padding: 0 16px; + + ion-button { + margin: 0; + } + } +} diff --git a/cls/src/app/mine/mine.page.spec.ts b/cls/src/app/mine/mine.page.spec.ts deleted file mode 100644 index 57672a2..0000000 --- a/cls/src/app/mine/mine.page.spec.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MinePage } from './mine.page'; - -describe('MinePage', () => { - let component: MinePage; - let fixture: ComponentFixture; - - beforeEach(() => { - fixture = TestBed.createComponent(MinePage); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/cls/src/app/mine/mine.page.ts b/cls/src/app/mine/mine.page.ts index d319fc2..c3bbe2f 100644 --- a/cls/src/app/mine/mine.page.ts +++ b/cls/src/app/mine/mine.page.ts @@ -1,9 +1,12 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; +import {Component, OnInit, OnDestroy, AfterViewInit} from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { ToastController } from '@ionic/angular'; +import {NavController, ToastController,ViewWillEnter, ViewDidEnter, ViewWillLeave, ViewDidLeave } from '@ionic/angular'; import {getUser, MineService} from './mine.service'; -import { Router } from '@angular/router'; +import {NavigationEnd, Router} from '@angular/router'; import {UserInfo} from "../shared/model/user"; +import {Subscription} from "rxjs"; +import { HomeService } from '../home/home.service'; +import { Coupon } from '../shared/model/coupon'; @Component({ @@ -12,7 +15,7 @@ import {UserInfo} from "../shared/model/user"; styleUrls: ['./mine.page.scss'], standalone:false }) -export class MinePage implements OnInit, OnDestroy { +export class MinePage implements OnInit, OnDestroy { isLoggedIn = false; userInfo: UserInfo | null = null; loginType: 'sms' | 'password' = 'sms'; @@ -20,43 +23,53 @@ export class MinePage implements OnInit, OnDestroy { countdown = 0; canSendCode = false; captchaImage: string = ''; + private routerSub!: Subscription; + + couponCount: number = 0; + coupons: Coupon[] = []; constructor( private mineService: MineService, private fb: FormBuilder, private router: Router, + private navCtrl: NavController, private toastCtrl: ToastController, - + private homeService: HomeService ) { - getUser().subscribe(res=>{ - console.log(res) - if(res.username == "") { - this.isLoggedIn = false; - this.router.navigate(['/mine/login']) - } else { - this.isLoggedIn = true; - this.getUserInfo() - } - }) } - ngOnInit() { - this.checkLoginStatus(); + ngOnInit() { + this.routerSub = this.router.events.subscribe(event => { + if (event instanceof NavigationEnd) { + if(event.url == "/mine") { + this.checkLoginStatus() + } + } + }); } ngOnDestroy() { if (this.captchaImage) { URL.revokeObjectURL(this.captchaImage); } + if (this.routerSub) { + this.routerSub.unsubscribe(); + } } checkLoginStatus() { - const token = localStorage.getItem('token'); - if (token) { - this.isLoggedIn = true; - this.getUserInfo(); - } + getUser().subscribe(res=>{ + console.log(res) + if(res.username == "") { + this.isLoggedIn = false; + this.navCtrl.navigateForward("/mine/login") + } else { + this.isLoggedIn = true; + this.getUserInfo() + this.getCouponList() + } + }) } @@ -69,7 +82,7 @@ export class MinePage implements OnInit, OnDestroy { }, error: (error) => { this.showToast(error?.message || '获取用户信息失败', 'danger'); - this.logout(); + // this.logout(); } }); } @@ -92,7 +105,12 @@ export class MinePage implements OnInit, OnDestroy { localStorage.removeItem('token'); this.isLoggedIn = false; this.userInfo = null; + this.coupons = []; this.showToast('已退出登录', 'success'); + localStorage.removeItem('token'); + localStorage.removeItem("giftCount") + this.couponCount = 0; + this.router.navigate(['/mine/login']); } private showToast(message: string, color: 'success' | 'danger' = 'success') { @@ -104,4 +122,10 @@ export class MinePage implements OnInit, OnDestroy { cssClass: 'ion-text-center' }).then(toast => toast.present()); } + + getCouponList() { + this.homeService.getCouponList().subscribe(coupons => { + this.coupons = coupons; + }); + } } diff --git a/cls/src/app/mine/mine.service.ts b/cls/src/app/mine/mine.service.ts index 0a36eaf..fd40b8b 100644 --- a/cls/src/app/mine/mine.service.ts +++ b/cls/src/app/mine/mine.service.ts @@ -35,7 +35,6 @@ export class MineService { * @returns Observable */ sendSmsCaptcha(phone: string, verifyToken: string): Observable { - console.log("发送短信验证码,手机号:", phone); return this.http.post(`/api/auth/sms-captcha`, { phone }, { @@ -70,31 +69,22 @@ export class MineService { return this.http.get('/api/user/profile', ); } - verifyImageCaptcha(phone: string, captchaCode: string): Observable { - return this.http.post('/api/auth/verify-image', { phone, captchaCode }, { withCredentials: true }); - } - - verifySmsCaptcha(phone: string, captchaCode: string): Observable { - return this.http.post('/api/auth/verify-sms', { phone, captchaCode }, { withCredentials: true }); - } - - sendVerificationCode(phone: string): Observable { - return this.http.post('/api/auth/sms/code', { phone }, { withCredentials: true }); + getGuestToken():Observable { + return this.http.get('/api/user/guest') } } export const getLoggedIn = () => { - const token: string | null = sessionStorage.getItem('token'); + const token: string | null = localStorage.getItem('token'); const jwtHelper = new JwtHelper(); return of(token != null && !jwtHelper.isTokenExpired(token)); }; export const getUser = (): Observable => { const jwtHelper = new JwtHelper(); - const token = sessionStorage.getItem('token'); + const token = localStorage.getItem('token'); if (token != null) { const userObj = jwtHelper.decodeToken(token); - console.log(userObj) return of({ username: userObj.username, guest_id: userObj.guest_id, @@ -103,3 +93,23 @@ export const getUser = (): Observable => { return EMPTY } }; + +export const getGiftCount = ():Observable => { + if(localStorage.getItem("giftCount")){ + return of(parseInt(localStorage.getItem("giftCount")!)) + } else { + return of(0) + } +} + +export const useGiftCount = () => { + if(localStorage.getItem("giftCount")){ + let n = parseInt(localStorage.getItem("giftCount")!) + if(n < 1) { + localStorage.setItem("giftCount",0 +"") + } else { + localStorage.setItem("giftCount",n-1 +"") + } + } + +} diff --git a/cls/src/app/mine/privacy/privacy-routing.module.ts b/cls/src/app/mine/privacy/privacy-routing.module.ts new file mode 100644 index 0000000..4b7a1d8 --- /dev/null +++ b/cls/src/app/mine/privacy/privacy-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import {PrivacyPage} from "./privacy.page"; + + +const routes: Routes = [ + { + path: '', + component: PrivacyPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class PrivacyPageRoutingModule {} diff --git a/cls/src/app/mine/privacy/privacy.module.ts b/cls/src/app/mine/privacy/privacy.module.ts new file mode 100644 index 0000000..c79552b --- /dev/null +++ b/cls/src/app/mine/privacy/privacy.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { IonicModule } from '@ionic/angular'; +import { PrivacyPageRoutingModule } from './privacy-routing.module'; +import { PrivacyPage } from './privacy.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + PrivacyPageRoutingModule + ], + declarations: [PrivacyPage] +}) +export class PrivacyPageModule {} \ No newline at end of file diff --git a/cls/src/app/mine/privacy/privacy.page.html b/cls/src/app/mine/privacy/privacy.page.html new file mode 100644 index 0000000..7c7f396 --- /dev/null +++ b/cls/src/app/mine/privacy/privacy.page.html @@ -0,0 +1,13 @@ + + + + + + 用户隐私政策 + + + + +
+
+
diff --git a/cls/src/app/mine/privacy/privacy.page.scss b/cls/src/app/mine/privacy/privacy.page.scss new file mode 100644 index 0000000..f60b5fa --- /dev/null +++ b/cls/src/app/mine/privacy/privacy.page.scss @@ -0,0 +1,40 @@ +.privacy-content { + padding: 20px; + font-size: 14px; + line-height: 1.6; + color: #333; + + h1 { + font-size: 20px; + font-weight: bold; + margin: 20px 0 15px; + } + + h2 { + font-size: 18px; + font-weight: bold; + margin: 15px 0 10px; + } + + h3 { + font-size: 16px; + font-weight: bold; + margin: 12px 0 8px; + } + + p { + margin: 8px 0; + } + + strong { + font-weight: bold; + } + + em { + font-style: italic; + } +} + +ion-back-button { + --color: #333333; +} diff --git a/cls/src/app/mine/privacy/privacy.page.ts b/cls/src/app/mine/privacy/privacy.page.ts new file mode 100644 index 0000000..520af7a --- /dev/null +++ b/cls/src/app/mine/privacy/privacy.page.ts @@ -0,0 +1,40 @@ +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; + +@Component({ + selector: 'app-privacy', + templateUrl: './privacy.page.html', + styleUrls: ['./privacy.page.scss'], + standalone:false, +}) +export class PrivacyPage implements OnInit { + privacyContent: SafeHtml = ''; + + constructor( + private http: HttpClient, + private sanitizer: DomSanitizer + ) { } + + ngOnInit() { + this.loadPrivacyContent(); + } + + private loadPrivacyContent() { + this.http.get('assets/privacy/readme.md', { responseType: 'text' }) + .subscribe(content => { + const htmlContent = this.convertMarkdownToHtml(content); + this.privacyContent = this.sanitizer.bypassSecurityTrustHtml(htmlContent); + }); + } + + private convertMarkdownToHtml(markdown: string): string { + return markdown + .replace(/^# (.*$)/gm, '

$1

') + .replace(/^## (.*$)/gm, '

$1

') + .replace(/^### (.*$)/gm, '

$1

') + .replace(/\*\*(.*?)\*\*/g, '$1') + .replace(/\*(.*?)\*/g, '$1') + .replace(/\n/g, '
'); + } +} diff --git a/cls/src/assets/home/banner.png b/cls/src/assets/home/banner.png index 6dc99faecb73b632e4e2cf5e1194edbe444ccdea..345def10f71b4b65fc88dca0dbeff5906520a7fc 100644 GIT binary patch literal 230099 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�A$QOpVVA=@6prY+d}fgW6&Jf|u(uo=qOw|{_} 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 z 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 diff --git a/cls/src/assets/privacy/readme.md b/cls/src/assets/privacy/readme.md new file mode 100644 index 0000000..c183eae --- /dev/null +++ b/cls/src/assets/privacy/readme.md @@ -0,0 +1,70 @@ +## 用户协议 + +欢迎您使用上海路诚数据服务有限公司(以下简称“本公司”)提供的财经资讯服务。在使用本服务之前,请您仔细阅读本《用户协议》(以下简称“本协议”)。 + +### 一、服务内容 +本公司通过H5页面向用户提供与财联社类似的财经资讯服务,包括但不限于新闻资讯、市场数据、分析报告等。 + +### 二、用户注册与账户管理 + +1.用户需通过手机号或其他方式注册账号,并对所提供的信息真实性负责。 +2.用户应妥善保管账户信息,不得将账户转让、出借或共享给他人使用。 +3.若发现账户存在异常使用情况,应立即通知本公司,否则由此产生的责任由用户自行承担。 + +### 三、用户权利与义务 + +1.用户有权在遵守本协议的前提下,使用本公司提供的财经资讯服务。 +2.用户不得利用本服务从事任何违法、违规或侵犯他人合法权益的行为。 +3.用户不得未经授权转载、复制、出售或用于商业用途,否则本公司有权追究其责任。 + +### 四、免责声明 + +1.本公司提供的财经资讯仅供参考,不构成投资建议,用户据此操作产生的风险由用户自行承担。 +2.本公司不对数据的完整性、准确性、可靠性做任何承诺。 +3.因不可抗力、网络故障或第三方原因导致的服务中断,本公司不承担责任。 + +### 五、协议变更与终止 + +1.本公司有权根据业务需要调整本协议内容,变更后的协议将在H5页面公示,用户继续使用服务即表示接受变更。 +2.用户若违反本协议,本公司有权终止其服务并注销账户。 + +### 六、法律适用与争议解决 +本协议适用中华人民共和国法律,因本协议引发的争议,由本公司所在地法院管辖。 + +## 隐私政策 + + 本公司重视用户的隐私保护,在使用本服务时,您同意本《隐私政策》。 + +### 一、信息收集 + +1.本公司可能收集用户在注册、使用服务过程中提供的信息,包括但不限于手机号、设备信息、访问日志等。 +2.本公司可能通过Cookies等技术收集用户使用情况数据,以优化服务体验。 + +### 二、信息使用 + +1.本公司收集的信息将用于提供、优化和改进服务,包括但不限于用户身份验证、数据统计分析等。 +2.本公司不会向任何第三方出售或披露用户个人信息,除非获得用户授权或法律法规要求。 + +### 三、信息存储与安全 + +1.本公司采取合理的安全措施保护用户信息,防止数据泄露、篡改或丢失。 +2.若发生数据泄露事件,本公司将在法律规定的范围内采取补救措施。 + +### 四、用户权利 + +1.用户可以查询、更正或删除个人信息,并有权撤回同意。 +2.用户可通过联系客服注销账户,注销后信息将按照法律规定处理。 + +### 五、政策更新 +本公司有权对本隐私政策进行调整,更新后的政策将在H5页面公示,继续使用服务即表示接受变更。 + +### 六、联系方式 +如对本政策有任何疑问,可通过以下方式联系我们: + +联系邮箱:qiuxing@lcsuo.cn + +联系电话:18328523903 + +公司地址:上海市宝山区地杰路58号1幢1层 + +本协议与政策最终解释权归上海路诚数据服务有限公司所有。 \ No newline at end of file diff --git a/cls/yarn.lock b/cls/yarn.lock new file mode 100644 index 0000000..5eb0704 --- /dev/null +++ b/cls/yarn.lock @@ -0,0 +1,8292 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@2.3.0": + version "2.3.0" + resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@angular-devkit/architect@>= 0.1900.0 < 0.2000.0", "@angular-devkit/architect@0.1902.4": + version "0.1902.4" + resolved "https://registry.npmmirror.com/@angular-devkit/architect/-/architect-0.1902.4.tgz" + integrity sha512-YTLiJ7uVItZTAxRuSgASP0M5qILESWH8xGmfR+YWR1JiJem09DWEOpWeLdha1BFzUui5L+6j1btzh4FUHJOtAg== + dependencies: + "@angular-devkit/core" "19.2.4" + rxjs "7.8.1" + +"@angular-devkit/build-angular@^19.0.0": + version "19.2.4" + resolved "https://registry.npmmirror.com/@angular-devkit/build-angular/-/build-angular-19.2.4.tgz" + integrity sha512-OO8jlLY1SKUbcx3xx4LhbHcecAE9CnMrvIGMOgeKflDI7W57kYUI1lg86k/+Xm76/H2XlbsHdwLKOfFAupfl7g== + dependencies: + "@ampproject/remapping" "2.3.0" + "@angular-devkit/architect" "0.1902.4" + "@angular-devkit/build-webpack" "0.1902.4" + "@angular-devkit/core" "19.2.4" + "@angular/build" "19.2.4" + "@babel/core" "7.26.10" + "@babel/generator" "7.26.10" + "@babel/helper-annotate-as-pure" "7.25.9" + "@babel/helper-split-export-declaration" "7.24.7" + "@babel/plugin-transform-async-generator-functions" "7.26.8" + "@babel/plugin-transform-async-to-generator" "7.25.9" + "@babel/plugin-transform-runtime" "7.26.10" + "@babel/preset-env" "7.26.9" + "@babel/runtime" "7.26.10" + "@discoveryjs/json-ext" "0.6.3" + "@ngtools/webpack" "19.2.4" + "@vitejs/plugin-basic-ssl" "1.2.0" + ansi-colors "4.1.3" + autoprefixer "10.4.20" + babel-loader "9.2.1" + browserslist "^4.21.5" + copy-webpack-plugin "12.0.2" + css-loader "7.1.2" + esbuild-wasm "0.25.1" + fast-glob "3.3.3" + http-proxy-middleware "3.0.3" + istanbul-lib-instrument "6.0.3" + jsonc-parser "3.3.1" + karma-source-map-support "1.4.0" + less "4.2.2" + less-loader "12.2.0" + license-webpack-plugin "4.0.2" + loader-utils "3.3.1" + mini-css-extract-plugin "2.9.2" + open "10.1.0" + ora "5.4.1" + picomatch "4.0.2" + piscina "4.8.0" + postcss "8.5.2" + postcss-loader "8.1.1" + resolve-url-loader "5.0.0" + rxjs "7.8.1" + sass "1.85.0" + sass-loader "16.0.5" + semver "7.7.1" + source-map-loader "5.0.0" + source-map-support "0.5.21" + terser "5.39.0" + tree-kill "1.2.2" + tslib "2.8.1" + webpack "5.98.0" + webpack-dev-middleware "7.4.2" + webpack-dev-server "5.2.0" + webpack-merge "6.0.1" + webpack-subresource-integrity "5.1.0" + optionalDependencies: + esbuild "0.25.1" + +"@angular-devkit/build-webpack@0.1902.4": + version "0.1902.4" + resolved "https://registry.npmmirror.com/@angular-devkit/build-webpack/-/build-webpack-0.1902.4.tgz" + integrity sha512-TWZsnPMR2JvrQapO7kg4YbUgrKxu74TCYOZZrGfIA7CCIthykflWevMPGZmrTAh3mXX414P31XmoBQViXUe7iQ== + dependencies: + "@angular-devkit/architect" "0.1902.4" + rxjs "7.8.1" + +"@angular-devkit/core@^18.0.0", "@angular-devkit/core@18.2.15": + version "18.2.15" + resolved "https://registry.npmmirror.com/@angular-devkit/core/-/core-18.2.15.tgz" + integrity sha512-GjfNjGwh1YG+bXXx7V95XRlJEaHb2sEyRmMyn31iLF9IZIR9So/tXkyHlSEiu/kv0/lzQYN6T4NeBxn7sHxBqw== + dependencies: + ajv "8.17.1" + ajv-formats "3.0.1" + jsonc-parser "3.3.1" + picomatch "4.0.2" + rxjs "7.8.1" + source-map "0.7.4" + +"@angular-devkit/core@>= 19.0.0 < 20.0.0", "@angular-devkit/core@19.2.4": + version "19.2.4" + resolved "https://registry.npmmirror.com/@angular-devkit/core/-/core-19.2.4.tgz" + integrity sha512-dL6AmCQsKh+CFVvO/jxX8qZpamVwt9r4iIo7fYcAI2+mTSDGxxBGWbS+onIfdPFuRp2HgKa+AT6WiHmRqu63AA== + dependencies: + ajv "8.17.1" + ajv-formats "3.0.1" + jsonc-parser "3.3.1" + picomatch "4.0.2" + rxjs "7.8.1" + source-map "0.7.4" + +"@angular-devkit/schematics@^18.0.0", "@angular-devkit/schematics@18.2.15": + version "18.2.15" + resolved "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-18.2.15.tgz" + integrity sha512-qbdS1NgcsO1/85efTFQ8WZMFK84EAe/fsiK5XwmWFJCH9+vvXO5zbOTz4IrANlfpCDbhHY1ojOdszzGLz18kNg== + dependencies: + "@angular-devkit/core" "18.2.15" + jsonc-parser "3.3.1" + magic-string "0.30.11" + ora "5.4.1" + rxjs "7.8.1" + +"@angular-devkit/schematics@>= 19.0.0 < 20.0.0", "@angular-devkit/schematics@19.2.4": + version "19.2.4" + resolved "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-19.2.4.tgz" + integrity sha512-WaFe95ncm1A+QTlUHxQcFyGKIn67xgqGX7WCj8R0QlKOS0hLKx97SG4p19uwHlww0lmAcwk/QJP6G6sPL/CJ9w== + dependencies: + "@angular-devkit/core" "19.2.4" + jsonc-parser "3.3.1" + magic-string "0.30.17" + ora "5.4.1" + rxjs "7.8.1" + +"@angular-eslint/builder@^19.0.0": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/builder/-/builder-19.2.1.tgz" + integrity sha512-iBs/4ZpjyISBFYU+dbfJOJi4Efh7U1hXPgQwaebU9r9Y4dMdcTw7MsaG9MfJX1gQJkIeXasYTxfSfuqoMFl9nQ== + dependencies: + "@angular-devkit/architect" ">= 0.1900.0 < 0.2000.0" + "@angular-devkit/core" ">= 19.0.0 < 20.0.0" + +"@angular-eslint/bundled-angular-compiler@19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-19.2.1.tgz" + integrity sha512-8/NY4OCpiRDSOaqnpIOW7kMirqqsTY1U751iuMH0z9gQImYZWubMLOI0tsLFWmz06pKpgiDZcjD2X9TK2b4Igg== + +"@angular-eslint/eslint-plugin-template@^19.0.0", "@angular-eslint/eslint-plugin-template@19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-19.2.1.tgz" + integrity sha512-yBGut4PedTkZcGbm1sthQ671CXERkC72eXTaZlMRhKNQDf3R6zEVc60q5DQZoEIzvgeIbaZdWhZgsCLwlhfGrQ== + dependencies: + "@angular-eslint/bundled-angular-compiler" "19.2.1" + "@angular-eslint/utils" "19.2.1" + aria-query "5.3.2" + axobject-query "4.1.0" + +"@angular-eslint/eslint-plugin@^19.0.0", "@angular-eslint/eslint-plugin@19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/eslint-plugin/-/eslint-plugin-19.2.1.tgz" + integrity sha512-wCjyH5cJb4fBchEnt3L6dQ6syaLHD+xeHCSynD/Lw3K6BcVEnFa+82SfSscgXtYLRPHlkK5CmYYs3AlALhA+/w== + dependencies: + "@angular-eslint/bundled-angular-compiler" "19.2.1" + "@angular-eslint/utils" "19.2.1" + +"@angular-eslint/schematics@^19.0.0": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/schematics/-/schematics-19.2.1.tgz" + integrity sha512-rfIHIIiXfsShwNbrVoUVu2ZzHkXghuJj8L9pXkdy92DoYSof0lqGURoPb7hv4wvZXGB3yo6S17cbw3IkeYJkzA== + dependencies: + "@angular-devkit/core" ">= 19.0.0 < 20.0.0" + "@angular-devkit/schematics" ">= 19.0.0 < 20.0.0" + "@angular-eslint/eslint-plugin" "19.2.1" + "@angular-eslint/eslint-plugin-template" "19.2.1" + ignore "7.0.3" + semver "7.7.1" + strip-json-comments "3.1.1" + +"@angular-eslint/template-parser@^19.0.0": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/template-parser/-/template-parser-19.2.1.tgz" + integrity sha512-fU16NUh8nY02zdkHRsAlGI9ruppsE1ko1Z1PIyB3oofYt4rCKsXb8yXWbXWn7qCjNPVqv4+oLx0BwhJQZwEX8w== + dependencies: + "@angular-eslint/bundled-angular-compiler" "19.2.1" + eslint-scope "^8.0.2" + +"@angular-eslint/utils@19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@angular-eslint/utils/-/utils-19.2.1.tgz" + integrity sha512-TRIOtlDMbz1PqurLXPKMzSUl2iSs02c185g4EeOzTDX93sDvvVDLRj18jZ0IVcjQv5Vs21JK2KsKV/WdGe1OxA== + dependencies: + "@angular-eslint/bundled-angular-compiler" "19.2.1" + +"@angular/animations@^19.0.0", "@angular/animations@19.2.3": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/animations/-/animations-19.2.3.tgz" + integrity sha512-HQexOmwEJFX3sHLspOCi7dVOdPW5Ad4jH6tJsf+zABkF0GjgIVf4jewe1uE5ZLKgoflr9f9vpcpy39IWl00kWw== + dependencies: + tslib "^2.3.0" + +"@angular/build@19.2.4": + version "19.2.4" + resolved "https://registry.npmmirror.com/@angular/build/-/build-19.2.4.tgz" + integrity sha512-poCXvmwKri3snWa9zVJ2sW7wyJatZjkwnH6GUBdJrM2dXRQ+LYLk/oXqEjlSRBYNna7P1ZcKNqBbzu0/SnnngA== + dependencies: + "@ampproject/remapping" "2.3.0" + "@angular-devkit/architect" "0.1902.4" + "@babel/core" "7.26.10" + "@babel/helper-annotate-as-pure" "7.25.9" + "@babel/helper-split-export-declaration" "7.24.7" + "@babel/plugin-syntax-import-attributes" "7.26.0" + "@inquirer/confirm" "5.1.6" + "@vitejs/plugin-basic-ssl" "1.2.0" + beasties "0.2.0" + browserslist "^4.23.0" + esbuild "0.25.1" + fast-glob "3.3.3" + https-proxy-agent "7.0.6" + istanbul-lib-instrument "6.0.3" + listr2 "8.2.5" + magic-string "0.30.17" + mrmime "2.0.1" + parse5-html-rewriting-stream "7.0.0" + picomatch "4.0.2" + piscina "4.8.0" + rollup "4.34.8" + sass "1.85.0" + semver "7.7.1" + source-map-support "0.5.21" + vite "6.2.0" + watchpack "2.4.2" + optionalDependencies: + lmdb "3.2.6" + +"@angular/cli@^19.0.0": + version "19.2.4" + resolved "https://registry.npmmirror.com/@angular/cli/-/cli-19.2.4.tgz" + integrity sha512-YmZYrxdGBwSZsrnpS6vr9gQ8+PrZHzwyYW/3jU2NRAMtl0ZlipDyfpLIDgrfqYPeumzr7+SKtJYVvlsMnjkN4g== + dependencies: + "@angular-devkit/architect" "0.1902.4" + "@angular-devkit/core" "19.2.4" + "@angular-devkit/schematics" "19.2.4" + "@inquirer/prompts" "7.3.2" + "@listr2/prompt-adapter-inquirer" "2.0.18" + "@schematics/angular" "19.2.4" + "@yarnpkg/lockfile" "1.1.0" + ini "5.0.0" + jsonc-parser "3.3.1" + listr2 "8.2.5" + npm-package-arg "12.0.2" + npm-pick-manifest "10.0.0" + pacote "20.0.0" + resolve "1.22.10" + semver "7.7.1" + symbol-observable "4.0.0" + yargs "17.7.2" + +"@angular/common@^19.0.0", "@angular/common@>=13.0.0", "@angular/common@19.2.3": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/common/-/common-19.2.3.tgz" + integrity sha512-cYOMRXFb6Sjtg9BI3bE/Ave+xU234jQmHYj7hBxr3MiqRSVJL4niy10KiA/Jiz6y76V5QfZfS+0aE65VuoqAvg== + dependencies: + tslib "^2.3.0" + +"@angular/compiler-cli@^19.0.0", "@angular/compiler-cli@^19.0.0 || ^19.2.0-next.0": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/compiler-cli/-/compiler-cli-19.2.3.tgz" + integrity sha512-ePh/7A6eEDAyfVn8QgLcAvrxhXBAf6mTqB/3+HwQeXLaka1gtN6xvZ6cjLEegP4s6kcYGhdfdLwzCcy0kjsY5g== + dependencies: + "@babel/core" "7.26.9" + "@jridgewell/sourcemap-codec" "^1.4.14" + chokidar "^4.0.0" + convert-source-map "^1.5.1" + reflect-metadata "^0.2.0" + semver "^7.0.0" + tslib "^2.3.0" + yargs "^17.2.1" + +"@angular/compiler@^19.0.0", "@angular/compiler@^19.0.0 || ^19.2.0-next.0", "@angular/compiler@19.2.3": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/compiler/-/compiler-19.2.3.tgz" + integrity sha512-TL/JIU7vzSWD+IrMq2PAiHZi7IUFSRhdHo8q6/WuZ8SQmbuXCK2pJvHZpTtUdLswdPeD/UVhkhTAhQzEyEdZVg== + dependencies: + tslib "^2.3.0" + +"@angular/core@^19.0.0", "@angular/core@>=13.0.0", "@angular/core@>=16.0.0", "@angular/core@19.2.3": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/core/-/core-19.2.3.tgz" + integrity sha512-uNDbQBDWdAfL8JhgG2l9eTEbikovZ+SthLUKERyR4fL7AVGSx85LjNySRuq4WAL4eiD1cRN1UUgu8o+WKqF/ow== + dependencies: + tslib "^2.3.0" + +"@angular/forms@^19.0.0", "@angular/forms@>=16.0.0": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/forms/-/forms-19.2.3.tgz" + integrity sha512-JEgNKiZd3taYBg9lsMvoana5cv1QGke8xkuryc9zesHPJjhw9QHllmDPOW2HyUuwPqXZ/YkHiuCMOk+4qPjsAw== + dependencies: + tslib "^2.3.0" + +"@angular/language-service@^19.0.0": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/language-service/-/language-service-19.2.3.tgz" + integrity sha512-qq54VhRTk8jxnqXN6Q4wK1W7ewSkD0kdhii0Sif25gbkNvfDfqd1PjtnojelG81sN8XhBeMBcDhtbmEQX4nqHg== + +"@angular/platform-browser-dynamic@^19.0.0": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.3.tgz" + integrity sha512-PHmmtdGxSfe9HL8xR4g3PspnEaPqTEOGyzNviAHugfkZCgXCdSbYs36d3i0nPwhExMAeuIVXbbJyouDn2kyeOw== + dependencies: + tslib "^2.3.0" + +"@angular/platform-browser@^19.0.0", "@angular/platform-browser@19.2.3": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/platform-browser/-/platform-browser-19.2.3.tgz" + integrity sha512-bz5mvUkCS8SxaMInjPgi/2dD7vpWkZePQesvr/bBRNQbYSE4cGTbovXcVl3X5hIxs5JoC6Het0lS2IxDq7j6qg== + dependencies: + tslib "^2.3.0" + +"@angular/router@^19.0.0", "@angular/router@>=16.0.0": + version "19.2.3" + resolved "https://registry.npmmirror.com/@angular/router/-/router-19.2.3.tgz" + integrity sha512-yYVMT7CceKqE+fBXxkhkAqEQUEdY/BHtLQr1vP9rEnAf30vwKghDEresugfegY6Ch4IGKTBtDG/QGmxWszgUAQ== + dependencies: + tslib "^2.3.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.26.2": + version "7.26.2" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.26.5", "@babel/compat-data@^7.26.8": + version "7.26.8" + resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.8.tgz" + integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.23.9", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0", "@babel/core@7.26.10": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/core/-/core-7.26.10.tgz" + integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.10" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.10" + "@babel/parser" "^7.26.10" + "@babel/template" "^7.26.9" + "@babel/traverse" "^7.26.10" + "@babel/types" "^7.26.10" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/core@7.26.9": + version "7.26.9" + resolved "https://registry.npmmirror.com/@babel/core/-/core-7.26.9.tgz" + integrity sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.9" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.9" + "@babel/parser" "^7.26.9" + "@babel/template" "^7.26.9" + "@babel/traverse" "^7.26.9" + "@babel/types" "^7.26.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.26.10", "@babel/generator@^7.26.9", "@babel/generator@7.26.10": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.10.tgz" + integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang== + dependencies: + "@babel/parser" "^7.26.10" + "@babel/types" "^7.26.10" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.25.9", "@babel/helper-annotate-as-pure@7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz" + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== + dependencies: + "@babel/types" "^7.25.9" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9", "@babel/helper-compilation-targets@^7.26.5": + version "7.26.5" + resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz" + integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== + dependencies: + "@babel/compat-data" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.25.9": + version "7.26.9" + resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz" + integrity sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/helper-replace-supers" "^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/traverse" "^7.26.9" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": + version "7.26.3" + resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz" + integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + regexpu-core "^6.2.0" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-member-expression-to-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz" + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-optimise-call-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz" + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== + dependencies: + "@babel/types" "^7.25.9" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.26.5": + version "7.26.5" + resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz" + integrity sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg== + +"@babel/helper-remap-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz" + integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-wrap-function" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-replace-supers@^7.25.9", "@babel/helper-replace-supers@^7.26.5": + version "7.26.5" + resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz" + integrity sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/traverse" "^7.26.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz" + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-split-export-declaration@7.24.7": + version "7.24.7" + resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz" + integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== + dependencies: + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helper-wrap-function@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz" + integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== + dependencies: + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helpers@^7.26.10", "@babel/helpers@^7.26.9": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.10.tgz" + integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== + dependencies: + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" + +"@babel/parser@^7.14.7", "@babel/parser@^7.23.9", "@babel/parser@^7.26.10", "@babel/parser@^7.26.9": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.10.tgz" + integrity sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA== + dependencies: + "@babel/types" "^7.26.10" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz" + integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz" + integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz" + integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz" + integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz" + integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-import-assertions@^7.26.0": + version "7.26.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz" + integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-import-attributes@^7.26.0", "@babel/plugin-syntax-import-attributes@7.26.0": + version "7.26.0" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz" + integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-async-generator-functions@^7.26.8", "@babel/plugin-transform-async-generator-functions@7.26.8": + version "7.26.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz" + integrity sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/traverse" "^7.26.8" + +"@babel/plugin-transform-async-to-generator@^7.25.9", "@babel/plugin-transform-async-to-generator@7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz" + integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" + +"@babel/plugin-transform-block-scoped-functions@^7.26.5": + version "7.26.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz" + integrity sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + +"@babel/plugin-transform-block-scoping@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz" + integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-class-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz" + integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-class-static-block@^7.26.0": + version "7.26.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz" + integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-classes@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz" + integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/traverse" "^7.25.9" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz" + integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/template" "^7.25.9" + +"@babel/plugin-transform-destructuring@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz" + integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-dotall-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz" + integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-duplicate-keys@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz" + integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz" + integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-dynamic-import@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz" + integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-exponentiation-operator@^7.26.3": + version "7.26.3" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz" + integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-export-namespace-from@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz" + integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-for-of@^7.26.9": + version "7.26.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz" + integrity sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-function-name@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz" + integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== + dependencies: + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-transform-json-strings@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz" + integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz" + integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-logical-assignment-operators@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz" + integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-member-expression-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz" + integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-modules-amd@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz" + integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-modules-commonjs@^7.26.3": + version "7.26.3" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz" + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== + dependencies: + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-modules-systemjs@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz" + integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-transform-modules-umd@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz" + integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz" + integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-new-target@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz" + integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.26.6": + version "7.26.6" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz" + integrity sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + +"@babel/plugin-transform-numeric-separator@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz" + integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-object-rest-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz" + integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== + dependencies: + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + +"@babel/plugin-transform-object-super@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz" + integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + +"@babel/plugin-transform-optional-catch-binding@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz" + integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz" + integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-parameters@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz" + integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-private-methods@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz" + integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-private-property-in-object@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz" + integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-property-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz" + integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-regenerator@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz" + integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-regexp-modifiers@^7.26.0": + version "7.26.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz" + integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-reserved-words@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz" + integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-runtime@7.26.10": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz" + integrity sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.26.5" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz" + integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz" + integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-sticky-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz" + integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-template-literals@^7.26.8": + version "7.26.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz" + integrity sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + +"@babel/plugin-transform-typeof-symbol@^7.26.7": + version "7.26.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz" + integrity sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw== + dependencies: + "@babel/helper-plugin-utils" "^7.26.5" + +"@babel/plugin-transform-unicode-escapes@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz" + integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-property-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz" + integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz" + integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-sets-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz" + integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/preset-env@7.26.9": + version "7.26.9" + resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.9.tgz" + integrity sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ== + dependencies: + "@babel/compat-data" "^7.26.8" + "@babel/helper-compilation-targets" "^7.26.5" + "@babel/helper-plugin-utils" "^7.26.5" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.26.0" + "@babel/plugin-syntax-import-attributes" "^7.26.0" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.25.9" + "@babel/plugin-transform-async-generator-functions" "^7.26.8" + "@babel/plugin-transform-async-to-generator" "^7.25.9" + "@babel/plugin-transform-block-scoped-functions" "^7.26.5" + "@babel/plugin-transform-block-scoping" "^7.25.9" + "@babel/plugin-transform-class-properties" "^7.25.9" + "@babel/plugin-transform-class-static-block" "^7.26.0" + "@babel/plugin-transform-classes" "^7.25.9" + "@babel/plugin-transform-computed-properties" "^7.25.9" + "@babel/plugin-transform-destructuring" "^7.25.9" + "@babel/plugin-transform-dotall-regex" "^7.25.9" + "@babel/plugin-transform-duplicate-keys" "^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-dynamic-import" "^7.25.9" + "@babel/plugin-transform-exponentiation-operator" "^7.26.3" + "@babel/plugin-transform-export-namespace-from" "^7.25.9" + "@babel/plugin-transform-for-of" "^7.26.9" + "@babel/plugin-transform-function-name" "^7.25.9" + "@babel/plugin-transform-json-strings" "^7.25.9" + "@babel/plugin-transform-literals" "^7.25.9" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" + "@babel/plugin-transform-member-expression-literals" "^7.25.9" + "@babel/plugin-transform-modules-amd" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.26.3" + "@babel/plugin-transform-modules-systemjs" "^7.25.9" + "@babel/plugin-transform-modules-umd" "^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-new-target" "^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.26.6" + "@babel/plugin-transform-numeric-separator" "^7.25.9" + "@babel/plugin-transform-object-rest-spread" "^7.25.9" + "@babel/plugin-transform-object-super" "^7.25.9" + "@babel/plugin-transform-optional-catch-binding" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/plugin-transform-private-methods" "^7.25.9" + "@babel/plugin-transform-private-property-in-object" "^7.25.9" + "@babel/plugin-transform-property-literals" "^7.25.9" + "@babel/plugin-transform-regenerator" "^7.25.9" + "@babel/plugin-transform-regexp-modifiers" "^7.26.0" + "@babel/plugin-transform-reserved-words" "^7.25.9" + "@babel/plugin-transform-shorthand-properties" "^7.25.9" + "@babel/plugin-transform-spread" "^7.25.9" + "@babel/plugin-transform-sticky-regex" "^7.25.9" + "@babel/plugin-transform-template-literals" "^7.26.8" + "@babel/plugin-transform-typeof-symbol" "^7.26.7" + "@babel/plugin-transform-unicode-escapes" "^7.25.9" + "@babel/plugin-transform-unicode-property-regex" "^7.25.9" + "@babel/plugin-transform-unicode-regex" "^7.25.9" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.11.0" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.40.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.8.4", "@babel/runtime@7.26.10": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.10.tgz" + integrity sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.25.9", "@babel/template@^7.26.9": + version "7.26.9" + resolved "https://registry.npmmirror.com/@babel/template/-/template-7.26.9.tgz" + integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.26.10", "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.8", "@babel/traverse@^7.26.9": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.10.tgz" + integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.10" + "@babel/parser" "^7.26.10" + "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.24.7", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.9", "@babel/types@^7.4.4": + version "7.26.10" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.26.10.tgz" + integrity sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@capacitor/app@7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@capacitor/app/-/app-7.0.0.tgz" + integrity sha512-/UFwfPFsw/Jen6vjrV0lfTBOQWSaDDdmrYXKpYg4Xn8hwj0xrrRPXxC43j7VmPoj9AFMVPA+hx94ygqjChPASQ== + +"@capacitor/cli@7.1.0": + version "7.1.0" + resolved "https://registry.npmmirror.com/@capacitor/cli/-/cli-7.1.0.tgz" + integrity sha512-oCjB9VB6KNTnBAlzt8tVIuBW+ZniIOCbrsp+nLoa2EfUIgoOGfMHldS4tG9KlTG3pTi5AzeHjSHJIMZwfiz6gg== + dependencies: + "@ionic/cli-framework-output" "^2.2.8" + "@ionic/utils-subprocess" "^3.0.1" + "@ionic/utils-terminal" "^2.3.5" + commander "^12.1.0" + debug "^4.4.0" + env-paths "^2.2.0" + fs-extra "^11.2.0" + kleur "^4.1.5" + native-run "^2.0.1" + open "^8.4.0" + plist "^3.1.0" + prompts "^2.4.2" + rimraf "^6.0.1" + semver "^7.6.3" + tar "^6.1.11" + tslib "^2.8.1" + xml2js "^0.6.2" + +"@capacitor/core@>=7.0.0", "@capacitor/core@7.1.0": + version "7.1.0" + resolved "https://registry.npmmirror.com/@capacitor/core/-/core-7.1.0.tgz" + integrity sha512-I0a4C8gux5sx+HDamJjCiWHEWRdJU3hejwURFOSwJjUmAMkfkrm4hOsI0dgd+S0eCkKKKYKz9WNm7DAIvhm2zw== + dependencies: + tslib "^2.1.0" + +"@capacitor/haptics@7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@capacitor/haptics/-/haptics-7.0.0.tgz" + integrity sha512-8uI8rWyAbq8EzkjS+sHZSncyzujHzVbuLKgj8J5H0yUL6+r26F16gVA2iuQuIBvzbSMy7Y0/pUuWlwZr/H8AKg== + +"@capacitor/keyboard@7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@capacitor/keyboard/-/keyboard-7.0.0.tgz" + integrity sha512-Tqwy8wG+sx4UqiFCX4Q+bFw6uKgG7BiHKAPpeefoIgoEB8H8Jf3xZNZoVPnJIMuPsCdSvuyHXZbJXH9IEEirGA== + +"@capacitor/status-bar@7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@capacitor/status-bar/-/status-bar-7.0.0.tgz" + integrity sha512-wsvPkWkoSOXMIgVHu4c6P1sOuDSZ1ClUo5OpLRwj7u8DYzlV4jlmNzztQn2Lvsiqx1z4kfukSaqe40k1Lo4c9g== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@0.6.3": + version "0.6.3" + resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz" + integrity sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ== + +"@es-joy/jsdoccomment@~0.46.0": + version "0.46.0" + resolved "https://registry.npmmirror.com/@es-joy/jsdoccomment/-/jsdoccomment-0.46.0.tgz" + integrity sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ== + dependencies: + comment-parser "1.4.1" + esquery "^1.6.0" + jsdoc-type-pratt-parser "~4.0.0" + +"@esbuild/win32-x64@0.25.1": + version "0.25.1" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz" + integrity sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.5.1" + resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz" + integrity sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w== + dependencies: + eslint-visitor-keys "^3.4.3" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== + +"@eslint/config-array@^0.19.2": + version "0.19.2" + resolved "https://registry.npmmirror.com/@eslint/config-array/-/config-array-0.19.2.tgz" + integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w== + dependencies: + "@eslint/object-schema" "^2.1.6" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/config-helpers@^0.1.0": + version "0.1.0" + resolved "https://registry.npmmirror.com/@eslint/config-helpers/-/config-helpers-0.1.0.tgz" + integrity sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA== + +"@eslint/core@^0.12.0": + version "0.12.0" + resolved "https://registry.npmmirror.com/@eslint/core/-/core-0.12.0.tgz" + integrity sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg== + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.0": + version "3.3.0" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-3.3.0.tgz" + integrity sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@9.22.0": + version "9.22.0" + resolved "https://registry.npmmirror.com/@eslint/js/-/js-9.22.0.tgz" + integrity sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ== + +"@eslint/object-schema@^2.1.6": + version "2.1.6" + resolved "https://registry.npmmirror.com/@eslint/object-schema/-/object-schema-2.1.6.tgz" + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA== + +"@eslint/plugin-kit@^0.2.7": + version "0.2.7" + resolved "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz" + integrity sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g== + dependencies: + "@eslint/core" "^0.12.0" + levn "^0.4.1" + +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.npmmirror.com/@humanfs/core/-/core-0.19.1.tgz" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.npmmirror.com/@humanfs/node/-/node-0.16.6.tgz" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/retry@^0.3.0": + version "0.3.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/retry/-/retry-0.3.1.tgz" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.2": + version "0.4.2" + resolved "https://registry.npmmirror.com/@humanwhocodes/retry/-/retry-0.4.2.tgz" + integrity sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ== + +"@inquirer/checkbox@^4.1.2": + version "4.1.4" + resolved "https://registry.npmmirror.com/@inquirer/checkbox/-/checkbox-4.1.4.tgz" + integrity sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/figures" "^1.0.11" + "@inquirer/type" "^3.0.5" + ansi-escapes "^4.3.2" + yoctocolors-cjs "^2.1.2" + +"@inquirer/confirm@^5.1.6", "@inquirer/confirm@5.1.6": + version "5.1.6" + resolved "https://registry.npmmirror.com/@inquirer/confirm/-/confirm-5.1.6.tgz" + integrity sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw== + dependencies: + "@inquirer/core" "^10.1.7" + "@inquirer/type" "^3.0.4" + +"@inquirer/core@^10.1.7", "@inquirer/core@^10.1.9": + version "10.1.9" + resolved "https://registry.npmmirror.com/@inquirer/core/-/core-10.1.9.tgz" + integrity sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw== + dependencies: + "@inquirer/figures" "^1.0.11" + "@inquirer/type" "^3.0.5" + ansi-escapes "^4.3.2" + cli-width "^4.1.0" + mute-stream "^2.0.0" + signal-exit "^4.1.0" + wrap-ansi "^6.2.0" + yoctocolors-cjs "^2.1.2" + +"@inquirer/editor@^4.2.7": + version "4.2.9" + resolved "https://registry.npmmirror.com/@inquirer/editor/-/editor-4.2.9.tgz" + integrity sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + external-editor "^3.1.0" + +"@inquirer/expand@^4.0.9": + version "4.0.11" + resolved "https://registry.npmmirror.com/@inquirer/expand/-/expand-4.0.11.tgz" + integrity sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + yoctocolors-cjs "^2.1.2" + +"@inquirer/figures@^1.0.11": + version "1.0.11" + resolved "https://registry.npmmirror.com/@inquirer/figures/-/figures-1.0.11.tgz" + integrity sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw== + +"@inquirer/input@^4.1.6": + version "4.1.8" + resolved "https://registry.npmmirror.com/@inquirer/input/-/input-4.1.8.tgz" + integrity sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + +"@inquirer/number@^3.0.9": + version "3.0.11" + resolved "https://registry.npmmirror.com/@inquirer/number/-/number-3.0.11.tgz" + integrity sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + +"@inquirer/password@^4.0.9": + version "4.0.11" + resolved "https://registry.npmmirror.com/@inquirer/password/-/password-4.0.11.tgz" + integrity sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + ansi-escapes "^4.3.2" + +"@inquirer/prompts@>= 3 < 8", "@inquirer/prompts@7.3.2": + version "7.3.2" + resolved "https://registry.npmmirror.com/@inquirer/prompts/-/prompts-7.3.2.tgz" + integrity sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ== + dependencies: + "@inquirer/checkbox" "^4.1.2" + "@inquirer/confirm" "^5.1.6" + "@inquirer/editor" "^4.2.7" + "@inquirer/expand" "^4.0.9" + "@inquirer/input" "^4.1.6" + "@inquirer/number" "^3.0.9" + "@inquirer/password" "^4.0.9" + "@inquirer/rawlist" "^4.0.9" + "@inquirer/search" "^3.0.9" + "@inquirer/select" "^4.0.9" + +"@inquirer/rawlist@^4.0.9": + version "4.0.11" + resolved "https://registry.npmmirror.com/@inquirer/rawlist/-/rawlist-4.0.11.tgz" + integrity sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/type" "^3.0.5" + yoctocolors-cjs "^2.1.2" + +"@inquirer/search@^3.0.9": + version "3.0.11" + resolved "https://registry.npmmirror.com/@inquirer/search/-/search-3.0.11.tgz" + integrity sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/figures" "^1.0.11" + "@inquirer/type" "^3.0.5" + yoctocolors-cjs "^2.1.2" + +"@inquirer/select@^4.0.9": + version "4.1.0" + resolved "https://registry.npmmirror.com/@inquirer/select/-/select-4.1.0.tgz" + integrity sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA== + dependencies: + "@inquirer/core" "^10.1.9" + "@inquirer/figures" "^1.0.11" + "@inquirer/type" "^3.0.5" + ansi-escapes "^4.3.2" + yoctocolors-cjs "^2.1.2" + +"@inquirer/type@^1.5.5": + version "1.5.5" + resolved "https://registry.npmmirror.com/@inquirer/type/-/type-1.5.5.tgz" + integrity sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA== + dependencies: + mute-stream "^1.0.0" + +"@inquirer/type@^3.0.4", "@inquirer/type@^3.0.5": + version "3.0.5" + resolved "https://registry.npmmirror.com/@inquirer/type/-/type-3.0.5.tgz" + integrity sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg== + +"@ionic/angular-toolkit@^12.0.0": + version "12.1.1" + resolved "https://registry.npmmirror.com/@ionic/angular-toolkit/-/angular-toolkit-12.1.1.tgz" + integrity sha512-VgD9pUg2ViI6a0W+8iUs7sGrQ8/1BQH43/ioAqGu/WWsgcnevy9ddTZp0M1MHbeVWaoauwbmNsG/lgNNEZq1hw== + dependencies: + "@angular-devkit/core" "^18.0.0" + "@angular-devkit/schematics" "^18.0.0" + "@schematics/angular" "^18.0.0" + +"@ionic/angular@^8.0.0": + version "8.5.1" + resolved "https://registry.npmmirror.com/@ionic/angular/-/angular-8.5.1.tgz" + integrity sha512-MS6Avg/LvExI+GRZzdcTfOi735xW+sc05JUdlJh7QwTVN2+5IVj1bbm/7ULbM3trGef+nM9gW/sEm6T50O+4ag== + dependencies: + "@ionic/core" "8.5.1" + ionicons "^7.0.0" + jsonc-parser "^3.0.0" + tslib "^2.3.0" + +"@ionic/cli-framework-output@^2.2.8": + version "2.2.8" + resolved "https://registry.npmmirror.com/@ionic/cli-framework-output/-/cli-framework-output-2.2.8.tgz" + integrity sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g== + dependencies: + "@ionic/utils-terminal" "2.3.5" + debug "^4.0.0" + tslib "^2.0.1" + +"@ionic/core@8.5.1": + version "8.5.1" + resolved "https://registry.npmmirror.com/@ionic/core/-/core-8.5.1.tgz" + integrity sha512-XsI1ImfgO87EdNucfmKESPN4djLyclNTwzU2AY7xSzSonKjTAft6qrK1/qU2ys829bmbM7/4+tHFb0UOnt3uHQ== + dependencies: + "@stencil/core" "4.20.0" + ionicons "^7.2.2" + tslib "^2.1.0" + +"@ionic/utils-array@2.1.6": + version "2.1.6" + resolved "https://registry.npmmirror.com/@ionic/utils-array/-/utils-array-2.1.6.tgz" + integrity sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg== + dependencies: + debug "^4.0.0" + tslib "^2.0.1" + +"@ionic/utils-fs@^3.1.7", "@ionic/utils-fs@3.1.7": + version "3.1.7" + resolved "https://registry.npmmirror.com/@ionic/utils-fs/-/utils-fs-3.1.7.tgz" + integrity sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA== + dependencies: + "@types/fs-extra" "^8.0.0" + debug "^4.0.0" + fs-extra "^9.0.0" + tslib "^2.0.1" + +"@ionic/utils-object@2.1.6": + version "2.1.6" + resolved "https://registry.npmmirror.com/@ionic/utils-object/-/utils-object-2.1.6.tgz" + integrity sha512-vCl7sl6JjBHFw99CuAqHljYJpcE88YaH2ZW4ELiC/Zwxl5tiwn4kbdP/gxi2OT3MQb1vOtgAmSNRtusvgxI8ww== + dependencies: + debug "^4.0.0" + tslib "^2.0.1" + +"@ionic/utils-process@2.1.12": + version "2.1.12" + resolved "https://registry.npmmirror.com/@ionic/utils-process/-/utils-process-2.1.12.tgz" + integrity sha512-Jqkgyq7zBs/v/J3YvKtQQiIcxfJyplPgECMWgdO0E1fKrrH8EF0QGHNJ9mJCn6PYe2UtHNS8JJf5G21e09DfYg== + dependencies: + "@ionic/utils-object" "2.1.6" + "@ionic/utils-terminal" "2.3.5" + debug "^4.0.0" + signal-exit "^3.0.3" + tree-kill "^1.2.2" + tslib "^2.0.1" + +"@ionic/utils-stream@3.1.7": + version "3.1.7" + resolved "https://registry.npmmirror.com/@ionic/utils-stream/-/utils-stream-3.1.7.tgz" + integrity sha512-eSELBE7NWNFIHTbTC2jiMvh1ABKGIpGdUIvARsNPMNQhxJB3wpwdiVnoBoTYp+5a6UUIww4Kpg7v6S7iTctH1w== + dependencies: + debug "^4.0.0" + tslib "^2.0.1" + +"@ionic/utils-subprocess@^3.0.1": + version "3.0.1" + resolved "https://registry.npmmirror.com/@ionic/utils-subprocess/-/utils-subprocess-3.0.1.tgz" + integrity sha512-cT4te3AQQPeIM9WCwIg8ohroJ8TjsYaMb2G4ZEgv9YzeDqHZ4JpeIKqG2SoaA3GmVQ3sOfhPM6Ox9sxphV/d1A== + dependencies: + "@ionic/utils-array" "2.1.6" + "@ionic/utils-fs" "3.1.7" + "@ionic/utils-process" "2.1.12" + "@ionic/utils-stream" "3.1.7" + "@ionic/utils-terminal" "2.3.5" + cross-spawn "^7.0.3" + debug "^4.0.0" + tslib "^2.0.1" + +"@ionic/utils-terminal@^2.3.4", "@ionic/utils-terminal@^2.3.5", "@ionic/utils-terminal@2.3.5": + version "2.3.5" + resolved "https://registry.npmmirror.com/@ionic/utils-terminal/-/utils-terminal-2.3.5.tgz" + integrity sha512-3cKScz9Jx2/Pr9ijj1OzGlBDfcmx7OMVBt4+P1uRR0SSW4cm1/y3Mo4OY3lfkuaYifMNBW8Wz6lQHbs1bihr7A== + dependencies: + "@types/slice-ansi" "^4.0.0" + debug "^4.0.0" + signal-exit "^3.0.3" + slice-ansi "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + tslib "^2.0.1" + untildify "^4.0.0" + wrap-ansi "^7.0.0" + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@isaacs/fs-minipass@^4.0.0": + version "4.0.1" + resolved "https://registry.npmmirror.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz" + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== + dependencies: + minipass "^7.0.4" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.8" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.0" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jsonjoy.com/base64@^1.1.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz" + integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA== + +"@jsonjoy.com/json-pack@^1.0.3": + version "1.2.0" + resolved "https://registry.npmmirror.com/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz" + integrity sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA== + dependencies: + "@jsonjoy.com/base64" "^1.1.1" + "@jsonjoy.com/util" "^1.1.2" + hyperdyperid "^1.2.0" + thingies "^1.20.0" + +"@jsonjoy.com/util@^1.1.2", "@jsonjoy.com/util@^1.3.0": + version "1.5.0" + resolved "https://registry.npmmirror.com/@jsonjoy.com/util/-/util-1.5.0.tgz" + integrity sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA== + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.5" + resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== + +"@listr2/prompt-adapter-inquirer@2.0.18": + version "2.0.18" + resolved "https://registry.npmmirror.com/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz" + integrity sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q== + dependencies: + "@inquirer/type" "^1.5.5" + +"@lmdb/lmdb-win32-x64@3.2.6": + version "3.2.6" + resolved "https://registry.npmmirror.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz" + integrity sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg== + +"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3": + version "3.0.3" + resolved "https://registry.npmmirror.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz" + integrity sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ== + +"@napi-rs/nice-win32-x64-msvc@1.0.1": + version "1.0.1" + resolved "https://registry.npmmirror.com/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz" + integrity sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg== + +"@napi-rs/nice@^1.0.1": + version "1.0.1" + resolved "https://registry.npmmirror.com/@napi-rs/nice/-/nice-1.0.1.tgz" + integrity sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ== + optionalDependencies: + "@napi-rs/nice-android-arm-eabi" "1.0.1" + "@napi-rs/nice-android-arm64" "1.0.1" + "@napi-rs/nice-darwin-arm64" "1.0.1" + "@napi-rs/nice-darwin-x64" "1.0.1" + "@napi-rs/nice-freebsd-x64" "1.0.1" + "@napi-rs/nice-linux-arm-gnueabihf" "1.0.1" + "@napi-rs/nice-linux-arm64-gnu" "1.0.1" + "@napi-rs/nice-linux-arm64-musl" "1.0.1" + "@napi-rs/nice-linux-ppc64-gnu" "1.0.1" + "@napi-rs/nice-linux-riscv64-gnu" "1.0.1" + "@napi-rs/nice-linux-s390x-gnu" "1.0.1" + "@napi-rs/nice-linux-x64-gnu" "1.0.1" + "@napi-rs/nice-linux-x64-musl" "1.0.1" + "@napi-rs/nice-win32-arm64-msvc" "1.0.1" + "@napi-rs/nice-win32-ia32-msvc" "1.0.1" + "@napi-rs/nice-win32-x64-msvc" "1.0.1" + +"@ngtools/webpack@19.2.4": + version "19.2.4" + resolved "https://registry.npmmirror.com/@ngtools/webpack/-/webpack-19.2.4.tgz" + integrity sha512-I2vG9Yb0W/PR5+quBmSUk6uGa4xN/YvfJk+30bFDB/CpJlTQEo+3AOFCDYcDOxrbtjON80VdFYPypQ5ztbpdYw== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/agent@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@npmcli/agent/-/agent-3.0.0.tgz" + integrity sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q== + dependencies: + agent-base "^7.1.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.1" + lru-cache "^10.0.1" + socks-proxy-agent "^8.0.3" + +"@npmcli/fs@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@npmcli/fs/-/fs-4.0.0.tgz" + integrity sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q== + dependencies: + semver "^7.3.5" + +"@npmcli/git@^6.0.0": + version "6.0.3" + resolved "https://registry.npmmirror.com/@npmcli/git/-/git-6.0.3.tgz" + integrity sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ== + dependencies: + "@npmcli/promise-spawn" "^8.0.0" + ini "^5.0.0" + lru-cache "^10.0.1" + npm-pick-manifest "^10.0.0" + proc-log "^5.0.0" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^5.0.0" + +"@npmcli/installed-package-contents@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz" + integrity sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q== + dependencies: + npm-bundled "^4.0.0" + npm-normalize-package-bin "^4.0.0" + +"@npmcli/node-gyp@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz" + integrity sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA== + +"@npmcli/package-json@^6.0.0": + version "6.1.1" + resolved "https://registry.npmmirror.com/@npmcli/package-json/-/package-json-6.1.1.tgz" + integrity sha512-d5qimadRAUCO4A/Txw71VM7UrRZzV+NPclxz/dc+M6B2oYwjWTjqh8HA/sGQgs9VZuJ6I/P7XIAlJvgrl27ZOw== + dependencies: + "@npmcli/git" "^6.0.0" + glob "^10.2.2" + hosted-git-info "^8.0.0" + json-parse-even-better-errors "^4.0.0" + proc-log "^5.0.0" + semver "^7.5.3" + validate-npm-package-license "^3.0.4" + +"@npmcli/promise-spawn@^8.0.0": + version "8.0.2" + resolved "https://registry.npmmirror.com/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz" + integrity sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ== + dependencies: + which "^5.0.0" + +"@npmcli/redact@^3.0.0": + version "3.1.1" + resolved "https://registry.npmmirror.com/@npmcli/redact/-/redact-3.1.1.tgz" + integrity sha512-3Hc2KGIkrvJWJqTbvueXzBeZlmvoOxc2jyX00yzr3+sNFquJg0N8hH4SAPLPVrkWIRQICVpVgjrss971awXVnA== + +"@npmcli/run-script@^9.0.0": + version "9.1.0" + resolved "https://registry.npmmirror.com/@npmcli/run-script/-/run-script-9.1.0.tgz" + integrity sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg== + dependencies: + "@npmcli/node-gyp" "^4.0.0" + "@npmcli/package-json" "^6.0.0" + "@npmcli/promise-spawn" "^8.0.0" + node-gyp "^11.0.0" + proc-log "^5.0.0" + which "^5.0.0" + +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== + +"@parcel/watcher@^2.4.1": + version "2.5.1" + resolved "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.1.tgz" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.1" + "@parcel/watcher-darwin-arm64" "2.5.1" + "@parcel/watcher-darwin-x64" "2.5.1" + "@parcel/watcher-freebsd-x64" "2.5.1" + "@parcel/watcher-linux-arm-glibc" "2.5.1" + "@parcel/watcher-linux-arm-musl" "2.5.1" + "@parcel/watcher-linux-arm64-glibc" "2.5.1" + "@parcel/watcher-linux-arm64-musl" "2.5.1" + "@parcel/watcher-linux-x64-glibc" "2.5.1" + "@parcel/watcher-linux-x64-musl" "2.5.1" + "@parcel/watcher-win32-arm64" "2.5.1" + "@parcel/watcher-win32-ia32" "2.5.1" + "@parcel/watcher-win32-x64" "2.5.1" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.npmmirror.com/@pkgr/core/-/core-0.1.1.tgz" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + +"@rollup/rollup-win32-x64-msvc@4.34.8": + version "4.34.8" + resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz" + integrity sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g== + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.npmmirror.com/@rtsao/scc/-/scc-1.1.0.tgz" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@schematics/angular@^18.0.0": + version "18.2.15" + resolved "https://registry.npmmirror.com/@schematics/angular/-/angular-18.2.15.tgz" + integrity sha512-fGaexZMhYZ6v8hBymJqB/FqFrJIcJPacEBeS4CBmU0Ju9C72PueaGqQ1it3SJxwvMOPCxxML4lbDWTWCnzzBGQ== + dependencies: + "@angular-devkit/core" "18.2.15" + "@angular-devkit/schematics" "18.2.15" + jsonc-parser "3.3.1" + +"@schematics/angular@19.2.4": + version "19.2.4" + resolved "https://registry.npmmirror.com/@schematics/angular/-/angular-19.2.4.tgz" + integrity sha512-P7fphIPbqHHYRVRPiFl7RAHYPYhINGSUYOXrcThVBBsgKQBX18oNdUWvhZA6ylwK/9T21XB20VyLjNy0d78H1Q== + dependencies: + "@angular-devkit/core" "19.2.4" + "@angular-devkit/schematics" "19.2.4" + jsonc-parser "3.3.1" + +"@sigstore/bundle@^3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@sigstore/bundle/-/bundle-3.1.0.tgz" + integrity sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag== + dependencies: + "@sigstore/protobuf-specs" "^0.4.0" + +"@sigstore/core@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@sigstore/core/-/core-2.0.0.tgz" + integrity sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg== + +"@sigstore/protobuf-specs@^0.4.0": + version "0.4.0" + resolved "https://registry.npmmirror.com/@sigstore/protobuf-specs/-/protobuf-specs-0.4.0.tgz" + integrity sha512-o09cLSIq9EKyRXwryWDOJagkml9XgQCoCSRjHOnHLnvsivaW7Qznzz6yjfV7PHJHhIvyp8OH7OX8w0Dc5bQK7A== + +"@sigstore/sign@^3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@sigstore/sign/-/sign-3.1.0.tgz" + integrity sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw== + dependencies: + "@sigstore/bundle" "^3.1.0" + "@sigstore/core" "^2.0.0" + "@sigstore/protobuf-specs" "^0.4.0" + make-fetch-happen "^14.0.2" + proc-log "^5.0.0" + promise-retry "^2.0.1" + +"@sigstore/tuf@^3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@sigstore/tuf/-/tuf-3.1.0.tgz" + integrity sha512-suVMQEA+sKdOz5hwP9qNcEjX6B45R+hFFr4LAWzbRc5O+U2IInwvay/bpG5a4s+qR35P/JK/PiKiRGjfuLy1IA== + dependencies: + "@sigstore/protobuf-specs" "^0.4.0" + tuf-js "^3.0.1" + +"@sigstore/verify@^2.1.0": + version "2.1.0" + resolved "https://registry.npmmirror.com/@sigstore/verify/-/verify-2.1.0.tgz" + integrity sha512-kAAM06ca4CzhvjIZdONAL9+MLppW3K48wOFy1TbuaWFW/OMfl8JuTgW0Bm02JB1WJGT/ET2eqav0KTEKmxqkIA== + dependencies: + "@sigstore/bundle" "^3.1.0" + "@sigstore/core" "^2.0.0" + "@sigstore/protobuf-specs" "^0.4.0" + +"@sindresorhus/merge-streams@^2.1.0": + version "2.3.0" + resolved "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz" + integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== + +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.npmmirror.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== + +"@stencil/core@^4.0.3", "@stencil/core@4.20.0": + version "4.20.0" + resolved "https://registry.npmmirror.com/@stencil/core/-/core-4.20.0.tgz" + integrity sha512-WPrTHFngvN081RY+dJPneKQLwnOFD60OMCOQGmmSHfCW0f4ujPMzzhwWU1gcSwXPWXz5O+8cBiiCaxAbJU7kAg== + +"@tufjs/canonical-json@2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz" + integrity sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA== + +"@tufjs/models@3.0.1": + version "3.0.1" + resolved "https://registry.npmmirror.com/@tufjs/models/-/models-3.0.1.tgz" + integrity sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA== + dependencies: + "@tufjs/canonical-json" "2.0.0" + minimatch "^9.0.5" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.5.tgz" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.13": + version "3.5.13" + resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.5.4": + version "1.5.4" + resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.12": + version "2.8.17" + resolved "https://registry.npmmirror.com/@types/cors/-/cors-2.8.17.tgz" + integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-9.6.1.tgz" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6", "@types/estree@1.0.6": + version "1.0.6" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@types/express-serve-static-core@*": + version "5.0.6" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz" + integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13", "@types/express@^4.17.21": + version "4.17.21" + resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.21.tgz" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/fs-extra@^8.0.0": + version "8.1.5" + resolved "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-8.1.5.tgz" + integrity sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ== + dependencies: + "@types/node" "*" + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.4.tgz" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.15", "@types/http-proxy@^1.17.8": + version "1.17.16" + resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.16.tgz" + integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w== + dependencies: + "@types/node" "*" + +"@types/jasmine@~5.1.0": + version "5.1.7" + resolved "https://registry.npmmirror.com/@types/jasmine/-/jasmine-5.1.7.tgz" + integrity sha512-DVOfk9FaClQfNFpSfaML15jjB5cjffDMvjtph525sroR5BEAW2uKnTOYUTqTFuZFjNvH0T5XMIydvIctnUKufw== + +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^18.0.0 || ^20.0.0 || >=22.0.0", "@types/node@>=10.0.0", "@types/node@>=18": + version "22.13.10" + resolved "https://registry.npmmirror.com/@types/node/-/node-22.13.10.tgz" + integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw== + dependencies: + undici-types "~6.20.0" + +"@types/qs@*": + version "6.9.18" + resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.18.tgz" + integrity sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/retry@0.12.2": + version "0.12.2" + resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.2.tgz" + integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.npmmirror.com/@types/send/-/send-0.17.4.tgz" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.4": + version "1.9.4" + resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.15.5": + version "1.15.7" + resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.7.tgz" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + +"@types/slice-ansi@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ== + +"@types/sockjs@^0.3.36": + version "0.3.36" + resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/ws@^8.5.10": + version "8.18.0" + resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.18.0.tgz" + integrity sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^8.18.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz" + integrity sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.27.0" + "@typescript-eslint/type-utils" "8.27.0" + "@typescript-eslint/utils" "8.27.0" + "@typescript-eslint/visitor-keys" "8.27.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^2.0.1" + +"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@^8.18.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-8.27.0.tgz" + integrity sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA== + dependencies: + "@typescript-eslint/scope-manager" "8.27.0" + "@typescript-eslint/types" "8.27.0" + "@typescript-eslint/typescript-estree" "8.27.0" + "@typescript-eslint/visitor-keys" "8.27.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz" + integrity sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw== + dependencies: + "@typescript-eslint/types" "8.27.0" + "@typescript-eslint/visitor-keys" "8.27.0" + +"@typescript-eslint/type-utils@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz" + integrity sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA== + dependencies: + "@typescript-eslint/typescript-estree" "8.27.0" + "@typescript-eslint/utils" "8.27.0" + debug "^4.3.4" + ts-api-utils "^2.0.1" + +"@typescript-eslint/types@^7.11.0 || ^8.0.0", "@typescript-eslint/types@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-8.27.0.tgz" + integrity sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A== + +"@typescript-eslint/typescript-estree@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz" + integrity sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A== + dependencies: + "@typescript-eslint/types" "8.27.0" + "@typescript-eslint/visitor-keys" "8.27.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^2.0.1" + +"@typescript-eslint/utils@^7.11.0 || ^8.0.0", "@typescript-eslint/utils@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-8.27.0.tgz" + integrity sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.27.0" + "@typescript-eslint/types" "8.27.0" + "@typescript-eslint/typescript-estree" "8.27.0" + +"@typescript-eslint/visitor-keys@8.27.0": + version "8.27.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz" + integrity sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ== + dependencies: + "@typescript-eslint/types" "8.27.0" + eslint-visitor-keys "^4.2.0" + +"@vitejs/plugin-basic-ssl@1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz" + integrity sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q== + +"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" + +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@xtuc/long" "4.2.2" + +"@xmldom/xmldom@^0.8.8": + version "0.8.10" + resolved "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +"@yarnpkg/lockfile@1.1.0": + version "1.1.0" + resolved "https://registry.npmmirror.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +abbrev@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/abbrev/-/abbrev-3.0.0.tgz" + integrity sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA== + +accepts@~1.3.4, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.14.0, acorn@^8.8.2: + version "8.14.1" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== + +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz" + integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.3.tgz" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-formats@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-3.0.1.tgz" + integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmmirror.com/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" + +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0, ajv@8.17.1: + version "8.17.1" + resolved "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +ansi-colors@4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.3.2: + version "4.3.2" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-escapes@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== + dependencies: + environment "^1.0.0" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.0.0: + version "6.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +are-docs-informative@^0.0.2: + version "0.0.2" + resolved "https://registry.npmmirror.com/are-docs-informative/-/are-docs-informative-0.0.2.tgz" + integrity sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.8.tgz" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array.prototype.findlastindex@^1.2.5: + version "1.2.6" + resolved "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz" + integrity sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-shim-unscopables "^1.1.0" + +array.prototype.flat@^1.3.2: + version "1.3.3" + resolved "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +array.prototype.flatmap@^1.3.2: + version "1.3.3" + resolved "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@10.4.20: + version "10.4.20" + resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz" + integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== + dependencies: + browserslist "^4.23.3" + caniuse-lite "^1.0.30001646" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.1" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axobject-query@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + +babel-loader@9.2.1: + version "9.2.1" + resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-9.2.1.tgz" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.13" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.4" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.4" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.4" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64id@~2.0.0, base64id@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/base64id/-/base64id-2.0.0.tgz" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +beasties@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/beasties/-/beasties-0.2.0.tgz" + integrity sha512-Ljqskqx/tbZagIglYoJIMzH5zgssyp+in9+9sAyh15N22AornBeIDnb8EZ6Rk+6ShfMxd92uO3gfpT0NtZbpow== + dependencies: + css-select "^5.1.0" + css-what "^6.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + htmlparser2 "^9.1.0" + picocolors "^1.1.1" + postcss "^8.4.49" + postcss-media-query-parser "^0.2.3" + +big-integer@1.6.x: + version "1.6.52" + resolved "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +body-parser@^1.19.0, body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.3.0.tgz" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +bplist-parser@^0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/bplist-parser/-/bplist-parser-0.3.2.tgz" + integrity sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ== + dependencies: + big-integer "1.6.x" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.21.5, browserslist@^4.23.0, browserslist@^4.23.3, browserslist@^4.24.0, browserslist@^4.24.4, "browserslist@>= 4.21.0": + version "4.24.4" + resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.4.tgz" + integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== + dependencies: + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bundle-name@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz" + integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== + dependencies: + run-applescript "^7.0.0" + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^19.0.0, cacache@^19.0.1: + version "19.0.1" + resolved "https://registry.npmmirror.com/cacache/-/cacache-19.0.1.tgz" + integrity sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ== + dependencies: + "@npmcli/fs" "^4.0.0" + fs-minipass "^3.0.0" + glob "^10.2.2" + lru-cache "^10.0.1" + minipass "^7.0.3" + minipass-collect "^2.0.1" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^7.0.2" + ssri "^12.0.0" + tar "^7.4.3" + unique-filename "^4.0.0" + +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001688: + version "1.0.30001706" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz" + integrity sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug== + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^3.5.1: + version "3.6.0" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^3.5.2: + version "3.6.0" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chownr@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/chownr/-/chownr-3.0.0.tgz" + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== + +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-5.0.0.tgz" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== + dependencies: + restore-cursor "^5.0.0" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-4.0.0.tgz" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== + dependencies: + slice-ansi "^5.0.0" + string-width "^7.0.0" + +cli-width@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz" + integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmmirror.com/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" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.10, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +colors@1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +commander@^12.1.0: + version "12.1.0" + resolved "https://registry.npmmirror.com/commander/-/commander-12.1.0.tgz" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +comment-parser@1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/comment-parser/-/comment-parser-1.4.1.tgz" + integrity sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg== + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +compressible@~2.0.18: + version "2.0.18" + resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.8.0" + resolved "https://registry.npmmirror.com/compression/-/compression-1.8.0.tgz" + integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== + dependencies: + bytes "3.1.2" + compressible "~2.0.18" + debug "2.6.9" + negotiator "~0.6.4" + on-headers "~1.0.2" + safe-buffer "5.2.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +connect@^3.7.0: + version "3.7.0" + resolved "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.5.1, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@~0.7.2: + version "0.7.2" + resolved "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-webpack-plugin@12.0.2: + version "12.0.2" + resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz" + integrity sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA== + dependencies: + fast-glob "^3.3.2" + glob-parent "^6.0.1" + globby "^14.0.0" + normalize-path "^3.0.0" + schema-utils "^4.2.0" + serialize-javascript "^6.0.2" + +core-js-compat@^3.40.0: + version "3.41.0" + resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.41.0.tgz" + integrity sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A== + dependencies: + browserslist "^4.24.4" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@~2.8.5: + version "2.8.5" + resolved "https://registry.npmmirror.com/cors/-/cors-2.8.5.tgz" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + +cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-loader@7.1.2: + version "7.1.2" + resolved "https://registry.npmmirror.com/css-loader/-/css-loader-7.1.2.tgz" + integrity sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +custom-event@~1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/custom-event/-/custom-event-1.0.1.tgz" + integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== + +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +date-format@^4.0.14: + version "4.0.14" + resolved "https://registry.npmmirror.com/date-format/-/date-format-4.0.14.tgz" + integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.3.6, debug@^4.4.0, debug@4: + version "4.4.0" + resolved "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + +debug@~4.3.1: + version "4.3.7" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +debug@~4.3.2: + version "4.3.7" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +debug@~4.3.4: + version "4.3.7" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +default-browser-id@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz" + integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== + +default-browser@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz" + integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== + dependencies: + bundle-name "^4.1.0" + default-browser-id "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + +detect-libc@^2.0.1: + version "2.0.3" + resolved "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.0.3.tgz" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +di@^0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/di/-/di-0.0.1.tgz" + integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +dom-serialize@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/dom-serialize/-/dom-serialize-2.2.1.tgz" + integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== + dependencies: + custom-event "~1.0.0" + ent "~2.2.0" + extend "^3.0.0" + void-elements "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1, domutils@^3.1.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/domutils/-/domutils-3.2.2.tgz" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.73: + version "1.5.120" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.120.tgz" + integrity sha512-oTUp3gfX1gZI+xfD2djr2rzQdHCwHzPQrrK0CD7WpTdF0nPdQ/INcRVjWgLdCT4a9W3jFObR9DAfsuyFQnI8CQ== + +elementtree@^0.1.7: + version "0.1.7" + resolved "https://registry.npmmirror.com/elementtree/-/elementtree-0.1.7.tgz" + integrity sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg== + dependencies: + sax "1.1.4" + +emoji-regex@^10.3.0: + version "10.4.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.4.0.tgz" + integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.npmmirror.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + +engine.io@~6.6.0: + version "6.6.4" + resolved "https://registry.npmmirror.com/engine.io/-/engine.io-6.6.4.tgz" + integrity sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== + dependencies: + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" + accepts "~1.3.4" + base64id "2.0.0" + cookie "~0.7.2" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + +enhanced-resolve@^5.17.1: + version "5.18.1" + resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +ent@~2.2.0: + version "2.2.2" + resolved "https://registry.npmmirror.com/ent/-/ent-2.2.2.tgz" + integrity sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + punycode "^1.4.1" + safe-regex-test "^1.1.0" + +entities@^4.2.0, entities@^4.3.0, entities@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.0, env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/environment/-/environment-1.1.0.tgz" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.9.tgz" + integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" + is-callable "^1.2.7" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" + object-keys "^1.1.1" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1, es-module-lexer@^1.5.3: + version "1.6.0" + resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.6.0.tgz" + integrity sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-shim-unscopables@^1.0.2, es-shim-unscopables@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz" + integrity sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw== + dependencies: + hasown "^2.0.2" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + +esbuild-wasm@0.25.1: + version "0.25.1" + resolved "https://registry.npmmirror.com/esbuild-wasm/-/esbuild-wasm-0.25.1.tgz" + integrity sha512-dZxPeDHcDIQ6ilml/NzYxnPbNkoVsHSFH3JGLSobttc5qYYgExMo8lh2XcB+w+AfiqykVDGK5PWanGB0gWaAWw== + +esbuild@^0.25.0, esbuild@0.25.1: + version "0.25.1" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.1.tgz" + integrity sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ== + optionalDependencies: + "@esbuild/aix-ppc64" "0.25.1" + "@esbuild/android-arm" "0.25.1" + "@esbuild/android-arm64" "0.25.1" + "@esbuild/android-x64" "0.25.1" + "@esbuild/darwin-arm64" "0.25.1" + "@esbuild/darwin-x64" "0.25.1" + "@esbuild/freebsd-arm64" "0.25.1" + "@esbuild/freebsd-x64" "0.25.1" + "@esbuild/linux-arm" "0.25.1" + "@esbuild/linux-arm64" "0.25.1" + "@esbuild/linux-ia32" "0.25.1" + "@esbuild/linux-loong64" "0.25.1" + "@esbuild/linux-mips64el" "0.25.1" + "@esbuild/linux-ppc64" "0.25.1" + "@esbuild/linux-riscv64" "0.25.1" + "@esbuild/linux-s390x" "0.25.1" + "@esbuild/linux-x64" "0.25.1" + "@esbuild/netbsd-arm64" "0.25.1" + "@esbuild/netbsd-x64" "0.25.1" + "@esbuild/openbsd-arm64" "0.25.1" + "@esbuild/openbsd-x64" "0.25.1" + "@esbuild/sunos-x64" "0.25.1" + "@esbuild/win32-arm64" "0.25.1" + "@esbuild/win32-ia32" "0.25.1" + "@esbuild/win32-x64" "0.25.1" + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.12.0: + version "2.12.0" + resolved "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== + dependencies: + debug "^3.2.7" + +eslint-plugin-import@^2.29.1: + version "2.31.0" + resolved "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + +eslint-plugin-jsdoc@^48.2.1: + version "48.11.0" + resolved "https://registry.npmmirror.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.11.0.tgz" + integrity sha512-d12JHJDPNo7IFwTOAItCeJY1hcqoIxE0lHA8infQByLilQ9xkqrRa6laWCnsuCrf+8rUnvxXY1XuTbibRBNylA== + dependencies: + "@es-joy/jsdoccomment" "~0.46.0" + are-docs-informative "^0.0.2" + comment-parser "1.4.1" + debug "^4.3.5" + escape-string-regexp "^4.0.0" + espree "^10.1.0" + esquery "^1.6.0" + parse-imports "^2.1.1" + semver "^7.6.3" + spdx-expression-parse "^4.0.0" + synckit "^0.9.1" + +eslint-plugin-prefer-arrow@1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz" + integrity sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ== + +eslint-scope@^8.0.2, eslint-scope@^8.3.0: + version "8.3.0" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-8.3.0.tgz" + integrity sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== + +"eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0 || ^9.0.0", "eslint@^8.57.0 || ^9.0.0", eslint@^9.16.0, eslint@>=2.0.0: + version "9.22.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-9.22.0.tgz" + integrity sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.19.2" + "@eslint/config-helpers" "^0.1.0" + "@eslint/core" "^0.12.0" + "@eslint/eslintrc" "^3.3.0" + "@eslint/js" "9.22.0" + "@eslint/plugin-kit" "^0.2.7" + "@humanfs/node" "^0.16.6" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.6" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.3.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + +espree@^10.0.1, espree@^10.1.0, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.npmmirror.com/espree/-/espree-10.3.0.tgz" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== + dependencies: + acorn "^8.14.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.0" + +esquery@^1.5.0, esquery@^1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +exponential-backoff@^3.1.1: + version "3.1.2" + resolved "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.2.tgz" + integrity sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA== + +express@^4.21.2: + version "4.21.2" + resolved "https://registry.npmmirror.com/express/-/express-4.21.2.tgz" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.3" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.7.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.3.1" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.12" + proxy-addr "~2.0.7" + qs "6.13.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.19.0" + serve-static "1.16.2" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.3.2, fast-glob@^3.3.3, fast-glob@3.3.3: + version "3.3.3" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.6.tgz" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== + dependencies: + debug "2.6.9" + encodeurl "~2.0.0" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-4.0.1.tgz" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.7, flatted@^3.2.9: + version "3.3.3" + resolved "https://registry.npmmirror.com/flatted/-/flatted-3.3.3.tgz" + integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== + +follow-redirects@^1.0.0: + version "1.15.9" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + +foreground-child@^3.1.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== + dependencies: + cross-spawn "^7.0.6" + signal-exit "^4.0.1" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^11.2.0: + version "11.3.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-minipass@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-3.0.3.tgz" + integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== + dependencies: + minipass "^7.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-east-asian-width@^1.0.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz" + integrity sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== + +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1, glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^10.2.2: + version "10.4.5" + resolved "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^10.3.7: + version "10.4.5" + resolved "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^11.0.0: + version "11.0.1" + resolved "https://registry.npmmirror.com/glob/-/glob-11.0.1.tgz" + integrity sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw== + dependencies: + foreground-child "^3.1.0" + jackspeak "^4.0.1" + minimatch "^10.0.0" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^2.0.0" + +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.npmmirror.com/globals/-/globals-14.0.0.tgz" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^14.0.0: + version "14.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-14.1.0.tgz" + integrity sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA== + dependencies: + "@sindresorhus/merge-streams" "^2.1.0" + fast-glob "^3.3.3" + ignore "^7.0.3" + path-type "^6.0.0" + slash "^5.1.0" + unicorn-magic "^0.3.0" + +go-captcha-angular@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/go-captcha-angular/-/go-captcha-angular-1.0.4.tgz" + integrity sha512-vJpmnvTSmTZasYD14bw3n/VKPuzE2+JApqhqmvAXAWDg21E+shqOch52EwAq92buF/BLh4jpv+R/pImp++dQ/w== + dependencies: + tslib "^2.3.0" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: + version "4.2.11" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" + +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hosted-git-info@^8.0.0: + version "8.0.2" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-8.0.2.tgz" + integrity sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg== + dependencies: + lru-cache "^10.0.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +htmlparser2@^9.1.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-9.1.0.tgz" + integrity sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.1.0" + entities "^4.5.0" + +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.9" + resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.9.tgz" + integrity sha512-n1XsPy3rXVxlqxVioEWdC+0+M+SQw0DpJynwtOPo1X+ZlvdzTLtDBIJJlDQTnwZIFJrZSzSGmIOUdP8tu+SgLw== + +http-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + +http-proxy-middleware@^2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz" + integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy-middleware@3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-3.0.3.tgz" + integrity sha512-usY0HG5nyDUwtqpiZdETNbmKtw3QQ1jwYFZ9wi5iHzX2BcILwQKtYDJPo7XHTsu5Z0B2Hj3W9NNnbd+AjFWjqg== + dependencies: + "@types/http-proxy" "^1.17.15" + debug "^4.3.6" + http-proxy "^1.18.1" + is-glob "^4.0.3" + is-plain-object "^5.0.0" + micromatch "^4.0.8" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +https-proxy-agent@^7.0.1, https-proxy-agent@7.0.6: + version "7.0.6" + resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== + dependencies: + agent-base "^7.1.2" + debug "4" + +hyperdyperid@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz" + integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A== + +iconv-lite@^0.4.24, iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-walk@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/ignore-walk/-/ignore-walk-7.0.0.tgz" + integrity sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ== + dependencies: + minimatch "^9.0.0" + +ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +ignore@^7.0.3, ignore@7.0.3: + version "7.0.3" + resolved "https://registry.npmmirror.com/ignore/-/ignore-7.0.3.tgz" + integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +immutable@^5.0.2: + version "5.0.3" + resolved "https://registry.npmmirror.com/immutable/-/immutable-5.0.3.tgz" + integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== + +import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^4.1.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/ini/-/ini-4.1.2.tgz" + integrity sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== + +ini@^5.0.0, ini@5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/ini/-/ini-5.0.0.tgz" + integrity sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw== + +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" + +ionicons@^7.0.0, ionicons@^7.2.2: + version "7.4.0" + resolved "https://registry.npmmirror.com/ionicons/-/ionicons-7.4.0.tgz" + integrity sha512-ZK94MMqgzMCPPMhmk8Ouu6goyVHFIlw/ACP6oe3FrikcI0N7CX0xcwVaEbUc0G/v3W0shI93vo+9ve/KpvcNhQ== + dependencies: + "@stencil/core" "^4.0.3" + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmmirror.com/ip-address/-/ip-address-9.0.5.tgz" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@^2.1.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== + dependencies: + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.0.tgz" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-network-error@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-network-error/-/is-network-error-1.1.0.tgz" + integrity sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g== + +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== + dependencies: + call-bound "^1.0.3" + +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== + dependencies: + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isbinaryfile@^4.0.8: + version "4.0.10" + resolved "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isexe@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/isexe/-/isexe-3.1.1.tgz" + integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.5: + version "3.1.7" + resolved "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jackspeak@^4.0.1: + version "4.1.0" + resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-4.1.0.tgz" + integrity sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw== + dependencies: + "@isaacs/cliui" "^8.0.2" + +"jasmine-core@^4.0.0 || ^5.0.0", jasmine-core@~5.1.0: + version "5.1.2" + resolved "https://registry.npmmirror.com/jasmine-core/-/jasmine-core-5.1.2.tgz" + integrity sha512-2oIUMGn00FdUiqz6epiiJr7xcFyNYj3rDcfmnzfkBnHyBQ3cBQUs4mmyGsOb7TTLb9kxk7dBcmEmqhDKkBoDyA== + +jasmine-core@^4.1.0: + version "4.6.1" + resolved "https://registry.npmmirror.com/jasmine-core/-/jasmine-core-4.6.1.tgz" + integrity sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ== + +jasmine-spec-reporter@~5.0.0: + version "5.0.2" + resolved "https://registry.npmmirror.com/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz" + integrity sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g== + dependencies: + colors "1.4.0" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@*, jiti@^1.20.0, jiti@>=1.21.0: + version "1.21.7" + resolved "https://registry.npmmirror.com/jiti/-/jiti-1.21.7.tgz" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsdoc-type-pratt-parser@~4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz" + integrity sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ== + +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-parse-even-better-errors@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz" + integrity sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@^3.0.0, jsonc-parser@3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.3.1.tgz" + integrity sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +karma-chrome-launcher@~3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz" + integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== + dependencies: + which "^1.2.1" + +karma-coverage@~2.2.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/karma-coverage/-/karma-coverage-2.2.1.tgz" + integrity sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A== + dependencies: + istanbul-lib-coverage "^3.2.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.1" + istanbul-reports "^3.0.5" + minimatch "^3.0.4" + +karma-jasmine-html-reporter@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz" + integrity sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ== + +karma-jasmine@^5.0.0, karma-jasmine@~5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/karma-jasmine/-/karma-jasmine-5.1.0.tgz" + integrity sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ== + dependencies: + jasmine-core "^4.1.0" + +karma-source-map-support@1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz" + integrity sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A== + dependencies: + source-map-support "^0.5.5" + +karma@^6.0.0, karma@^6.3.0, karma@^6.4.0, karma@~6.4.0: + version "6.4.4" + resolved "https://registry.npmmirror.com/karma/-/karma-6.4.4.tgz" + integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== + dependencies: + "@colors/colors" "1.5.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.5.1" + connect "^3.7.0" + di "^0.0.1" + dom-serialize "^2.2.1" + glob "^7.1.7" + graceful-fs "^4.2.6" + http-proxy "^1.18.1" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.4.1" + mime "^2.5.2" + minimatch "^3.0.4" + mkdirp "^0.5.5" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^4.7.2" + source-map "^0.6.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" + +keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +kleur@^4.1.5: + version "4.1.5" + resolved "https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +launch-editor@^2.6.1: + version "2.10.0" + resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.10.0.tgz" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +less-loader@12.2.0: + version "12.2.0" + resolved "https://registry.npmmirror.com/less-loader/-/less-loader-12.2.0.tgz" + integrity sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg== + +less@*, "less@^3.5.0 || ^4.0.0", less@^4.2.0, less@4.2.2: + version "4.2.2" + resolved "https://registry.npmmirror.com/less/-/less-4.2.2.tgz" + integrity sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +license-webpack-plugin@4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== + dependencies: + webpack-sources "^3.0.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +listr2@8.2.5: + version "8.2.5" + resolved "https://registry.npmmirror.com/listr2/-/listr2-8.2.5.tgz" + integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.1.0" + rfdc "^1.4.1" + wrap-ansi "^9.0.0" + +lmdb@3.2.6: + version "3.2.6" + resolved "https://registry.npmmirror.com/lmdb/-/lmdb-3.2.6.tgz" + integrity sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ== + dependencies: + msgpackr "^1.11.2" + node-addon-api "^6.1.0" + node-gyp-build-optional-packages "5.2.2" + ordered-binary "^1.5.3" + weak-lru-cache "^1.2.2" + optionalDependencies: + "@lmdb/lmdb-darwin-arm64" "3.2.6" + "@lmdb/lmdb-darwin-x64" "3.2.6" + "@lmdb/lmdb-linux-arm" "3.2.6" + "@lmdb/lmdb-linux-arm64" "3.2.6" + "@lmdb/lmdb-linux-x64" "3.2.6" + "@lmdb/lmdb-win32-x64" "3.2.6" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/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" + +loader-utils@3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.3.1.tgz" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/log-update/-/log-update-6.1.0.tgz" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== + dependencies: + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + +log4js@^6.4.1: + version "6.9.1" + resolved "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz" + integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + flatted "^3.2.7" + rfdc "^1.3.0" + streamroller "^3.1.5" + +lru-cache@^10.0.1: + version "10.4.3" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^11.0.0: + version "11.0.2" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-11.0.2.tgz" + integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +magic-string@0.30.11: + version "0.30.11" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +magic-string@0.30.17: + version "0.30.17" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1, make-fetch-happen@^14.0.2, make-fetch-happen@^14.0.3: + version "14.0.3" + resolved "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz" + integrity sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ== + dependencies: + "@npmcli/agent" "^3.0.0" + cacache "^19.0.1" + http-cache-semantics "^4.1.1" + minipass "^7.0.2" + minipass-fetch "^4.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^1.0.0" + proc-log "^5.0.0" + promise-retry "^2.0.1" + ssri "^12.0.0" + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^4.6.0: + version "4.17.0" + resolved "https://registry.npmmirror.com/memfs/-/memfs-4.17.0.tgz" + integrity sha512-4eirfZ7thblFmqFjywlTmuWVSvccHAJbn1r8qQLzmTO11qcqpohOjmY2mFce6x7x7WtskzRqApPD0hv+Oa74jg== + dependencies: + "@jsonjoy.com/json-pack" "^1.0.3" + "@jsonjoy.com/util" "^1.3.0" + tree-dump "^1.0.1" + tslib "^2.0.0" + +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@^1.4.1: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.npmmirror.com/mimic-function/-/mimic-function-5.0.1.tgz" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + +mini-css-extract-plugin@2.9.2: + version "2.9.2" + resolved "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz" + integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== + dependencies: + schema-utils "^4.0.0" + tapable "^2.2.1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^10.0.0: + version "10.0.1" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-10.0.1.tgz" + integrity sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.0, minimatch@^9.0.4, minimatch@^9.0.5: + version "9.0.5" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-2.0.1.tgz" + integrity sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== + dependencies: + minipass "^7.0.3" + +minipass-fetch@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-4.0.1.tgz" + integrity sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ== + dependencies: + minipass "^7.0.3" + minipass-sized "^1.0.3" + minizlib "^3.0.1" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.2, minipass@^7.0.3, minipass@^7.0.4, minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +minizlib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/minizlib/-/minizlib-3.0.1.tgz" + integrity sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg== + dependencies: + minipass "^7.0.4" + rimraf "^5.0.5" + +mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-3.0.1.tgz" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== + +mrmime@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== + +ms@^2.1.1, ms@^2.1.3, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +msgpackr-extract@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz" + integrity sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA== + dependencies: + node-gyp-build-optional-packages "5.2.2" + optionalDependencies: + "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.3" + "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.3" + +msgpackr@^1.11.2: + version "1.11.2" + resolved "https://registry.npmmirror.com/msgpackr/-/msgpackr-1.11.2.tgz" + integrity sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g== + optionalDependencies: + msgpackr-extract "^3.0.2" + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mute-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-1.0.0.tgz" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + +mute-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-2.0.0.tgz" + integrity sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== + +nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== + +native-run@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/native-run/-/native-run-2.0.1.tgz" + integrity sha512-XfG1FBZLM50J10xH9361whJRC9SHZ0Bub4iNRhhI61C8Jv0e1ud19muex6sNKB51ibQNUJNuYn25MuYET/rE6w== + dependencies: + "@ionic/utils-fs" "^3.1.7" + "@ionic/utils-terminal" "^2.3.4" + bplist-parser "^0.3.2" + debug "^4.3.4" + elementtree "^0.1.7" + ini "^4.1.1" + plist "^3.1.0" + split2 "^4.2.0" + through2 "^4.0.2" + tslib "^2.6.2" + yauzl "^2.10.0" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-1.0.0.tgz" + integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== + +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-6.1.0.tgz" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp-build-optional-packages@5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz" + integrity sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw== + dependencies: + detect-libc "^2.0.1" + +node-gyp@^11.0.0: + version "11.1.0" + resolved "https://registry.npmmirror.com/node-gyp/-/node-gyp-11.1.0.tgz" + integrity sha512-/+7TuHKnBpnMvUQnsYEb0JOozDZqarQbfNuSGLXIjhStMT0fbw7IdSqWgopOP5xhRZE+lsbIvAHcekddruPZgQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^10.3.10" + graceful-fs "^4.2.6" + make-fetch-happen "^14.0.3" + nopt "^8.0.0" + proc-log "^5.0.0" + semver "^7.3.5" + tar "^7.4.3" + which "^5.0.0" + +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + +nopt@^8.0.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/nopt/-/nopt-8.1.0.tgz" + integrity sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A== + dependencies: + abbrev "^3.0.0" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +npm-bundled@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/npm-bundled/-/npm-bundled-4.0.0.tgz" + integrity sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA== + dependencies: + npm-normalize-package-bin "^4.0.0" + +npm-install-checks@^7.1.0: + version "7.1.1" + resolved "https://registry.npmmirror.com/npm-install-checks/-/npm-install-checks-7.1.1.tgz" + integrity sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz" + integrity sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w== + +npm-package-arg@^12.0.0, npm-package-arg@12.0.2: + version "12.0.2" + resolved "https://registry.npmmirror.com/npm-package-arg/-/npm-package-arg-12.0.2.tgz" + integrity sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA== + dependencies: + hosted-git-info "^8.0.0" + proc-log "^5.0.0" + semver "^7.3.5" + validate-npm-package-name "^6.0.0" + +npm-packlist@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/npm-packlist/-/npm-packlist-9.0.0.tgz" + integrity sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ== + dependencies: + ignore-walk "^7.0.0" + +npm-pick-manifest@^10.0.0, npm-pick-manifest@10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz" + integrity sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ== + dependencies: + npm-install-checks "^7.1.0" + npm-normalize-package-bin "^4.0.0" + npm-package-arg "^12.0.0" + semver "^7.3.5" + +npm-registry-fetch@^18.0.0: + version "18.0.2" + resolved "https://registry.npmmirror.com/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz" + integrity sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ== + dependencies: + "@npmcli/redact" "^3.0.0" + jsonparse "^1.3.1" + make-fetch-happen "^14.0.0" + minipass "^7.0.2" + minipass-fetch "^4.0.0" + minizlib "^3.0.1" + npm-package-arg "^12.0.0" + proc-log "^5.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4: + version "4.1.1" + resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.8.tgz" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/object.groupby/-/object.groupby-1.0.3.tgz" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.2.0: + version "1.2.1" + resolved "https://registry.npmmirror.com/object.values/-/object.values-1.2.1.tgz" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@^2.4.1, on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/onetime/-/onetime-7.0.0.tgz" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + +open@^10.0.3, open@10.1.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/open/-/open-10.1.0.tgz" + integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== + dependencies: + default-browser "^5.2.1" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^3.1.0" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +ora@5.4.1: + version "5.4.1" + resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ordered-binary@^1.5.3: + version "1.5.3" + resolved "https://registry.npmmirror.com/ordered-binary/-/ordered-binary-1.5.3.tgz" + integrity sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA== + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^7.0.2: + version "7.0.3" + resolved "https://registry.npmmirror.com/p-map/-/p-map-7.0.3.tgz" + integrity sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA== + +p-retry@^6.2.0: + version "6.2.1" + resolved "https://registry.npmmirror.com/p-retry/-/p-retry-6.2.1.tgz" + integrity sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ== + dependencies: + "@types/retry" "0.12.2" + is-network-error "^1.0.0" + retry "^0.13.1" + +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +pacote@20.0.0: + version "20.0.0" + resolved "https://registry.npmmirror.com/pacote/-/pacote-20.0.0.tgz" + integrity sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A== + dependencies: + "@npmcli/git" "^6.0.0" + "@npmcli/installed-package-contents" "^3.0.0" + "@npmcli/package-json" "^6.0.0" + "@npmcli/promise-spawn" "^8.0.0" + "@npmcli/run-script" "^9.0.0" + cacache "^19.0.0" + fs-minipass "^3.0.0" + minipass "^7.0.2" + npm-package-arg "^12.0.0" + npm-packlist "^9.0.0" + npm-pick-manifest "^10.0.0" + npm-registry-fetch "^18.0.0" + proc-log "^5.0.0" + promise-retry "^2.0.1" + sigstore "^3.0.0" + ssri "^12.0.0" + tar "^6.1.11" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-imports@^2.1.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/parse-imports/-/parse-imports-2.2.1.tgz" + integrity sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ== + dependencies: + es-module-lexer "^1.5.3" + slashes "^3.0.12" + +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5-html-rewriting-stream@7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz" + integrity sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg== + dependencies: + entities "^4.3.0" + parse5 "^7.0.0" + parse5-sax-parser "^7.0.0" + +parse5-sax-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz" + integrity sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg== + dependencies: + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.2.1" + resolved "https://registry.npmmirror.com/parse5/-/parse5-7.2.1.tgz" + integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== + dependencies: + entities "^4.5.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-scurry@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-2.0.0.tgz" + integrity sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg== + dependencies: + lru-cache "^11.0.0" + minipass "^7.1.2" + +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== + +path-type@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-6.0.0.tgz" + integrity sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +picomatch@^2.2.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +picomatch@4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +piscina@4.8.0: + version "4.8.0" + resolved "https://registry.npmmirror.com/piscina/-/piscina-4.8.0.tgz" + integrity sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA== + optionalDependencies: + "@napi-rs/nice" "^1.0.1" + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-7.0.0.tgz" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +plist@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/plist/-/plist-3.1.0.tgz" + integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== + dependencies: + "@xmldom/xmldom" "^0.8.8" + base64-js "^1.5.1" + xmlbuilder "^15.1.1" + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + +postcss-loader@8.1.1: + version "8.1.1" + resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-8.1.1.tgz" + integrity sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ== + dependencies: + cosmiconfig "^9.0.0" + jiti "^1.20.0" + semver "^7.5.4" + +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.npmmirror.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz" + integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig== + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-selector-parser@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +"postcss@^7.0.0 || ^8.0.1", postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.0, postcss@^8.4.33, postcss@^8.4.49, postcss@8.5.2: + version "8.5.2" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.2.tgz" + integrity sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA== + dependencies: + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +postcss@^8.5.3: + version "8.5.3" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== + dependencies: + nanoid "^3.3.8" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +proc-log@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/proc-log/-/proc-log-5.0.0.tgz" + integrity sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qjobs@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/qjobs/-/qjobs-1.2.0.tgz" + integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmmirror.com/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" + +readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@3: + version "3.6.2" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reflect-metadata@^0.2.0: + version "0.2.2" + resolved "https://registry.npmmirror.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz" + integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== + +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-parser@^2.2.11: + version "2.3.1" + resolved "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.3.1.tgz" + integrity sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ== + +regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== + dependencies: + jsesc "~3.0.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url-loader@5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz" + integrity sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg== + dependencies: + adjust-sourcemap-loader "^4.0.0" + convert-source-map "^1.7.0" + loader-utils "^2.0.0" + postcss "^8.2.14" + source-map "0.6.1" + +resolve@^1.14.2, resolve@^1.22.4, resolve@1.22.10: + version "1.22.10" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.10.tgz" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== + dependencies: + is-core-module "^2.16.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-5.1.0.tgz" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== + dependencies: + onetime "^7.0.0" + signal-exit "^4.1.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +rfdc@^1.3.0, rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@^5.0.5: + version "5.0.10" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-5.0.10.tgz" + integrity sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ== + dependencies: + glob "^10.3.7" + +rimraf@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-6.0.1.tgz" + integrity sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A== + dependencies: + glob "^11.0.0" + package-json-from-dist "^1.0.0" + +rollup@^4.30.1, rollup@4.34.8: + version "4.34.8" + resolved "https://registry.npmmirror.com/rollup/-/rollup-4.34.8.tgz" + integrity sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ== + dependencies: + "@types/estree" "1.0.6" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.34.8" + "@rollup/rollup-android-arm64" "4.34.8" + "@rollup/rollup-darwin-arm64" "4.34.8" + "@rollup/rollup-darwin-x64" "4.34.8" + "@rollup/rollup-freebsd-arm64" "4.34.8" + "@rollup/rollup-freebsd-x64" "4.34.8" + "@rollup/rollup-linux-arm-gnueabihf" "4.34.8" + "@rollup/rollup-linux-arm-musleabihf" "4.34.8" + "@rollup/rollup-linux-arm64-gnu" "4.34.8" + "@rollup/rollup-linux-arm64-musl" "4.34.8" + "@rollup/rollup-linux-loongarch64-gnu" "4.34.8" + "@rollup/rollup-linux-powerpc64le-gnu" "4.34.8" + "@rollup/rollup-linux-riscv64-gnu" "4.34.8" + "@rollup/rollup-linux-s390x-gnu" "4.34.8" + "@rollup/rollup-linux-x64-gnu" "4.34.8" + "@rollup/rollup-linux-x64-musl" "4.34.8" + "@rollup/rollup-win32-arm64-msvc" "4.34.8" + "@rollup/rollup-win32-ia32-msvc" "4.34.8" + "@rollup/rollup-win32-x64-msvc" "4.34.8" + fsevents "~2.3.2" + +run-applescript@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz" + integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +"rxjs@^6.5.3 || ^7.4.0", rxjs@>=7.5.0, rxjs@~7.8.0: + version "7.8.2" + resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.2.tgz" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== + dependencies: + tslib "^2.1.0" + +rxjs@7.8.1: + version "7.8.1" + resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" + +safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-loader@16.0.5: + version "16.0.5" + resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-16.0.5.tgz" + integrity sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw== + dependencies: + neo-async "^2.6.2" + +sass@*, sass@^1.3.0, sass@1.85.0: + version "1.85.0" + resolved "https://registry.npmmirror.com/sass/-/sass-1.85.0.tgz" + integrity sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww== + dependencies: + chokidar "^4.0.0" + immutable "^5.0.2" + source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" + +sax@^1.2.4: + version "1.4.1" + resolved "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== + +sax@>=0.6.0, sax@1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/sax/-/sax-1.1.4.tgz" + integrity sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg== + +schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.0.tgz" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.0: + version "6.3.1" + resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.1.1, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@7.7.1: + version "7.7.1" + resolved "https://registry.npmmirror.com/semver/-/semver-7.7.1.tgz" + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== + +send@0.19.0: + version "0.19.0" + resolved "https://registry.npmmirror.com/send/-/send-0.19.0.tgz" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.19.0" + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.1: + version "1.8.2" + resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.2.tgz" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== + +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1, signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sigstore@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/sigstore/-/sigstore-3.1.0.tgz" + integrity sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q== + dependencies: + "@sigstore/bundle" "^3.1.0" + "@sigstore/core" "^2.0.0" + "@sigstore/protobuf-specs" "^0.4.0" + "@sigstore/sign" "^3.1.0" + "@sigstore/tuf" "^3.1.0" + "@sigstore/verify" "^2.1.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/slash/-/slash-5.1.0.tgz" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + +slashes@^3.0.12: + version "3.0.12" + resolved "https://registry.npmmirror.com/slashes/-/slashes-3.0.12.tgz" + integrity sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-7.1.0.tgz" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socket.io-adapter@~2.5.2: + version "2.5.5" + resolved "https://registry.npmmirror.com/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz" + integrity sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg== + dependencies: + debug "~4.3.4" + ws "~8.17.1" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.npmmirror.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +socket.io@^4.7.2: + version "4.8.1" + resolved "https://registry.npmmirror.com/socket.io/-/socket.io-4.8.1.tgz" + integrity sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== + dependencies: + accepts "~1.3.4" + base64id "~2.0.0" + cors "~2.8.5" + debug "~4.3.2" + engine.io "~6.6.0" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks-proxy-agent@^8.0.3: + version "8.0.5" + resolved "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== + dependencies: + agent-base "^7.1.2" + debug "^4.3.4" + socks "^2.8.3" + +socks@^2.8.3: + version "2.8.4" + resolved "https://registry.npmmirror.com/socks/-/socks-2.8.4.tgz" + integrity sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +source-map-js@^1.0.2, source-map-js@^1.2.1, "source-map-js@>=0.6.2 <2.0.0": + version "1.2.1" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-loader@5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-5.0.0.tgz" + integrity sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA== + dependencies: + iconv-lite "^0.6.3" + source-map-js "^1.0.2" + +source-map-support@^0.5.5, source-map-support@~0.5.20, source-map-support@0.5.21: + version "0.5.21" + resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-expression-parse@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz" + integrity sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.21" + resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz" + integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split2@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/split2/-/split2-4.2.0.tgz" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +ssri@^12.0.0: + version "12.0.0" + resolved "https://registry.npmmirror.com/ssri/-/ssri-12.0.0.tgz" + integrity sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ== + dependencies: + minipass "^7.0.3" + +"statuses@>= 1.4.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +streamroller@^3.1.5: + version "3.1.5" + resolved "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz" + integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== + dependencies: + date-format "^4.0.14" + debug "^4.3.4" + fs-extra "^8.1.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string-width@^7.0.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/string-width/-/string-width-7.2.0.tgz" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.8, string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.1, strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swiper@^11.2.5: + version "11.2.6" + resolved "https://registry.npmmirror.com/swiper/-/swiper-11.2.6.tgz" + integrity sha512-8aXpYKtjy3DjcbzZfz+/OX/GhcU5h+looA6PbAzHMZT6ESSycSp9nAjPCenczgJyslV+rUGse64LMGpWE3PX9Q== + +symbol-observable@4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-4.0.0.tgz" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +synckit@^0.9.1: + version "0.9.2" + resolved "https://registry.npmmirror.com/synckit/-/synckit-0.9.2.tgz" + integrity sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.1.11: + version "6.2.1" + resolved "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tar@^7.4.3: + version "7.4.3" + resolved "https://registry.npmmirror.com/tar/-/tar-7.4.3.tgz" + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== + dependencies: + "@isaacs/fs-minipass" "^4.0.0" + chownr "^3.0.0" + minipass "^7.1.2" + minizlib "^3.0.1" + mkdirp "^3.0.1" + yallist "^5.0.0" + +terser-webpack-plugin@^5.3.11: + version "5.3.14" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + jest-worker "^27.4.5" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" + +terser@^5.16.0, terser@^5.31.1, terser@5.39.0: + version "5.39.0" + resolved "https://registry.npmmirror.com/terser/-/terser-5.39.0.tgz" + integrity sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +thingies@^1.20.0: + version "1.21.0" + resolved "https://registry.npmmirror.com/thingies/-/thingies-1.21.0.tgz" + integrity sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g== + +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/through2/-/through2-4.0.2.tgz" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmp@^0.2.1: + version "0.2.3" + resolved "https://registry.npmmirror.com/tmp/-/tmp-0.2.3.tgz" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tree-dump@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/tree-dump/-/tree-dump-1.0.2.tgz" + integrity sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ== + +tree-kill@^1.2.2, tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/tree-kill/-/tree-kill-1.2.2.tgz" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +ts-api-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/ts-api-utils/-/ts-api-utils-2.0.1.tgz" + integrity sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.6.2, tslib@^2.8.1, tslib@2, tslib@2.8.1: + version "2.8.1" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +tuf-js@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/tuf-js/-/tuf-js-3.0.1.tgz" + integrity sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA== + dependencies: + "@tufjs/models" "3.0.1" + debug "^4.3.6" + make-fetch-happen "^14.0.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + +typed-assert@^1.0.8: + version "1.0.9" + resolved "https://registry.npmmirror.com/typed-assert/-/typed-assert-1.0.9.tgz" + integrity sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg== + +typescript@*, typescript@>=4.8.4, "typescript@>=4.8.4 <5.9.0", typescript@>=4.9.5, "typescript@>=5.5 <5.9", typescript@~5.6.3: + version "5.6.3" + resolved "https://registry.npmmirror.com/typescript/-/typescript-5.6.3.tgz" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + +ua-parser-js@^0.7.30: + version "0.7.40" + resolved "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-0.7.40.tgz" + integrity sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ== + +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== + dependencies: + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unicorn-magic@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz" + integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA== + +unique-filename@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/unique-filename/-/unique-filename-4.0.0.tgz" + integrity sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ== + dependencies: + unique-slug "^5.0.0" + +unique-slug@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/unique-slug/-/unique-slug-5.0.0.tgz" + integrity sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/untildify/-/untildify-4.0.0.tgz" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + +update-browserslist-db@^1.1.1: + version "1.1.3" + resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz" + integrity sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +"vite@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0": + version "6.2.2" + resolved "https://registry.npmmirror.com/vite/-/vite-6.2.2.tgz" + integrity sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ== + dependencies: + esbuild "^0.25.0" + postcss "^8.5.3" + rollup "^4.30.1" + optionalDependencies: + fsevents "~2.3.3" + +vite@6.2.0: + version "6.2.0" + resolved "https://registry.npmmirror.com/vite/-/vite-6.2.0.tgz" + integrity sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ== + dependencies: + esbuild "^0.25.0" + postcss "^8.5.3" + rollup "^4.30.1" + optionalDependencies: + fsevents "~2.3.3" + +void-elements@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/void-elements/-/void-elements-2.0.1.tgz" + integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== + +watchpack@^2.4.1, watchpack@2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +weak-lru-cache@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz" + integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== + +webpack-dev-middleware@^7.4.2, webpack-dev-middleware@7.4.2: + version "7.4.2" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz" + integrity sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA== + dependencies: + colorette "^2.0.10" + memfs "^4.6.0" + mime-types "^2.1.31" + on-finished "^2.4.1" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^5.0.2, webpack-dev-server@5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz" + integrity sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA== + dependencies: + "@types/bonjour" "^3.5.13" + "@types/connect-history-api-fallback" "^1.5.4" + "@types/express" "^4.17.21" + "@types/serve-index" "^1.9.4" + "@types/serve-static" "^1.15.5" + "@types/sockjs" "^0.3.36" + "@types/ws" "^8.5.10" + ansi-html-community "^0.0.8" + bonjour-service "^1.2.1" + chokidar "^3.6.0" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + express "^4.21.2" + graceful-fs "^4.2.6" + http-proxy-middleware "^2.0.7" + ipaddr.js "^2.1.0" + launch-editor "^2.6.1" + open "^10.0.3" + p-retry "^6.2.0" + schema-utils "^4.2.0" + selfsigned "^2.4.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^7.4.2" + ws "^8.18.0" + +webpack-merge@6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-6.0.1.tgz" + integrity sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.1" + +webpack-sources@^3.0.0, webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-subresource-integrity@5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== + dependencies: + typed-assert "^1.0.8" + +webpack@^5.0.0, webpack@^5.1.0, webpack@^5.12.0, webpack@^5.27.0, webpack@^5.30.0, webpack@^5.54.0, webpack@^5.72.1, webpack@>=5, webpack@5.98.0: + version "5.98.0" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.98.0.tgz" + integrity sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^4.3.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.11" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.16, which-typed-array@^1.1.18: + version "1.1.19" + resolved "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +which@^1.2.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/which/-/which-5.0.0.tgz" + integrity sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ== + dependencies: + isexe "^3.1.1" + +wildcard@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^8.18.0: + version "8.18.1" + resolved "https://registry.npmmirror.com/ws/-/ws-8.18.1.tgz" + integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== + +ws@~8.17.1: + version "8.17.1" + resolved "https://registry.npmmirror.com/ws/-/ws-8.17.1.tgz" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +xml2js@^0.6.2: + version "0.6.2" + resolved "https://registry.npmmirror.com/xml2js/-/xml2js-0.6.2.tgz" + integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yallist@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/yallist/-/yallist-5.0.0.tgz" + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^16.1.1: + version "16.2.0" + resolved "https://registry.npmmirror.com/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" + +yargs@^17.2.1, yargs@17.7.2: + version "17.7.2" + resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.2.0.tgz" + integrity sha512-KHBC7z61OJeaMGnF3wqNZj+GGNXOyypZviiKpQeiHirG5Ib1ImwcLBH70rbMSkKfSmUNBsdf2PwaEJtKvgmkNw== + +yoctocolors-cjs@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz" + integrity sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA== + +zone.js@>=0.13.0, zone.js@~0.15.0: + version "0.15.0" + resolved "https://registry.npmmirror.com/zone.js/-/zone.js-0.15.0.tgz" + integrity sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA== diff --git a/config/base_providers.go b/config/base_providers.go index 163d04e..490fca5 100644 --- a/config/base_providers.go +++ b/config/base_providers.go @@ -183,13 +183,13 @@ func NewPasswordEncoder() security.PasswordEncoder { return &security.BCryptPasswordEncoder{} } -func NewSmsService(client *Ihttp.Client) sms.IsmsService { - return sms.NewDebugSmsService(client) +func NewSmsService() sms.IsmsService { + return sms.NewSmsService() } func NewInternalClient() *Ihttp.Client { return Ihttp.NewClient() } -func NewJWTAuthMiddleware(appConfig *AppConfig) *auth_middleware.AuthMiddleware { - return auth_middleware.NewAuthMiddleware(appConfig.JwtConfig.Secret, nil) +func NewJWTAuthMiddleware(appConfig *AppConfig, log logger.New, redis redis.Cmdable) *auth_middleware.AuthMiddleware { + return auth_middleware.NewAuthMiddleware(appConfig.JwtConfig.Secret, nil, redis, log) } diff --git a/config/config.yaml b/config/config.yaml index f75d951..84e8905 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -29,4 +29,6 @@ redis: addr: 123.206.181.43:16379 password: Admin999 db: 0 - +sms: + api: sms.tencentcloudapi.com + url: diff --git a/go.mod b/go.mod index 32fbe62..6b77cb8 100644 --- a/go.mod +++ b/go.mod @@ -66,6 +66,8 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/syndtr/goleveldb v1.0.0 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1135 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.1115 // indirect github.com/ugorji/go/codec v1.2.7 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect go.opentelemetry.io/otel v1.11.2 // indirect diff --git a/go.sum b/go.sum index b885a56..a67b72c 100644 --- a/go.sum +++ b/go.sum @@ -563,6 +563,11 @@ github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8 github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1115/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1135 h1:NAu4sH5c+kGTZQ0rwhnuYjIXbentw3Np+TbwimH22uc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1135/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.1115 h1:LINYuPsgE4yVgeakbliQQPuiSGKI8H4zNOwfUMIbxvw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms v1.0.1115/go.mod h1:NLUwEcjDCXtAQSNLBdm2yU4M+zVRn71NCsS/G8l5eZc= github.com/tidwall/gjson v1.14.3 h1:9jvXn7olKEHU1S9vwoMGliaT8jq1vJ7IH/n9zD9Dnlw= github.com/tidwall/gjson v1.14.3/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= diff --git a/internal/application/article/service.go b/internal/application/article/service.go index b788c38..f1f9d44 100644 --- a/internal/application/article/service.go +++ b/internal/application/article/service.go @@ -7,6 +7,7 @@ import ( domainUser "cls/internal/domain/user" "cls/pkg/logger" "cls/pkg/util/page" + "errors" "fmt" "strings" "time" @@ -19,7 +20,6 @@ type ArticleService struct { purchaseRepo purchase.Repository userAggregateRepo domainUser.UserAggregateRepository FreeRepo free_trial.FreeTrialRepository - resp *ArticleResp log logger.Logger } @@ -28,14 +28,12 @@ func NewArticleService(repo article.ArticleRepository, purchaseRepo purchase.Repository, userAggregateRepo domainUser.UserAggregateRepository, FreeRepo free_trial.FreeTrialRepository, - resp *ArticleResp, log logger.New) *ArticleService { return &ArticleService{repo, userRepo, purchaseRepo, userAggregateRepo, FreeRepo, - resp, log("cls:service:article")} } @@ -101,8 +99,8 @@ func (a *ArticleService) Find(ePhone string, page *page.Page, searchParams map[s articleIds = append(articleIds, v.Id) } } - articleIds = nil purchaseData, err := a.purchaseRepo.FindArticleById(user.Id, articleIds...) + articleIds = nil if err != nil { a.log.Error(err.Error()) } @@ -113,6 +111,7 @@ func (a *ArticleService) Find(ePhone string, page *page.Page, searchParams map[s } articleIds = nil + } result := make([]*ArticleDto, 0, len(articles)) @@ -120,7 +119,7 @@ func (a *ArticleService) Find(ePhone string, page *page.Page, searchParams map[s t := time.Unix(v.Ctime, 0) // 秒数和纳秒数,0 表示没有纳秒部分 m, g := a.getMainGrowthBoard(v.Stocks) _, lock := purchaseId[v.Id] - result = append(result, &ArticleDto{ + ad := &ArticleDto{ EventId: v.Id, Title: v.Title, Class: class_type[v.Type], @@ -130,7 +129,13 @@ func (a *ArticleService) Find(ePhone string, page *page.Page, searchParams map[s MainBoard: m, GrowthBoard: g, Unlock: lock, - }) + } + if lock { + ad.Stocks = v.Stocks + ad.Content = v.Content + } + result = append(result, ad) + } purchaseId = nil articles = nil @@ -146,7 +151,7 @@ func (a *ArticleService) FindUnLock(ePhone string, page *page.Page, searchParams return err } conds := make([]builder.Cond, 0) - class := searchParams["search_like_class"] + class := searchParams["search_eq_class"] if class != "" { classCode := class_type_reverse[class] if classCode != 0 { @@ -166,7 +171,7 @@ func (a *ArticleService) FindUnLock(ePhone string, page *page.Page, searchParams for _, v := range purchaseData { pId = append(pId, v.ContentId) } - conds = append(conds, builder.In("id")) + conds = append(conds, builder.In("id", pId)) articles := make([]*article.LianV1Article, 0) page.Content = &articles err = a.repo.Find(page, conds) @@ -189,7 +194,7 @@ func (a *ArticleService) FindUnLock(ePhone string, page *page.Page, searchParams Stocks: v.Stocks, MainBoard: m, GrowthBoard: g, - Unlock: false, + Unlock: true, }) } articles = nil @@ -285,6 +290,11 @@ func (a *ArticleService) UnLockArticle(ePhone string, aid uint64) (*ArticleDto, return nil, fmt.Errorf("获取用户信息失败: %w", err) } + u := userAggregate.GetUser() + if u.GiftCount < 1 { + a.log.Errorf("用户【%d】免费次数不够", u.Id) + return nil, errors.New("没有次数了") + } // 2. 获取文章 article, err := a.repo.GetArticleById(aid) if err != nil { diff --git a/internal/application/auth/captcha_service.go b/internal/application/auth/captcha_service.go index a0b30fb..59d3446 100644 --- a/internal/application/auth/captcha_service.go +++ b/internal/application/auth/captcha_service.go @@ -13,9 +13,7 @@ import ( images "github.com/wenlng/go-captcha-assets/resources/images_v2" "github.com/wenlng/go-captcha-assets/resources/tiles" "github.com/wenlng/go-captcha/v2/slide" - "log" "math/rand" - "strings" "sync" "time" ) @@ -97,20 +95,19 @@ func NewCaptchaService(rdb redis.Cmdable, captcha *captchafx.Captcha, log logger // GenerateSlideVerify 生成滑动验证码 func (c *CaptchaService) GenerateSlideVerify(phone string) (*SlideVerifyResp, error) { - builder := slide.NewBuilder( - // slide.WithGenGraphNumber(2), - // slide.WithEnableGraphVerticalRandom(true), - ) + builder := slide.NewBuilder() // background images imgs, err := images.GetImages() if err != nil { - log.Fatalln(err) + c.log.Error(err) + return nil, err } graphs, err := tiles.GetTiles() if err != nil { - log.Fatalln(err) + c.log.Error(err) + return nil, err } var newGraphs = make([]*slide.GraphImage, 0, len(graphs)) @@ -132,25 +129,26 @@ func (c *CaptchaService) GenerateSlideVerify(phone string) (*SlideVerifyResp, er slideCapt := builder.Make() captData, err := slideCapt.Generate() if err != nil { - log.Fatalln(err) + c.log.Error(err) + return nil, err } dotData := captData.GetData() if dotData == nil { - log.Fatalln(">>>>> generate err") + c.log.Error("生成滑动验证码数据失败") + return nil, errors.New("生成失败") } - dots, _ := json.Marshal(dotData) - fmt.Println(">>>>> ", string(dots)) - var mBase64, tBase64 string mBase64, err = captData.GetMasterImage().ToBase64() if err != nil { - fmt.Println(err) + c.log.Error(err) + return nil, err } tBase64, err = captData.GetTileImage().ToBase64() if err != nil { - fmt.Println(err) + c.log.Error(err) + return nil, err } // 生成验证token @@ -165,7 +163,7 @@ func (c *CaptchaService) GenerateSlideVerify(phone string) (*SlideVerifyResp, er } verifyData, _ := json.Marshal(verifyInfo) - err = c.rdb.Set(context.Background(), token, string(verifyData), 5*time.Minute).Err() + err = c.rdb.Set(context.Background(), token, string(verifyData), 1*time.Minute).Err() if err != nil { c.log.Error("保存验证信息失败:", err) return nil, errors.New("生成验证码失败") @@ -251,9 +249,8 @@ func (c *CaptchaService) GenerateSmsCaptcha(username string, phone string) (*Sms // 3. 生成验证码 code := c.generateSmsCode() - // 4. 存储验证码 - key := c.getSmsVerifyKey(username, phone) + key := c.getSmsVerifyKey(phone) err = c.rdb.Set(context.Background(), key, code, 5*time.Minute).Err() if err != nil { c.log.Error("存储验证码失败:", err) @@ -285,7 +282,7 @@ func (c *CaptchaService) VerifySmsCaptcha(username, phone, captchaCode string) e } // 1. 获取存储的验证码 - key := c.getSmsVerifyKey(username, phone) + key := c.getSmsVerifyKey(phone) fmt.Println("校验key", key) storedCode, err := c.rdb.Get(context.Background(), key).Result() if err == redis.Nil { @@ -311,12 +308,8 @@ func (c *CaptchaService) VerifySmsCaptcha(username, phone, captchaCode string) e } // getSmsVerifyKey 生成短信验证码的Redis键 -func (c *CaptchaService) getSmsVerifyKey(username, phone string) string { - fmt.Println("username====>", username) - if strings.HasPrefix(username, "G") { - return fmt.Sprintf("guest:sms-captcha:%s:%s", username, phone) - } - return fmt.Sprintf("user:sms-captcha:%s:%s", username, phone) +func (c *CaptchaService) getSmsVerifyKey(phone string) string { + return fmt.Sprintf("sms-captcha:%s", phone) } // checkLimit 检查频率限制 diff --git a/internal/application/column/service.go b/internal/application/column/service.go index 471b910..1ed63d7 100644 --- a/internal/application/column/service.go +++ b/internal/application/column/service.go @@ -8,6 +8,7 @@ import ( "cls/pkg/util/page" "cls/pkg/web" "errors" + "time" ) var ( @@ -50,17 +51,34 @@ func (s *Service) CreateColumn(req *CreateColumnReq) (*ColumnDto, error) { // GetColumn 获取专栏信息 func (s *Service) GetColumn(ePhone string, name string) (*ColumnDto, error) { + unlock := false + col, err := s.repo.FindByName(name) if err != nil { s.log.Error("failed to find column", "error", err) return nil, err } + if ePhone != "" { + u, _ := s.userRepo.FindByPhone(ePhone) + if u != nil { + data, _ := s.purchaseRepo.FindColumnWithId(u.Id, col.ID) + if data != nil { + if data.ContentId == col.ID { + unlock = true + } + } + } + } columnDto := &ColumnDto{ - ID: col.ID, - Title: col.Title, - Brief: col.Brief, - Cover: col.Brief, - Unlock: false, + ID: col.ID, + Title: col.Title, + Brief: col.Brief, + Cover: col.Brief, + ArticleNum: col.ArticleNum, + FollowNum: col.FollowNum, + PurchaseNum: col.PurchaseNum, + Unlock: unlock, + CreatedAt: time.Time{}, } if ePhone == "" { return columnDto, nil diff --git a/internal/application/price/service.go b/internal/application/price/service.go index 5b7efd9..6b8d887 100644 --- a/internal/application/price/service.go +++ b/internal/application/price/service.go @@ -2,10 +2,10 @@ package price import ( "cls/internal/domain/price" + "cls/internal/domain/price_default" "cls/pkg/logger" - "cls/pkg/util/page" - "cls/pkg/web" "errors" + "fmt" ) var ( @@ -16,42 +16,20 @@ var ( // PriceService 价格管理服务 type PriceService struct { - repo price.PriceRepository - log logger.Logger + repo price.PriceRepository + pdRepo price_default.PriceDefaultRepository + log logger.Logger } // NewService 创建价格管理服务 -func NewPriceService(repo price.PriceRepository, log logger.New) *PriceService { +func NewPriceService(repo price.PriceRepository, pdRepo price_default.PriceDefaultRepository, log logger.New) *PriceService { return &PriceService{ - repo: repo, - log: log("cls:service:price"), + repo: repo, + pdRepo: pdRepo, + log: log("cls:service:price"), } } -// SetPrice 设置价格 -func (s *PriceService) SetPrice(dto *PriceDto) error { - if dto.Amount < 0 { - return ErrInvalidAmount - } - - // 检查是否已存在价格记录 - existingPrice, err := s.repo.FindByTargetID(dto.TargetID, dto.Type) - if err != nil { - // 如果记录不存在,创建新记录 - newPrice := dto.ToPrice() - return s.repo.Save(newPrice) - } - - // 如果记录存在,更新价格 - existingPrice.Amount = dto.Amount - existingPrice.OneMonthPrice = dto.OneMonthPrice - existingPrice.ThreeMonthsPrice = dto.ThreeMonthsPrice - existingPrice.SixMonthsPrice = dto.SixMonthsPrice - existingPrice.OneYearPrice = dto.OneYearPrice - existingPrice.AdminID = dto.AdminID - return s.repo.Update(existingPrice) -} - func (s *PriceService) GetArticlePrice(dto *PriceDto) (*PriceDto, error) { dto.Type = price.TypeArticle return s.GetPrice(dto) @@ -64,37 +42,49 @@ func (s *PriceService) GetColumnPrice(dto *PriceDto) (*PriceDto, error) { // GetPrice 获取价格(如果不存在则使用默认价格) func (s *PriceService) GetPrice(dto *PriceDto) (*PriceDto, error) { + fmt.Println("=================") + fmt.Println("GetPrice") + fmt.Println(dto) // 检查是否已存在价格记录 existingPrice, err := s.repo.FindByTargetID(dto.TargetID, dto.Type) if err != nil { - // 如果记录不存在,使用默认价格 - var defaultAmount int64 - switch dto.Type { - case price.TypeArticle: - defaultAmount = price.DefaultArticlePrice - case price.TypeColumn: - defaultAmount = price.DefaultColumnPrice - default: - return nil, ErrInvalidType - } - // 创建默认价格记录 - newPrice := price.NewPrice(dto.TargetID, dto.Type, defaultAmount, 0) - if err := s.repo.Save(newPrice); err != nil { + s.log.Error(err) + return nil, err + } + fmt.Println(existingPrice) + + if existingPrice == nil { //价格不存在 + fmt.Println("no have data") + //get default price + dp, err := s.pdRepo.Get() + if err != nil { + s.log.Error(err.Error()) return nil, err } + + fmt.Println("default price") + fmt.Println(dp) + existingPrice = &price.Price{ + TargetID: dto.TargetID, + Type: dto.Type, + Discount: dp.Discount, + } if dto.Type == price.TypeArticle { - return &PriceDto{ - Amount: newPrice.Amount, - Discount: newPrice.Discount, - }, nil + existingPrice.Amount = dp.Amount + } else { + existingPrice.OneMonthPrice = dp.OneMonthPrice + existingPrice.ThreeMonthsPrice = dp.ThreeMonthsPrice + existingPrice.SixMonthsPrice = dp.SixMonthsPrice + existingPrice.OneYearPrice = dp.OneYearPrice + existingPrice.FirstMontDiscount = dp.FirstMontDiscount } - return &PriceDto{ - OneMonthPrice: newPrice.OneMonthPrice, - ThreeMonthsPrice: newPrice.ThreeMonthsPrice, - SixMonthsPrice: newPrice.SixMonthsPrice, - OneYearPrice: newPrice.OneYearPrice, - Discount: 0.3, - }, nil + fmt.Println("insert") + err = s.repo.Save(existingPrice) + if err != nil { + s.log.Error(err) + return nil, err + } + fmt.Println("inset done") } priceDto := &PriceDto{ Discount: existingPrice.Discount, @@ -108,33 +98,7 @@ func (s *PriceService) GetPrice(dto *PriceDto) (*PriceDto, error) { priceDto.OneYearPrice = existingPrice.OneYearPrice } - return priceDto, nil -} + fmt.Println(priceDto) -// GetPriceList 获取价格列表 -func (s *PriceService) GetPriceList(page *page.Page, params map[string]string) error { - conds := web.ParseFilters(params) - return s.repo.FindAll(page, conds) -} - -// DeletePrice 删除价格记录 -func (s *PriceService) DeletePrice(id uint64) error { - return s.repo.Delete(id) -} - -func (s *PriceService) UpdatePrice(dto *PriceDto) error { - if err := dto.Validate(); err != nil { - return err - } - existingPrice, err := s.repo.FindByTargetID(dto.TargetID, dto.Type) - if err != nil { - return err - } - existingPrice.Amount = dto.Amount - existingPrice.OneMonthPrice = dto.OneMonthPrice - existingPrice.ThreeMonthsPrice = dto.ThreeMonthsPrice - existingPrice.SixMonthsPrice = dto.SixMonthsPrice - existingPrice.OneYearPrice = dto.OneYearPrice - existingPrice.AdminID = dto.AdminID - return s.repo.Update(existingPrice) + return priceDto, nil } diff --git a/internal/domain/coupon/entity.go b/internal/domain/coupon/entity.go index ae917fc..6f774c8 100644 --- a/internal/domain/coupon/entity.go +++ b/internal/domain/coupon/entity.go @@ -22,21 +22,21 @@ const ( // Coupon 优惠券实体 type Coupon struct { - ID uint64 `json:"id"` // 优惠券ID - Code string `json:"code"` // 优惠券码 - Name string `json:"name"` // 优惠券名称 - Type CouponType `json:"type"` // 优惠券类型 - Value int64 `json:"value"` // 优惠券值 - MinAmount int64 `json:"minAmount"` // 最低使用金额 - StartTime time.Time `json:"startTime"` // 开始时间 - EndTime time.Time `json:"endTime"` // 结束时间 - Status CouponStatus `json:"status"` // 优惠券状态 - AdminID uint64 `json:"adminId"` // 创建者ID - UserID uint64 `json:"userId"` // 使用者ID - UsedAt *time.Time `json:"usedAt"` // 使用时间 - CreatedAt time.Time `json:"createdAt"` // 创建时间 - UpdatedAt time.Time `json:"updatedAt"` // 更新时间 - DeletedAt *time.Time `json:"deletedAt"` // 删除时间 + ID uint64 `xorm:"pk autoincr"` // 优惠券ID + Code string `xorm:"varchar(255)"` // 优惠券码 + Name string `xorm:"varchar(255)"` // 优惠券名称 + Type CouponType `xorm:"int"` // 优惠券类型 + Value int64 `xorm:"int"` // 优惠券值 + MinAmount int64 `xorm:"int"` // 最低使用金额 + StartTime time.Time `xorm:"datetime"` // 开始时间 + EndTime time.Time `xorm:"datetime"` // 结束时间 + Status CouponStatus `xorm:"int"` // 优惠券状态 + AdminID uint64 `xorm:"int"` // 创建者ID + UserID uint64 `xorm:"int"` // 使用者ID + UsedAt time.Time `xorm:"datetime"` // 使用时间 + CreatedAt time.Time `xorm:"created"` // 创建时间 + UpdatedAt time.Time `xorm:"updated"` // 更新时间 + DeletedAt time.Time `xorm:"deleted"` // 删除时间 } // TableName 指定表名 diff --git a/internal/domain/price/entity.go b/internal/domain/price/entity.go index b46409b..9f6f941 100644 --- a/internal/domain/price/entity.go +++ b/internal/domain/price/entity.go @@ -12,19 +12,20 @@ const ( // Price 价格管理实体 type Price struct { - ID uint64 `xorm:"pk autoincr 'id'"` - TargetID uint64 `xorm:"not null 'target_id'"` // 目标ID(文章ID或专栏ID) - Type PriceType `xorm:"not null 'type'"` // 价格类型 - Amount int64 `xorm:"not null 'amount'"` // 基础价格(分) - OneMonthPrice int64 `xorm:"not null 'one_month_price'"` // 1个月价格(分) - ThreeMonthsPrice int64 `xorm:"not null 'three_months_price'"` // 3个月价格(分) - SixMonthsPrice int64 `xorm:"not null 'six_months_price'"` // 6个月价格(分) - OneYearPrice int64 `xorm:"not null 'one_year_price'"` // 1年价格(分) - Discount float32 `xorm:"not null 'discount'"` // 折扣(分) - AdminID uint64 `xorm:"not null 'admin_id'"` // 管理员ID - CreatedAt time.Time `xorm:"created 'created_at'"` - UpdatedAt time.Time `xorm:"updated 'updated_at'"` - DeletedAt *time.Time `xorm:"deleted 'deleted_at'"` + ID uint64 `xorm:"pk autoincr 'id'"` + TargetID uint64 `xorm:"not null 'target_id'"` // 目标ID(文章ID或专栏ID) + Type PriceType `xorm:"not null 'type'"` // 价格类型 + Amount int64 `xorm:"not null 'amount'"` // 基础价格(分) + OneMonthPrice int64 `xorm:"not null 'one_month_price'"` // 1个月价格(分) + ThreeMonthsPrice int64 `xorm:"not null 'three_months_price'"` // 3个月价格(分) + SixMonthsPrice int64 `xorm:"not null 'six_months_price'"` // 6个月价格(分) + OneYearPrice int64 `xorm:"not null 'one_year_price'"` // 1年价格(分) + FirstMontDiscount float32 `xorm:"not null 'first_mont_discount'"` // 首月折扣 + Discount float32 `xorm:"not null 'discount'"` // 折扣(分) + AdminID uint64 `xorm:"not null 'admin_id'"` // 管理员ID + CreatedAt time.Time `xorm:"created 'created_at'"` + UpdatedAt time.Time `xorm:"updated 'updated_at'"` + DeletedAt *time.Time `xorm:"deleted 'deleted_at'"` } // DefaultPrice 默认价格(分) diff --git a/internal/domain/price_default/entity.go b/internal/domain/price_default/entity.go new file mode 100644 index 0000000..8bc850a --- /dev/null +++ b/internal/domain/price_default/entity.go @@ -0,0 +1,12 @@ +package price_default + +type PriceDefault struct { + Id uint64 `xorm:"pk autoincr 'id'"` + Amount int64 `xorm:"not null 'amount'"` // 单篇文章价格(分) + FirstMontDiscount float32 `xorm:"null"` //首月优惠折扣 + OneMonthPrice int64 `xorm:"not null 'one_month_price'"` // 1个月价格(分) + ThreeMonthsPrice int64 `xorm:"not null 'three_months_price'"` // 3个月价格(分) + SixMonthsPrice int64 `xorm:"not null 'six_months_price'"` // 6个月价格(分) + OneYearPrice int64 `xorm:"not null 'one_year_price'"` // 1年价格(分) + Discount float32 `xorm:"not null"` +} diff --git a/internal/domain/price_default/repository.go b/internal/domain/price_default/repository.go new file mode 100644 index 0000000..1695634 --- /dev/null +++ b/internal/domain/price_default/repository.go @@ -0,0 +1,5 @@ +package price_default + +type PriceDefaultRepository interface { + Get() (*PriceDefault, error) +} diff --git a/internal/domain/purchase/repository.go b/internal/domain/purchase/repository.go index 8ee1bf8..99fef13 100644 --- a/internal/domain/purchase/repository.go +++ b/internal/domain/purchase/repository.go @@ -15,4 +15,5 @@ type Repository interface { // FindByContent 查找内容的所有购买记录 FindByContent(contentId uint64, contentType ContentType) ([]*Purchase, error) + FindColumnWithId(uid uint64, contentId uint64) (*Purchase, error) } diff --git a/internal/infrastructure/middleware/auth/config.go b/internal/infrastructure/middleware/auth/config.go index d6dc871..3321d4d 100644 --- a/internal/infrastructure/middleware/auth/config.go +++ b/internal/infrastructure/middleware/auth/config.go @@ -18,6 +18,7 @@ func DefaultConfig() *Config { "/api/auth/verify-image", "/api/auth/verify-sms", "/api/article/all", + "/api/user/guest", }, TokenKey: "Authorization", } diff --git a/internal/infrastructure/middleware/auth/middleware.go b/internal/infrastructure/middleware/auth/middleware.go index 122e115..b1bc8aa 100644 --- a/internal/infrastructure/middleware/auth/middleware.go +++ b/internal/infrastructure/middleware/auth/middleware.go @@ -1,9 +1,13 @@ package auth import ( + "cls/pkg/logger" + "context" + "errors" "fmt" "github.com/gin-gonic/gin" "github.com/golang-jwt/jwt/v4" + "github.com/redis/go-redis/v9" "time" ) @@ -22,16 +26,20 @@ type Claims struct { type AuthMiddleware struct { config *Config secretKey []byte + log logger.Logger + redis redis.Cmdable } // NewAuthMiddleware 创建认证中间件 -func NewAuthMiddleware(secretKey string, config *Config) *AuthMiddleware { +func NewAuthMiddleware(secretKey string, config *Config, redis redis.Cmdable, log logger.New) *AuthMiddleware { if config == nil { config = DefaultConfig() } return &AuthMiddleware{ config: config, secretKey: []byte(secretKey), + log: log("cls:infrastructure:middleware"), + redis: redis, } } @@ -39,23 +47,16 @@ func NewAuthMiddleware(secretKey string, config *Config) *AuthMiddleware { func (m *AuthMiddleware) Handle() gin.HandlerFunc { return func(c *gin.Context) { path := c.Request.URL.Path - fmt.Printf("处理请求: %s\n", path) - // 获取token token := m.ExtractToken(c) - fmt.Printf("获取到的token: %s\n", token) - // 如果没有token,创建临时游客token if token == "" { - fmt.Println("没有token,创建临时游客token") newToken, guestId, err := m.generateGuestToken() if err != nil { - fmt.Printf("生成临时token失败: %v\n", err) c.JSON(500, gin.H{"error": "生成临时token失败"}) c.Abort() return } - fmt.Printf("生成的游客ID: %s\n", guestId) // 设置token到响应头 c.Header(m.config.TokenKey, "Bearer "+newToken) @@ -69,7 +70,6 @@ func (m *AuthMiddleware) Handle() gin.HandlerFunc { // 如果是跳过认证的路径,直接继续 if m.shouldSkip(path) { - fmt.Printf("跳过认证: %s\n", path) c.Next() return } @@ -81,16 +81,13 @@ func (m *AuthMiddleware) Handle() gin.HandlerFunc { // 验证已有token claims, err := m.validateToken(token) if err != nil { - fmt.Printf("token验证失败: %v\n", err) // token无效,创建新的临时游客token newToken, guestId, err := m.generateGuestToken() if err != nil { - fmt.Printf("生成临时token失败: %v\n", err) c.JSON(500, gin.H{"error": "生成临时token失败"}) c.Abort() return } - fmt.Printf("生成的游客ID: %s\n", guestId) c.Header(m.config.TokenKey, "Bearer "+newToken) // 设置 claims 到上下文 @@ -103,7 +100,6 @@ func (m *AuthMiddleware) Handle() gin.HandlerFunc { // 如果是跳过认证的路径,直接继续 if m.shouldSkip(path) { - fmt.Printf("跳过认证: %s\n", path) c.Next() return } @@ -112,18 +108,15 @@ func (m *AuthMiddleware) Handle() gin.HandlerFunc { return } - fmt.Printf("token验证成功,claims: %+v\n", claims) // token有效,根据phone判断是否为游客 isGuest := claims.Username == "" // 设置 claims 到上下文 mapClaims := map[string]interface{}{} if isGuest { - fmt.Printf("设置游客ID: %s\n", claims.GuestId) mapClaims["guest_id"] = claims.GuestId c.Set("guest_id", claims.GuestId) } else { - fmt.Printf("设置用户手机号: %s\n", claims.Username) mapClaims["username"] = claims.Username c.Set("username", claims.Username) } @@ -132,7 +125,6 @@ func (m *AuthMiddleware) Handle() gin.HandlerFunc { // 如果是跳过认证的路径,直接继续 if m.shouldSkip(path) { - fmt.Printf("跳过认证: %s\n", path) c.Next() return } @@ -167,7 +159,6 @@ func (m *AuthMiddleware) generateGuestToken() (string, string, error) { // GenerateUserToken 生成用户token func (m *AuthMiddleware) GenerateUserToken(encryptedPhone string) (string, error) { - fmt.Println("===GenerateUserToken=>>>>>>>>>", encryptedPhone) claims := &Claims{ Username: encryptedPhone, GuestId: "", // 登录用户不需要游客ID @@ -182,7 +173,16 @@ func (m *AuthMiddleware) GenerateUserToken(encryptedPhone string) (string, error } token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) - return token.SignedString(m.secretKey) + + tokenStr, err := token.SignedString(m.secretKey) + if err != nil { + return "", err + } + err = m.redis.Set(context.Background(), encryptedPhone, tokenStr, time.Now().Add(30*24*time.Hour).Sub(time.Now())).Err() + if err != nil { + return "", err + } + return tokenStr, nil } // validateToken 验证token @@ -198,17 +198,23 @@ func (m *AuthMiddleware) validateToken(tokenString string) (*Claims, error) { return nil, fmt.Errorf("解析token失败: %v", err) } - if claims, ok := token.Claims.(*Claims); ok && token.Valid { + claims, ok := token.Claims.(*Claims) + + if ok && token.Valid { + if claims.Username != "" { + result, _ := m.redis.Get(context.Background(), claims.Username).Result() + if result != tokenString { + return nil, errors.New("用户token失效") + } + } return claims, nil } - return nil, fmt.Errorf("无效的token") } // extractToken 从请求头中提取token func (m *AuthMiddleware) ExtractToken(c *gin.Context) string { auth := c.GetHeader(m.config.TokenKey) - fmt.Printf("Authorization头: %s\n", auth) if auth == "" { return "" @@ -216,7 +222,6 @@ func (m *AuthMiddleware) ExtractToken(c *gin.Context) string { const prefix = "Bearer " if len(auth) <= len(prefix) || auth[:len(prefix)] != prefix { - fmt.Println("token格式不正确,缺少Bearer前缀") return "" } diff --git a/internal/infrastructure/persistence/article/article_repo.go b/internal/infrastructure/persistence/article/article_repo.go index 72b8996..cc3c734 100644 --- a/internal/infrastructure/persistence/article/article_repo.go +++ b/internal/infrastructure/persistence/article/article_repo.go @@ -33,7 +33,7 @@ func (a ArticleRepositoryORM) Find(page *page.Page, conds []builder.Cond) error func (a ArticleRepositoryORM) GetArticleById(id uint64) (*article.LianV1Article, error) { article := &article.LianV1Article{} - has, err := a.engine.Where(builder.Eq{"id": id}).Get(article) + has, err := a.engine.Cls.Where(builder.Eq{"id": id}).Get(article) if err != nil { a.log.Error(err) return nil, err diff --git a/internal/infrastructure/persistence/price/price_repo.go b/internal/infrastructure/persistence/price/price_repo.go index 619f718..99d4da0 100644 --- a/internal/infrastructure/persistence/price/price_repo.go +++ b/internal/infrastructure/persistence/price/price_repo.go @@ -61,8 +61,7 @@ func (p *PriceRepositoryORM) FindByTargetID(targetID uint64, priceType price.Pri return nil, err } if !has { - p.log.Errorf("未找到相关数据【target_id: %d, type: %d】", targetID, priceType) - return nil, errors.New("记录不存在") + return nil, nil } return price, nil } diff --git a/internal/infrastructure/persistence/price_default/price_default_repo.go b/internal/infrastructure/persistence/price_default/price_default_repo.go new file mode 100644 index 0000000..76e76c8 --- /dev/null +++ b/internal/infrastructure/persistence/price_default/price_default_repo.go @@ -0,0 +1,27 @@ +package price_default + +import ( + "cls/internal/domain/price_default" + "cls/pkg/xorm_engine" + "xorm.io/builder" +) + +type PriceDefaultRepositoryORM struct { + engine *xorm_engine.Engine +} + +var _ price_default.PriceDefaultRepository = (*PriceDefaultRepositoryORM)(nil) + +func NewPriceRepositoryORM(engine *xorm_engine.Engine) price_default.PriceDefaultRepository { + return &PriceDefaultRepositoryORM{engine} +} + +func (p PriceDefaultRepositoryORM) Get() (*price_default.PriceDefault, error) { + data := &price_default.PriceDefault{} + _, err := p.engine.Where(builder.Eq{"id": 1}).Get(data) + if err != nil { + return nil, err + } + + return data, err +} diff --git a/internal/infrastructure/persistence/purchase/purchase_repo.go b/internal/infrastructure/persistence/purchase/purchase_repo.go index 685205e..149d687 100644 --- a/internal/infrastructure/persistence/purchase/purchase_repo.go +++ b/internal/infrastructure/persistence/purchase/purchase_repo.go @@ -78,3 +78,12 @@ func (r *PurchaseRepositoryORM) FindColumnById(uid uint64, ids ...uint64) ([]*pu err := r.engine.Where(builder.Eq{"user_id": uid}.And(builder.In("content_id", ids)).And(builder.Eq{"content_type": purchase.ContentTypeColumn})).Find(&purchases) return purchases, err } + +func (r *PurchaseRepositoryORM) FindColumnWithId(uid uint64, contentId uint64) (*purchase.Purchase, error) { + data := &purchase.Purchase{} + _, err := r.engine.Where("user_id = ? AND content_id = ? AND content_type = ?", uid, contentId, purchase.ContentTypeColumn).Get(data) + if err != nil { + return nil, err + } + return data, nil +} diff --git a/internal/infrastructure/persistence/user/user_aggregate_repo.go b/internal/infrastructure/persistence/user/user_aggregate_repo.go index c3a7baf..5333c31 100644 --- a/internal/infrastructure/persistence/user/user_aggregate_repo.go +++ b/internal/infrastructure/persistence/user/user_aggregate_repo.go @@ -58,26 +58,21 @@ func (u *UserAggregateRepositoryORM) SaveUserAggregate(aggregate *domainUser.Use u.log.Error("开启事务失败", err) return err } - defer func() { - if err := recover(); err != nil { - session.Rollback() - panic(err) - } - }() + defer session.Close() // 2. 更新用户信息 - if _, err := session.Where(builder.Eq{"id": aggregate.GetUser().Id}).Update(aggregate.GetUser()); err != nil { - session.Rollback() + if _, err := session.Where(builder.Eq{"id": aggregate.GetUser().Id}).Cols("gift_count").Unscoped().Update(aggregate.GetUser()); err != nil { u.log.Error("更新用户信息失败", err) return err } // 3. 保存购买记录 for _, p := range aggregate.GetPurchases() { - if _, err := session.Insert(p); err != nil { - session.Rollback() - u.log.Error("保存购买记录失败", err) - return err + if p.Id < 1 { + if _, err := session.Insert(p); err != nil { + u.log.Error("保存购买记录失败", err) + return err + } } } diff --git a/internal/interfaces/article/article_handler.go b/internal/interfaces/article/article_handler.go index c2cd9f8..1fba482 100644 --- a/internal/interfaces/article/article_handler.go +++ b/internal/interfaces/article/article_handler.go @@ -25,14 +25,13 @@ func NewArticleHandle(service *article.ArticleService, authMiddleware *middlewar } func (a *ArticleHandler) RegisterRouters(router gin.IRouter) { - fmt.Println("register router") - fmt.Printf("%+v\n", a) articleHandler := router.Group("/article") { articleHandler.GET("/all", a.findAll) articleHandler.GET("/unlock", a.unlock) articleHandler.GET("/free", a.free) articleHandler.GET("/detail/:id", a.detail) + articleHandler.POST("/unlock-article", a.unlockArticle) } } func (a *ArticleHandler) findAll(c *gin.Context) { @@ -74,8 +73,7 @@ func (a *ArticleHandler) unlock(c *gin.Context) { return } err = a.service.FindUnLock(ePhone, p, map[string]string{ - "search_like_class": c.Query("search_like_class"), - "search_like_unlock": "1"}) + "search_eq_class": c.Query("search_eq_class")}) if err != nil { c.AbortWithStatus(http.StatusInternalServerError) } else { @@ -103,19 +101,21 @@ func (a *ArticleHandler) free(c *gin.Context) { } func (a *ArticleHandler) unlockArticle(c *gin.Context) { - aid, err := strconv.ParseInt(c.Param("aid"), 10, 64) + dto := &article.ArticleDto{} + err := c.ShouldBindJSON(dto) if err != nil { a.log.Error(err) c.AbortWithStatus(http.StatusInternalServerError) return } + fmt.Printf("%+v\n", dto) ePhone, err := a.authMiddleware.DecodeToken(c) if err != nil { a.log.Error(err) c.AbortWithStatus(http.StatusInternalServerError) return } - data, err := a.service.UnLockArticle(ePhone, uint64(aid)) + data, err := a.service.UnLockArticle(ePhone, dto.EventId) if err != nil { c.AbortWithStatus(http.StatusInternalServerError) } else { diff --git a/internal/interfaces/middleware/auth.go b/internal/interfaces/middleware/auth.go deleted file mode 100644 index 0519ecb..0000000 --- a/internal/interfaces/middleware/auth.go +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/internal/interfaces/price/price_handler.go b/internal/interfaces/price/price_handler.go index 7044f05..b8e41ec 100644 --- a/internal/interfaces/price/price_handler.go +++ b/internal/interfaces/price/price_handler.go @@ -4,7 +4,6 @@ import ( "cls/internal/application/price" "cls/internal/interfaces" "cls/pkg/logger" - "cls/pkg/util/page" "github.com/gin-gonic/gin" "net/http" "strconv" @@ -24,85 +23,11 @@ func NewPriceHandler(service *price.PriceService, log logger.New) *PriceHandler func (h *PriceHandler) RegisterRouters(app gin.IRouter) { auth := app.Group("/price") { - auth.POST("/create", h.create) - auth.GET("/get", h.getPrice) - auth.PUT("/update", h.update) - auth.GET("/list", h.getPriceList) auth.GET("/article/:id", h.getArticlePrice) auth.GET("/column/:id", h.getColumnPrice) } } -func (h *PriceHandler) create(c *gin.Context) { - dto := &price.PriceDto{} - err := c.ShouldBindJSON(dto) - if err != nil { - h.log.Error(err.Error()) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - err = h.service.SetPrice(dto) - if err != nil { - h.log.Error(err) - c.AbortWithStatus(http.StatusInternalServerError) - } else { - c.AbortWithStatus(http.StatusOK) - } -} - -func (h *PriceHandler) getPrice(c *gin.Context) { - dto := &price.PriceDto{} - err := c.ShouldBindJSON(dto) - if err != nil { - h.log.Error(err.Error()) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - price, err := h.service.GetPrice(dto) - if err != nil { - h.log.Error(err) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - c.JSON(http.StatusOK, price) -} - -func (h *PriceHandler) update(c *gin.Context) { - dto := &price.PriceDto{} - err := c.ShouldBindJSON(dto) - if err != nil { - h.log.Error(err.Error()) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - err = h.service.UpdatePrice(dto) - if err != nil { - h.log.Error(err) - c.AbortWithStatus(http.StatusInternalServerError) - } else { - c.AbortWithStatus(http.StatusOK) - } -} - -func (h *PriceHandler) getPriceList(c *gin.Context) { - page := &page.Page{} - err := c.ShouldBindJSON(page) - if err != nil { - h.log.Error(err.Error()) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - err = h.service.GetPriceList(page, map[string]string{ - "search_eq_type": c.Query("search_eq_type"), - }) - if err != nil { - h.log.Error(err) - c.AbortWithStatus(http.StatusInternalServerError) - return - } - c.JSON(http.StatusOK, page) -} - func (h *PriceHandler) getArticlePrice(c *gin.Context) { targetId, err := strconv.ParseInt(c.Param("id"), 10, 64) if err != nil { diff --git a/internal/modules/price_module.go b/internal/modules/price_module.go index 7941e49..67bc7a8 100644 --- a/internal/modules/price_module.go +++ b/internal/modules/price_module.go @@ -2,6 +2,8 @@ package modules import ( service "cls/internal/application/price" + "cls/internal/infrastructure/persistence/price_default" + repo "cls/internal/infrastructure/persistence/price" "cls/internal/interfaces" "cls/internal/interfaces/price" @@ -13,4 +15,5 @@ var PriceModule = fx.Module("PriceModule", interfaces.AsHandler(price.NewPriceHandler), service.NewPriceService, repo.NewPriceRepositoryORM, + price_default.NewPriceRepositoryORM, )) diff --git a/main.go b/main.go index 20ac98b..a96a8aa 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,7 @@ import ( func main() { app := cmd.App() if err := app.Run(os.Args); err != nil { - fmt.Fprintf(os.Stderr, "cmcc-panoramic-application: %s\n", err) + fmt.Fprintf(os.Stderr, "cls-H5: %s\n", err) os.Exit(1) } } diff --git a/pkg/http/http.go b/pkg/http/http.go index 0a173ad..3233377 100644 --- a/pkg/http/http.go +++ b/pkg/http/http.go @@ -2,6 +2,7 @@ package http import ( "errors" + "fmt" jsoniter "github.com/json-iterator/go" "github.com/spf13/viper" "go.uber.org/zap" @@ -73,6 +74,7 @@ func (c *Client) getResponse(method, path string, header http.Header, body io.Re } func (c *Client) getParsedResponse(method, path string, header http.Header, body io.Reader, obj interface{}) error { + fmt.Println("start parse response") data, err := c.getResponse(method, path, header, body) if err != nil { return err diff --git a/pkg/http/sms.go b/pkg/http/sms.go index d7b4450..a955f2b 100644 --- a/pkg/http/sms.go +++ b/pkg/http/sms.go @@ -2,6 +2,8 @@ package http import ( "bytes" + "errors" + "fmt" ) const ( @@ -14,16 +16,59 @@ type MsgRes struct { } type MsgReq struct { - Code string `json:"code"` - Msg string `json:"msg"` + Code string `json:"code"` + Phone string `json:"msg"` } -func (c *Client) SubmitPhoneCodeRequest(req *MsgReq) (*MsgRes, error) { +type SmsCaptchaReqForTencent struct { + Action string `json:"Action"` + Version string `json:"Version"` + Region string `json:"Region"` + PhoneNumberSet []string `json:"PhoneNumberSet"` + SmsSdkAppId string `json:"SmsSdkAppId"` + TemplateId string `json:"TemplateId"` + SignName string `json:"SignName"` + TemplateParamSet []string `json:"TemplateParamSet"` +} + +type SmsCaptchaResForTencent struct { + SendStatusSet []*SmsCaptchaResForTencentSub `json:"SendStatusSet"` +} +type SmsCaptchaResForTencentSub struct { + Code string `json:"Code"` + Message string `json:"Message"` +} + +func (c *Client) SubmitPhoneCodeRequest(phoneMsg *MsgReq) (*SmsCaptchaResForTencentSub, error) { + fmt.Sprintln("=============") + fmt.Println("start send captcha") + req := &SmsCaptchaReqForTencent{ + Action: "SendSms", + Version: "2021-01-11", + Region: "ap-guangzhou", + PhoneNumberSet: []string{"+86" + phoneMsg.Phone}, + SmsSdkAppId: "1400237962", + TemplateId: "387221", + SignName: "627395", + TemplateParamSet: []string{phoneMsg.Code, "3"}, + } + fmt.Println(req) body, err := json2.Marshal(req) if err != nil { + fmt.Println(err.Error()) return nil, err } - resp := &MsgRes{} - logger.Info("request " + smsSendUrl + "\t:" + string(body)) - return resp, c.getParsedResponse("POST", smsSendUrl, jsonHeader, bytes.NewReader(body), resp) + fmt.Println(string(body)) + + resp := &SmsCaptchaResForTencent{} + fmt.Println("gogogo") + err = c.getParsedResponse("POST", smsSendUrl, jsonHeader, bytes.NewReader(body), resp) + if err != nil { + fmt.Println(err.Error()) + return nil, err + } + if len(resp.SendStatusSet) == 0 { + return nil, errors.New("发送失败") + } + return resp.SendStatusSet[0], nil } diff --git a/pkg/sms/sms.go b/pkg/sms/sms.go index 5c6e066..a85531c 100644 --- a/pkg/sms/sms.go +++ b/pkg/sms/sms.go @@ -1,8 +1,12 @@ package sms import ( - "cls/pkg/http" + "errors" "fmt" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" + ter "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" + sms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms/v20210111" ) type IsmsService interface { @@ -11,23 +15,47 @@ type IsmsService interface { // ConsoleSmsService debug环境使用 type SmsService struct { - client *http.Client + client *sms.Client +} + +func NewSmsService() IsmsService { + credential := common.NewCredential( + "AKIDa3HEyTihPs40f7JFvLVP3RcXCbkdFbhf", + "oMefPt6pMiofGaigPuAByWq23pMejZBX", + ) + // 实例化一个client选项,可选的,没有特殊需求可以跳过 + cpf := profile.NewClientProfile() + cpf.HttpProfile.Endpoint = "sms.tencentcloudapi.com" + // 实例化要请求产品的client对象,clientProfile是可选的 + client, _ := sms.NewClient(credential, "ap-guangzhou", cpf) + return &SmsService{client: client} } func (s *SmsService) Send(code string, phone string) error { - fmt.Printf("手机号【%s】验证码【%s】\n", phone, code) - return nil - resp, err := s.client.SubmitPhoneCodeRequest(&http.MsgReq{}) + //fmt.Printf("手机号【%s】验证码【%s】\n", phone, code) + //return nil + request := sms.NewSendSmsRequest() + request.PhoneNumberSet = common.StringPtrs([]string{"+86" + phone}) + request.SmsSdkAppId = common.StringPtr("1400237962") + request.TemplateId = common.StringPtr("387221") + request.SignName = common.StringPtr("上海路诚数据服务") + request.TemplateParamSet = common.StringPtrs([]string{code, "3"}) + response, err := s.client.SendSms(request) + if _, ok := err.(*ter.TencentCloudSDKError); ok { + return err + } + if err != nil { return err } - if resp.State == 200 { - return nil + if len(response.Response.SendStatusSet) == 0 { + return errors.New("发送失败") } + + if *response.Response.SendStatusSet[0].Code != "Ok" { + return errors.New(fmt.Sprintf("发送失败[%s]", response.Response.SendStatusSet[0].Message)) + } + //fmt.Printf("【中国移动】 您的验证码为:%s,您正在进行身份验证,该验证码10分钟内有效,如非本人操作,请忽略本短信!\n", msg) return nil } - -func NewDebugSmsService(client *http.Client) IsmsService { - return &SmsService{client} -}