From adb8b610264238784e94209d4ee555f040b1f51c Mon Sep 17 00:00:00 2001 From: Yanmario Menev <49076727+yanmariomenev@users.noreply.github.com> Date: Fri, 4 Oct 2024 02:36:29 -0700 Subject: [PATCH] add Java Spring with Kendo Angular app (#4420) * add Java Spring with Kendo Angular app * chore: add missing files * add missing client app * remove unnecessary files * update readme files * cleanup * update angular app budget * update README * uppercase readme * minor README update --- .github/workflows/ci.yml | 6 + .../{readme.md => README.md} | 2 +- .../ClientApp/.editorconfig | 16 + .../ClientApp/.gitignore | 42 + .../ClientApp/.vscode/extensions.json | 4 + .../ClientApp/.vscode/launch.json | 20 + .../ClientApp/.vscode/tasks.json | 42 + .../ClientApp/README.md | 27 + .../ClientApp/angular.json | 107 + .../ClientApp/package-lock.json | 14065 ++++++++++++++++ .../ClientApp/package.json | 64 + .../ClientApp/public/favicon.ico | Bin 0 -> 15086 bytes .../ClientApp/src/app/app.component.css | 49 + .../ClientApp/src/app/app.component.html | 137 + .../ClientApp/src/app/app.component.ts | 130 + .../ClientApp/src/app/app.config.ts | 11 + .../ClientApp/src/app/app.routes.ts | 3 + .../ClientApp/src/app/products.service.ts | 43 + .../ClientApp/src/index.html | 13 + .../ClientApp/src/main.ts | 16 + .../ClientApp/src/styles.css | 1 + .../ClientApp/tsconfig.app.json | 17 + .../ClientApp/tsconfig.json | 33 + .../ClientApp/tsconfig.spec.json | 16 + .../kendoangular-java-integration/README.md | 91 + .../backend/.gitignore | 33 + .../.mvn/wrapper/maven-wrapper.properties | 19 + .../backend/Temp_Directory/null_0 | Bin 0 -> 209138 bytes .../backend/mvnw | 259 + .../backend/mvnw.cmd | 149 + .../backend/pom.xml | 69 + ...gularJavaSpringIntegrationApplication.java | 13 + .../src/main/java/telerik/demo/WebConfig.java | 19 + .../demo/controller/ProductController.java | 79 + .../demo/controller/StreamingController.java | 89 + .../java/telerik/demo/models/Product.java | 49 + .../demo/models/ProductDataResult.java | 19 + .../src/main/resources/application.properties | 3 + ...JavaSpringIntegrationApplicationTests.java | 13 + 39 files changed, 15767 insertions(+), 1 deletion(-) rename examples-standalone/kendoangular-aspnetcore-integration/{readme.md => README.md} (97%) create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/.editorconfig create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/.gitignore create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/.vscode/extensions.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/.vscode/launch.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/.vscode/tasks.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/README.md create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/angular.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/package-lock.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/package.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/public/favicon.ico create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.css create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.html create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.ts create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.config.ts create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.routes.ts create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/app/products.service.ts create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/index.html create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/main.ts create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/src/styles.css create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.app.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.json create mode 100644 examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.spec.json create mode 100644 examples-standalone/kendoangular-java-integration/README.md create mode 100644 examples-standalone/kendoangular-java-integration/backend/.gitignore create mode 100644 examples-standalone/kendoangular-java-integration/backend/.mvn/wrapper/maven-wrapper.properties create mode 100644 examples-standalone/kendoangular-java-integration/backend/Temp_Directory/null_0 create mode 100755 examples-standalone/kendoangular-java-integration/backend/mvnw create mode 100644 examples-standalone/kendoangular-java-integration/backend/mvnw.cmd create mode 100644 examples-standalone/kendoangular-java-integration/backend/pom.xml create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/KendoangularJavaSpringIntegrationApplication.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/WebConfig.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/ProductController.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/StreamingController.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/Product.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/ProductDataResult.java create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/main/resources/application.properties create mode 100644 examples-standalone/kendoangular-java-integration/backend/src/test/java/telerik/demo/KendoangularJavaSpringIntegrationApplicationTests.java diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0fb36af1..784353a2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,6 +82,12 @@ jobs: run: | npm ci + - name: Build ASP.NET Core Integration app + working-directory: ./examples-standalone/kendoangular-java-integration/ClientApp + run: | + npm ci + npm run build + standalone-examples-node14: runs-on: ubuntu-latest diff --git a/examples-standalone/kendoangular-aspnetcore-integration/readme.md b/examples-standalone/kendoangular-aspnetcore-integration/README.md similarity index 97% rename from examples-standalone/kendoangular-aspnetcore-integration/readme.md rename to examples-standalone/kendoangular-aspnetcore-integration/README.md index e4d71fa1..b57bb11d 100644 --- a/examples-standalone/kendoangular-aspnetcore-integration/readme.md +++ b/examples-standalone/kendoangular-aspnetcore-integration/README.md @@ -7,7 +7,7 @@ This is a sample project that demonstrates how to use Kendo UI for Angular [Grid 1. Clone this repository by running the following command: ```bash - git clone https://github.com/telerik/kendo-angular/.git + git clone https://github.com/telerik/kendo-angular/ ``` 1. Make sure to have the [.NET Core 8 SDK](https://dotnet.microsoft.com/download) installed on your machine, along with [Angular CLI 18.0.6](https://v17.angular.io/guide/setup-local#install-the-angular-cli). diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/.editorconfig b/examples-standalone/kendoangular-java-integration/ClientApp/.editorconfig new file mode 100644 index 00000000..07926923 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/.gitignore b/examples-standalone/kendoangular-java-integration/ClientApp/.gitignore new file mode 100644 index 00000000..cc7b1413 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/extensions.json b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/extensions.json new file mode 100644 index 00000000..77b37457 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/launch.json b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/launch.json new file mode 100644 index 00000000..925af837 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/tasks.json b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/tasks.json new file mode 100644 index 00000000..a298b5bd --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/README.md b/examples-standalone/kendoangular-java-integration/ClientApp/README.md new file mode 100644 index 00000000..a52086da --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/README.md @@ -0,0 +1,27 @@ +# Client + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.6. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/angular.json b/examples-standalone/kendoangular-java-integration/ClientApp/angular.json new file mode 100644 index 00000000..4bc371d5 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/angular.json @@ -0,0 +1,107 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "client": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:application", + "options": { + "outputPath": "dist/client", + "index": "src/index.html", + "browser": "src/main.ts", + "polyfills": [ + "zone.js", + "@angular/localize/init" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + { + "input": "node_modules/@progress/kendo-theme-default/dist/all.css" + }, + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "4MB", + "maximumError": "5MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kB", + "maximumError": "4kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "client:build:production" + }, + "development": { + "buildTarget": "client:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n" + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing", + "@angular/localize/init" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + { + "input": "node_modules/@progress/kendo-theme-default/dist/all.css" + }, + "src/styles.css" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} \ No newline at end of file diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/package-lock.json b/examples-standalone/kendoangular-java-integration/ClientApp/package-lock.json new file mode 100644 index 00000000..5b6c447a --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/package-lock.json @@ -0,0 +1,14065 @@ +{ + "name": "client", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^18.0.0", + "@angular/common": "^18.0.0", + "@angular/compiler": "^18.0.0", + "@angular/core": "^18.0.0", + "@angular/forms": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-browser": "^18.0.0", + "@angular/platform-browser-dynamic": "^18.0.0", + "@angular/router": "^18.0.0", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-dateinputs": "16.10.0", + "@progress/kendo-angular-dialog": "16.10.0", + "@progress/kendo-angular-dropdowns": "16.10.0", + "@progress/kendo-angular-excel-export": "16.10.0", + "@progress/kendo-angular-grid": "^16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-inputs": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-label": "16.10.0", + "@progress/kendo-angular-layout": "16.10.0", + "@progress/kendo-angular-navigation": "16.10.0", + "@progress/kendo-angular-pdf-export": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-angular-progressbar": "16.10.0", + "@progress/kendo-angular-treeview": "16.10.0", + "@progress/kendo-angular-upload": "^16.10.0", + "@progress/kendo-angular-utils": "16.10.0", + "@progress/kendo-data-query": "^1.0.0", + "@progress/kendo-drawing": "^1.20.3", + "@progress/kendo-licensing": "^1.0.2", + "@progress/kendo-svg-icons": "^3.0.0", + "@progress/kendo-theme-default": "^8.2.1", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.14.3" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^18.0.6", + "@angular/cli": "^18.0.6", + "@angular/compiler-cli": "^18.0.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.1.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.4.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1802.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.5.tgz", + "integrity": "sha512-c7sVoW85Yqj7IYvNKxtNSGS5I7gWpORorg/xxLZX3OkHWXDrwYbb5LN/2p5/Aytxyb0aXl4o5fFOu6CUwcaLUw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.2.5", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.5.tgz", + "integrity": "sha512-dIvb0AHoRIMM6tLuG4t6lDDslSAYP77wqytodsN317UzFOuuCPernXbO8NJs+QHxj09nPsem1T5vnvpO2E/PVQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1802.5", + "@angular-devkit/build-webpack": "0.1802.5", + "@angular-devkit/core": "18.2.5", + "@angular/build": "18.2.5", + "@babel/core": "7.25.2", + "@babel/generator": "7.25.0", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-transform-async-generator-functions": "7.25.0", + "@babel/plugin-transform-async-to-generator": "7.24.7", + "@babel/plugin-transform-runtime": "7.24.7", + "@babel/preset-env": "7.25.3", + "@babel/runtime": "7.25.0", + "@discoveryjs/json-ext": "0.6.1", + "@ngtools/webpack": "18.2.5", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.20", + "babel-loader": "9.1.3", + "browserslist": "^4.21.5", + "copy-webpack-plugin": "12.0.2", + "critters": "0.0.24", + "css-loader": "7.1.2", + "esbuild-wasm": "0.23.0", + "fast-glob": "3.3.2", + "http-proxy-middleware": "3.0.0", + "https-proxy-agent": "7.0.5", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "karma-source-map-support": "1.4.0", + "less": "4.2.0", + "less-loader": "12.2.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.3.1", + "magic-string": "0.30.11", + "mini-css-extract-plugin": "2.9.0", + "mrmime": "2.0.0", + "open": "10.1.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "postcss": "8.4.41", + "postcss-loader": "8.1.1", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.77.6", + "sass-loader": "16.0.0", + "semver": "7.6.3", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "terser": "5.31.6", + "tree-kill": "1.2.2", + "tslib": "2.6.3", + "vite": "5.4.6", + "watchpack": "2.4.1", + "webpack": "5.94.0", + "webpack-dev-middleware": "7.4.2", + "webpack-dev-server": "5.0.4", + "webpack-merge": "6.0.1", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.23.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "@web/test-runner": "^0.18.0", + "browser-sync": "^3.0.2", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^18.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@web/test-runner": { + "optional": true + }, + "browser-sync": { + "optional": true + }, + "jest": { + "optional": true + }, + "jest-environment-jsdom": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1802.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.5.tgz", + "integrity": "sha512-6qkcrWBdkxojCVHGWcdJaz4G+7QTjFvmc+3g8xvLc9sYvJq1I059gfXhDnC0FxiA0MT4cY/26ECYWUHTD5CJLQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1802.5", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^5.0.2" + } + }, + "node_modules/@angular-devkit/core": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.5.tgz", + "integrity": "sha512-r9TumPlJ8PvA2+yz4sp+bUHgtznaVKzhvXTN5qL1k4YP8LJ7iZWMR2FOP+HjukHZOTsenzmV9pszbogabqwoZQ==", + "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" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.5.tgz", + "integrity": "sha512-NUmz2UQ1Xl4cf4j1AgkwIfsCjBzAPgfeC3IBrD29hSOBE1Y3j6auqjBkvw50v6mbSPxESND995Xy13HpK1Xflw==", + "dependencies": { + "@angular-devkit/core": "18.2.5", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.11", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.5.tgz", + "integrity": "sha512-IlXtW/Nj48ZzjHUzH1TykZcSR64ScJx39T3IHnjV2z/bVATzZ36JGoadQHdqpJNKBodYJNgtJCGLCbgAvGWY2g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.2.5" + } + }, + "node_modules/@angular/build": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.5.tgz", + "integrity": "sha512-XWkmjzgeUga0SJ0lYSYcTuYOWTyqcln2mNfBp7Ae/GZ+/7+APbedsIZEiZGZwveOIyOpTM5wguNSoe9khDl5Ig==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1802.5", + "@babel/core": "7.25.2", + "@babel/helper-annotate-as-pure": "7.24.7", + "@babel/helper-split-export-declaration": "7.24.7", + "@babel/plugin-syntax-import-attributes": "7.24.7", + "@inquirer/confirm": "3.1.22", + "@vitejs/plugin-basic-ssl": "1.1.0", + "browserslist": "^4.23.0", + "critters": "0.0.24", + "esbuild": "0.23.0", + "fast-glob": "3.3.2", + "https-proxy-agent": "7.0.5", + "listr2": "8.2.4", + "lmdb": "3.0.13", + "magic-string": "0.30.11", + "mrmime": "2.0.0", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.6.1", + "rollup": "4.20.0", + "sass": "1.77.6", + "semver": "7.6.3", + "vite": "5.4.6", + "watchpack": "2.4.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-server": "^18.0.0", + "@angular/service-worker": "^18.0.0", + "less": "^4.2.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=5.4 <5.6" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.5.tgz", + "integrity": "sha512-97uNs0HsOdnMaTlNJKFjIBUXw0wz43uYvSSKmIpBt7eq1LaPLju1G/qpDIHx2YwhMClPrXXrW2H/xdvqZiIw+w==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1802.5", + "@angular-devkit/core": "18.2.5", + "@angular-devkit/schematics": "18.2.5", + "@inquirer/prompts": "5.3.8", + "@listr2/prompt-adapter-inquirer": "2.0.15", + "@schematics/angular": "18.2.5", + "@yarnpkg/lockfile": "1.1.0", + "ini": "4.1.3", + "jsonc-parser": "3.3.1", + "listr2": "8.2.4", + "npm-package-arg": "11.0.3", + "npm-pick-manifest": "9.1.0", + "pacote": "18.0.6", + "resolve": "1.22.8", + "semver": "7.6.3", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.5.tgz", + "integrity": "sha512-m+KJrtbFXTE36jP/po6UAMeUR/enQxRHpVGLCRcIcE7VWVH1ZcOvoW1yqh2A6k+KxWXeajlq/Z04nnMhcoxMRw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.2.5", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.5.tgz", + "integrity": "sha512-vcqe9x4dGGAnMfPhEpcZyiSVgAiqJeK80LqP1vWoAmBR+HeOqAilSv6SflcLAtuTzwgzMMAvD2T+SMCgUvaqww==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/core": "18.2.5" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.5.tgz", + "integrity": "sha512-CCCtZobUTUfId/RTYtuDCw5R1oK0w65hdAUMRP1MdGmd8bb8DKJA86u1QCWwozL3rbXlIIX4ognQ6urQ43k/Gw==", + "dependencies": { + "@babel/core": "7.25.2", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.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" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/compiler": "18.2.5", + "typescript": ">=5.4 <5.6" + } + }, + "node_modules/@angular/core": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.5.tgz", + "integrity": "sha512-5BLVc5gXxzanQkADNS9WPsor3vNF5nQcyIHBi5VScErwM5vVZ7ATH1iZwaOg1ykDEVTFVhKDwD0X1aaqGDbhmQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.14.10" + } + }, + "node_modules/@angular/forms": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.5.tgz", + "integrity": "sha512-ohKeH+EZCCIyGSiFYlraWLzssGAZc13P92cuYpXB62322PkcA5u0IT72mML9JWGKRqF2zteVsw4koWHVxXM5mA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.2.5", + "@angular/core": "18.2.5", + "@angular/platform-browser": "18.2.5", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/localize": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.2.5.tgz", + "integrity": "sha512-kteBBkSmmmpMrHAIlxFK/PB9HemJ8OBo/qAGOqCGbvPHLMHdR7cxaMGL+Lkya/QhwhqlhoxUcE5zFWXl7UslNg==", + "dependencies": { + "@babel/core": "7.25.2", + "@types/babel__core": "7.20.5", + "fast-glob": "3.3.2", + "yargs": "^17.2.1" + }, + "bin": { + "localize-extract": "tools/bundles/src/extract/cli.js", + "localize-migrate": "tools/bundles/src/migrate/cli.js", + "localize-translate": "tools/bundles/src/translate/cli.js" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/compiler": "18.2.5", + "@angular/compiler-cli": "18.2.5" + } + }, + "node_modules/@angular/platform-browser": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.5.tgz", + "integrity": "sha512-PoX9idwnOpTJBlujzZ2nFGOsmCnZzOH7uNSWIR7trdoq0b1AFXfrxlCQ36qWamk7bbhJI4H28L8YTmKew/nXDA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/animations": "18.2.5", + "@angular/common": "18.2.5", + "@angular/core": "18.2.5" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.5.tgz", + "integrity": "sha512-5u0IuAt1r5e2u2vSKhp3phnaf6hH89B/q7GErfPse1sdDfNI6wHVppxai28PAfAj9gwooJun6MjFWhJFLzS44A==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.2.5", + "@angular/compiler": "18.2.5", + "@angular/core": "18.2.5", + "@angular/platform-browser": "18.2.5" + } + }, + "node_modules/@angular/router": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.5.tgz", + "integrity": "sha512-OjZV1PTiSwT0ytmR0ykveLYzs4uQWf0EuIclZmWqM/bb8Q4P+gJl7/sya05nGnZsj6nHGOL0e/LhSZ3N+5p6qg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/common": "18.2.5", + "@angular/core": "18.2.5", + "@angular/platform-browser": "18.2.5", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", + "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", + "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.1.tgz", + "integrity": "sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==", + "dev": true, + "engines": { + "node": ">=14.17.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.5.0.tgz", + "integrity": "sha512-sMgdETOfi2dUHT8r7TT1BTKOwNvdDGFDXYWtQ2J69SvlYNntk9I/gJe7r5yvMwwsuKnYbuRs3pNhx4tgNck5aA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm": { + "version": "3.1.22", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", + "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.0.10", + "@inquirer/type": "^1.5.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", + "@types/mute-stream": "^0.0.4", + "@types/node": "^22.5.5", + "@types/wrap-ansi": "^3.0.0", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^1.0.0", + "signal-exit": "^4.1.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.2.0.tgz", + "integrity": "sha512-9KHOpJ+dIL5SZli8lJ6xdaYLPPzB8xB9GZItg39MBybzhxA16vxmszmQFrRwbOA918WA2rvu8xhDEg/p6LXKbw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "external-editor": "^3.1.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/expand": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.3.0.tgz", + "integrity": "sha512-qnJsUcOGCSG1e5DTOErmv2BPQqrtT6uzqn1vI/aYGiPKq+FgslGZmtdnXbhuI7IlT7OByDoEEqdnhUnVR2hhLw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz", + "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.3.0.tgz", + "integrity": "sha512-XfnpCStx2xgh1LIRqPXrTNEEByqQWoxsWYzNRSEUxJ5c6EQlhMogJ3vHKu8aXuTacebtaZzMAHwEL0kAflKOBw==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.1.0.tgz", + "integrity": "sha512-ilUnia/GZUtfSZy3YEErXLJ2Sljo/mf9fiKc08n18DdwdmDbOzRcTv65H1jjDvlsAuvdFXf4Sa/aL7iw/NanVA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/password": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.2.0.tgz", + "integrity": "sha512-5otqIpgsPYIshqhgtEwSspBQE40etouR8VIxzpJkv9i0dVHIpyhiivbkH9/dGiMLdyamT54YRdGJLfl8TFnLHg==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/prompts": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", + "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "dev": true, + "dependencies": { + "@inquirer/checkbox": "^2.4.7", + "@inquirer/confirm": "^3.1.22", + "@inquirer/editor": "^2.1.22", + "@inquirer/expand": "^2.1.22", + "@inquirer/input": "^2.2.9", + "@inquirer/number": "^1.0.10", + "@inquirer/password": "^2.1.22", + "@inquirer/rawlist": "^2.2.4", + "@inquirer/search": "^1.0.7", + "@inquirer/select": "^2.4.7" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/rawlist": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.3.0.tgz", + "integrity": "sha512-zzfNuINhFF7OLAtGHfhwOW2TlYJyli7lOUoJUXw/uyklcwalV6WRXBXtFIicN8rTRK1XTiPWB4UY+YuW8dsnLQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/search": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.1.0.tgz", + "integrity": "sha512-h+/5LSj51dx7hp5xOn4QFnUaKeARwUCLs6mIhtkJ0JYPBLmEYjdHSYh7I6GrLg9LwpJ3xeX0FZgAG1q0QdCpVQ==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/select": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.5.0.tgz", + "integrity": "sha512-YmDobTItPP3WcEI86GvPo+T2sRHkxxOq/kXmsBjHS5BVXUgvgZ5AfJjkvQvZr03T81NnI3KrrRuMzeuYUQRFOA==", + "dev": true, + "dependencies": { + "@inquirer/core": "^9.1.0", + "@inquirer/figures": "^1.0.5", + "@inquirer/type": "^1.5.3", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/type": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", + "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "dev": true, + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "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.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz", + "integrity": "sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==", + "dev": true, + "dependencies": { + "@jsonjoy.com/base64": "^1.1.1", + "@jsonjoy.com/util": "^1.1.2", + "hyperdyperid": "^1.2.0", + "thingies": "^1.20.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", + "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.15.tgz", + "integrity": "sha512-MZrGem/Ujjd4cPTLYDfCZK2iKKeiO/8OX13S6jqxldLs0Prf2aGqVlJ77nMBqMv7fzqgXEgjrNHLXcKR8l9lOg==", + "dev": true, + "dependencies": { + "@inquirer/type": "^1.5.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 6" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", + "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", + "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", + "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", + "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", + "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", + "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@ngtools/webpack": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.5.tgz", + "integrity": "sha512-L0n4eHObeqEOYRfSP+e4SeF/dmwxOIFy9xYvYCOUwOLrW4b3+a1+kkT30pqyfL72LFtpf0cmUwaWEFIcWl5PCg==", + "dev": true, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^18.0.0", + "typescript": ">=5.4 <5.6", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "dev": true, + "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" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.1.tgz", + "integrity": "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", + "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "dev": true, + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@progress/jszip-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@progress/jszip-esm/-/jszip-esm-1.0.3.tgz", + "integrity": "sha512-qu5qeIlUsJX0Z2oi3Aax3gvfjKrrtVzQ2LIEhmw2CVWffZ0JvtifiomyJOc0ZFk7oEyEyrVvab97bqKkNCKvfQ==", + "dependencies": { + "@progress/pako-esm": "^1.0.1" + } + }, + "node_modules/@progress/kendo-angular-buttons": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-buttons/-/kendo-angular-buttons-16.10.0.tgz", + "integrity": "sha512-zJh8uGEiDUCKVtma0PesmdY2szPsijMXe/JWBDdhIjfRqHUG5USRF3R0SkwfmIYHPi7iR9fiNX3nMF0d+PBtyw==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.1", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-common": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-common/-/kendo-angular-common-16.10.0.tgz", + "integrity": "sha512-vfdco7rEzrLsKnlNdh1xyLbt+2K8mnGJ+oV2VYn0XoR7QqEg9csBvzEh/jyR1F+6QfPRhHJiWQh7YbeQ7oGMzA==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.1", + "@progress/kendo-draggable": "^3.0.2", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-dateinputs": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-dateinputs/-/kendo-angular-dateinputs-16.10.0.tgz", + "integrity": "sha512-qW42/ihrFFDxKLwPMMxMZtparXMH77SdIg5OOMAd4YIkokEYdbFhRTWQG1wXG2Af4AJ83fKc8XJKhW6fF82ysg==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.0", + "@progress/kendo-date-math": "^1.1.0", + "@progress/kendo-dateinputs-common": "^0.3.5", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-navigation": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-dialog": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-dialog/-/kendo-angular-dialog-16.10.0.tgz", + "integrity": "sha512-R+hm+5gwzhmAoacLV1CmtzlOhnPSnNQZywpD7xFcK1qLFO1brG6NScizc9WqTuK3j3B8b9VD2NJLn+I9MJCcug==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-popup-common": "^1.7.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-dropdowns": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-dropdowns/-/kendo-angular-dropdowns-16.10.0.tgz", + "integrity": "sha512-sVeToWFrjSGEQVpE4Kwk/2pYMlVuSGyLlzgrR3bjCRrRlwCXpmd4BREoJB+fS7ze7AsF9PTUCLhtV/o1TstTkQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.1", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-navigation": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-angular-treeview": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-excel-export": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-excel-export/-/kendo-angular-excel-export-16.10.0.tgz", + "integrity": "sha512-7loVi9cc9MSqe4IBHlg68DDS0A4j6AtdP8Dk2oO0Q26P7kxNqEilkbSYk3zWYbJNMYl5bPAOMm2TNRCP7e3msQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-file-saver": "^1.0.0", + "@progress/kendo-intl": "^3.0.0", + "@progress/kendo-ooxml": "^1.9.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-grid": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-grid/-/kendo-angular-grid-16.10.0.tgz", + "integrity": "sha512-2ekTPXpdYs1llQaoXVvfcrahNuH0EFteopvxoB9tIUsx64dU6twXBdoBb0ZyWPGmuZU2MyxrZvxp0E8RTiSPrQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.0", + "@progress/kendo-file-saver": "^1.0.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-dateinputs": "16.10.0", + "@progress/kendo-angular-dropdowns": "16.10.0", + "@progress/kendo-angular-excel-export": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-inputs": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-label": "16.10.0", + "@progress/kendo-angular-layout": "16.10.0", + "@progress/kendo-angular-pdf-export": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-angular-utils": "16.10.0", + "@progress/kendo-data-query": "^1.0.0", + "@progress/kendo-drawing": "^1.20.3", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-icons": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-icons/-/kendo-angular-icons-16.10.0.tgz", + "integrity": "sha512-huLmJupxgC07dCJ9XcDIwBYfUXuVSNxEn0jmgRsnfP+1CklPW7Bt7Y6Zy4sieclpDNhebvvqCdkyOdoTkhgLWg==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "@progress/kendo-svg-icons": "^3.1.0", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-inputs": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-inputs/-/kendo-angular-inputs-16.10.0.tgz", + "integrity": "sha512-QSvdsvOj0zISb84e6Mso4QkOvOs2ODmYNx6y7fZwdT4vgcrAblJJ36HczlltggwFn9Vrix6hhxAeb41Eg2Uqjg==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.2", + "@progress/kendo-draggable": "^3.0.0", + "@progress/kendo-inputs-common": "^3.1.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-dialog": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-drawing": "^1.20.3", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-intl": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-intl/-/kendo-angular-intl-16.10.0.tgz", + "integrity": "sha512-R6QjcFPrOEhaTHROj71s62TGF+dFBEKWdWiFeAp7Un0wUZ/6bPW7CwVvq1I2gyGWpmqo01xqrEvTlBf6TPP8FQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-intl": "^3.1.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-l10n": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-l10n/-/kendo-angular-l10n-16.10.0.tgz", + "integrity": "sha512-m4Z7JwEoZiyu+VZTLAYHfXmS2DvzQ00cWJBkPSxlf1JXpmt5b6MHw/188B/EuKLaowYcSlcDV8OaeGc+whxEFA==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-label": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-label/-/kendo-angular-label-16.10.0.tgz", + "integrity": "sha512-LvvuTTBTANj2NH+GqvSOgQeth8g5iLiUPMW7hHfaq6VATfK1BgubiB6y/kh/p6Zh7zpkmTfly+NXi6+jGgioLQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-layout": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-layout/-/kendo-angular-layout-16.10.0.tgz", + "integrity": "sha512-fBzJDyY22RKt10RZNUQTR9eGZIpPd5Omv9tVLGtx01Mx6KKwoIslYlhRl0n+Xw7zumdhQ2Idgs6eDKb2Z72HaQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-draggable": "^3.0.2", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-progressbar": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-navigation": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-navigation/-/kendo-angular-navigation-16.10.0.tgz", + "integrity": "sha512-h/YZaXhkfkX46A0YwspMGj3guu+EPnubJ1vlnfAWkRYz78XUNdGncvc7gSQ+dM+5PZJNmWnNqC1r0bWQ3oz+Sg==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-pdf-export": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-pdf-export/-/kendo-angular-pdf-export-16.10.0.tgz", + "integrity": "sha512-Imh0ZakPENWwjQJFrCddTenpxybjKQQL5ObEFDrQYeu4oqjxqJeBRzqEGSBwa+OHs4i2IwQXpG1qRWa1sn4q+w==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-file-saver": "^1.0.1", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-drawing": "^1.20.3", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-popup": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-popup/-/kendo-angular-popup-16.10.0.tgz", + "integrity": "sha512-9hjZ8Bg62PSzUEH3XvfF/ic/eGUW6q4QJsKYiFsAgVtlBOEjdUtc8yxc6P337MVlGoA07nqp2frN72DcWY7b9g==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-popup-common": "^1.7.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-progressbar": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-progressbar/-/kendo-angular-progressbar-16.10.0.tgz", + "integrity": "sha512-SF6SYL2VQi6H/oF+8eduUSpBuxKjfF4odiL7tnDp+veB9a+hmmPYUYakSgQyINqwZlTw88VUgh3ZNP/BuxiY9A==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-schematics": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-schematics/-/kendo-angular-schematics-16.10.0.tgz", + "integrity": "sha512-PcOLKr+uYpeZuSbguzMIUyBvFJh2BhJTjeO+qJiA5+2F7hrjmPD4OmlFVxzm1n4Wj/FgI3Uneer3VmSUiAY8Vw==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@types/semver": "^7.5.0", + "semver": "^7.5.3" + }, + "peerDependencies": { + "@angular-devkit/core": "15 - 18", + "@angular-devkit/schematics": "15 - 18", + "@angular/core": "15 - 18", + "@schematics/angular": "15 - 18", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-treeview": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-treeview/-/kendo-angular-treeview-16.10.0.tgz", + "integrity": "sha512-ClrKQrZVMYzbtyogQpb4l0a+P5WeH0GbBI9PayGC+l7jb2HbF1ZKF/qBgwlN3QBMOhYrwvameW0eN+5N24LXDQ==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-common": "^0.2.0", + "@progress/kendo-draggable": "^3.0.2", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-inputs": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-upload": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-upload/-/kendo-angular-upload-16.10.0.tgz", + "integrity": "sha512-KUfae6x17buTmzM86Zkliqa+w8/3rkxKgv0CZ+RtDQiM8sv/44JQMyBWQZP1WMnTCTT/frschR4mKQwbkF3EaA==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/forms": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-progressbar": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-angular-utils": { + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-angular-utils/-/kendo-angular-utils-16.10.0.tgz", + "integrity": "sha512-OH64Ri5Q5YYOvfIWuFtKEUf9vNfSIxVePpvPO9TaZFQ969GsXDmetLNIusgGraeguQtmdpj9uV6a3yAMB3qHvA==", + "dependencies": { + "@progress/kendo-angular-schematics": "16.10.0", + "@progress/kendo-draggable-common": "^0.2.3", + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/animations": "15 - 18", + "@angular/common": "15 - 18", + "@angular/core": "15 - 18", + "@angular/platform-browser": "15 - 18", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-licensing": "^1.0.2", + "rxjs": "^6.5.3 || ^7.0.0" + } + }, + "node_modules/@progress/kendo-common": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@progress/kendo-common/-/kendo-common-0.2.2.tgz", + "integrity": "sha512-VwHyVXJ5o92pnljtmIULYVYUhyY9BXaPVTjLNMOc5MuYr2PU4tmpyzfJI/MeyfL1PuHJlgw7KqJJhvPqrOduNQ==", + "dependencies": { + "tslib": "^1.7.0" + } + }, + "node_modules/@progress/kendo-common/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@progress/kendo-data-query": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-data-query/-/kendo-data-query-1.7.0.tgz", + "integrity": "sha512-mB+2WZFAZghxRwBhgWiJIysx7qcFkilnbcZWq0AfQ3KXfC3N5IY/EuKJNijhYrTdauYA1eL1GMe2FHsOWAlRHA==", + "dependencies": { + "tslib": "^1.7.0" + } + }, + "node_modules/@progress/kendo-data-query/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@progress/kendo-date-math": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/@progress/kendo-date-math/-/kendo-date-math-1.5.13.tgz", + "integrity": "sha512-uMVIbEEs7nyn4IeWXuMdV7lNGfrWgYheXiC2EDx6lpGG9s29QpUmn3NtnAcOOOHWj33/O9IwLIRAcEiFP/7DiA==", + "dependencies": { + "tslib": "^1.7.0" + } + }, + "node_modules/@progress/kendo-date-math/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@progress/kendo-dateinputs-common": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@progress/kendo-dateinputs-common/-/kendo-dateinputs-common-0.3.5.tgz", + "integrity": "sha512-tffXS+sgSUEqWlHLGfSBNyDK8tP0uFqlF8907f7ytOVcdDxTNkXcE3unhGwFuwqUXCupVK16XL6St6D9ZACkpg==", + "dependencies": { + "@progress/kendo-date-math": "^1.5.9", + "tslib": "^2.4.1" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + } + }, + "node_modules/@progress/kendo-draggable": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-draggable/-/kendo-draggable-3.1.0.tgz", + "integrity": "sha512-S5AHF9uiy44um+06ABJcjZn/wpO3ZwLahd2BhiTd7NeBVPt5lkj2bjdmkd88GEIIBKmT7FOK308WUt5/MmKVTQ==" + }, + "node_modules/@progress/kendo-draggable-common": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@progress/kendo-draggable-common/-/kendo-draggable-common-0.2.3.tgz", + "integrity": "sha512-e1FraFsT7zwevswzZlQYL//K+fzmRUvkr/4emp51dzkARLDtGd95BtPNSoXYRG5xYHeueKBS75hzVwQI6Dm3Dg==", + "dependencies": { + "tslib": "^1.7.0" + } + }, + "node_modules/@progress/kendo-draggable-common/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@progress/kendo-drawing": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@progress/kendo-drawing/-/kendo-drawing-1.20.4.tgz", + "integrity": "sha512-Us2nq0GRjArjZ76Sh2Qn8zkPKZStLnckoLAykpBkB89Y+44UE/AYwyHZpKp9BjjsUoBQ+EeOH+BrDi1dGzphcw==", + "dependencies": { + "@progress/pako-esm": "^1.0.1" + } + }, + "node_modules/@progress/kendo-file-saver": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@progress/kendo-file-saver/-/kendo-file-saver-1.1.2.tgz", + "integrity": "sha512-hWpJ67L8b2+GIhsIWR09NgGaEh87jvcHv7kScC671cbVWJycXTGqdy3ZoI0pzIaH8K0IgP2TNkF1ay4HGxe+pg==" + }, + "node_modules/@progress/kendo-inputs-common": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@progress/kendo-inputs-common/-/kendo-inputs-common-3.1.1.tgz", + "integrity": "sha512-OqID8+2DuAnUET0W1j357qqTPvws6hnByt2h5+uVS7uK9Wmt/NHA0gVhdYmh+Jyv6Pw+S2epSk47mDsfyreKYA==", + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@progress/kendo-drawing": "^1.17.0" + } + }, + "node_modules/@progress/kendo-intl": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@progress/kendo-intl/-/kendo-intl-3.1.2.tgz", + "integrity": "sha512-rOtMppQSrScwryMfeQSOdsnRi9Oj1l08HFoEC2ticZ0T2N0/JN9CHt+fuToRx5onXK7QkcbbuNM0D09o8TeeMw==" + }, + "node_modules/@progress/kendo-licensing": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@progress/kendo-licensing/-/kendo-licensing-1.3.5.tgz", + "integrity": "sha512-HWxM6Ov1g0LvOQN9sp+3N1h+YpF0OKq7rWW2bqoJnkyHy8woC8Ve6ew6KmHdbeaKMgikVOYgyo5NTjef2j+gVQ==", + "hasInstallScript": true, + "dependencies": { + "jsonwebtoken": "^9.0.2" + }, + "bin": { + "kendo-ui-license": "bin/kendo-ui-license.js" + } + }, + "node_modules/@progress/kendo-ooxml": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-ooxml/-/kendo-ooxml-1.9.0.tgz", + "integrity": "sha512-XkW23MU1snvNvn/hKFvRsrzrxJuRGeexbeXupouclqHJv8prhkFfAo8xlU7b+4bw362oI3eRXklvAPWdMYnA4w==", + "dependencies": { + "@progress/jszip-esm": "^1.0.3", + "@progress/pako-esm": "^1.0.1" + } + }, + "node_modules/@progress/kendo-popup-common": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@progress/kendo-popup-common/-/kendo-popup-common-1.9.2.tgz", + "integrity": "sha512-Gs50UafJcERiGuSP/47Yg7ftPX3HQXiK5M9zHB8sHSoc1/AEYd0/Sj5wh8UrVVBAM9b0pUTwmEuzQ/D5yDDd2Q==" + }, + "node_modules/@progress/kendo-svg-icons": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-svg-icons/-/kendo-svg-icons-3.1.0.tgz", + "integrity": "sha512-DMDdG50+s5T6/6zP6IKKL3CieBgvshf3f2kfmXI94kXcOCbIhfVZzwpf2SkLnA8SWVZwpjP8v8h+hWKKewiQwA==" + }, + "node_modules/@progress/kendo-theme-core": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-theme-core/-/kendo-theme-core-8.2.0.tgz", + "integrity": "sha512-PttG/mHaGmt3tr3nEec1n0id1H0sK5PDDkWL++4uOPUNmv201qjjaqnJ7FdbCfNPl4w0skansMI2MDr3Xu61dw==" + }, + "node_modules/@progress/kendo-theme-default": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@progress/kendo-theme-default/-/kendo-theme-default-8.2.1.tgz", + "integrity": "sha512-rEuyOLGHCVYGiKTK77xqWJn7daQo5meWvRTF2aIuutjGDk0uPPRm5KcVBAQNqsyKL2G+JNni3uM/B4Te87fmzw==", + "dependencies": { + "@progress/kendo-svg-icons": "3.0.0", + "@progress/kendo-theme-core": "8.2.0", + "@progress/kendo-theme-utils": "8.2.0" + } + }, + "node_modules/@progress/kendo-theme-default/node_modules/@progress/kendo-svg-icons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-svg-icons/-/kendo-svg-icons-3.0.0.tgz", + "integrity": "sha512-+Hk0YWhxd9rIvFNX6T+L0P2x9/DJ8Z4baHWY4xT2ntjVK9IasSPgMmfQiAfs58q3vTiyZNkmx7Yfrdg5Mqh8Aw==" + }, + "node_modules/@progress/kendo-theme-utils": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@progress/kendo-theme-utils/-/kendo-theme-utils-8.2.0.tgz", + "integrity": "sha512-LNjcdyzxXIdBGuLLPlLgfK+rC4eIWPKAMpvRjdwyeQUMf119Y7vRp5LBKwU2MK5Lg1ojPuI5te9VUtlvaSCg1A==", + "dependencies": { + "@progress/kendo-theme-core": "8.2.0" + } + }, + "node_modules/@progress/pako-esm": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@progress/pako-esm/-/pako-esm-1.0.1.tgz", + "integrity": "sha512-O4A3b1EuE9Xe1pC3Xz9Tcn1M/CYrL71f4y/5TXeytOVTkmkzBgYW97fYP2f+54H0e0erWRaqV/kUUB/a8Uxfbw==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "18.2.5", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.5.tgz", + "integrity": "sha512-tBXhk9OGT4U6VsBNbuCNl2ITDOF3NYdGrEieIHU+lHSkpJNGZUIGxCgXCETXkmXDq1pe4wFZSKelWjeqYDfX0g==", + "dependencies": { + "@angular-devkit/core": "18.2.5", + "@angular-devkit/schematics": "18.2.5", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", + "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", + "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", + "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", + "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", + "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", + "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", + "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "22.6.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.6.1.tgz", + "integrity": "sha512-V48tCfcKb/e6cVUigLAaJDAILdMP0fUW6BidkPK4GpGjXcfbnoHasCZDwz3N3yVt5we2RHm4XTQCpv0KJz9zqw==", + "dev": true, + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/wrap-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz", + "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", + "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.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": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", + "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/critters": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", + "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "postcss-media-query-parser": "^0.2.3" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.1.tgz", + "integrity": "sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.1.tgz", + "integrity": "sha512-QHuXVeZx9d+tIQAz/XztU0ZwZf2Agg9CcXcgE1rurqvdBeDBrpSwjl8/6XUqMg7tw2Y7uAdKb2sRv+bSEFqQ5A==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", + "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, + "node_modules/express": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "dev": true, + "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.6.0", + "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.10", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-proxy-middleware": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", + "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.10", + "debug": "^4.3.4", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "engines": { + "node": ">=10.18" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.5.tgz", + "integrity": "sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==", + "dev": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "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, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.2.tgz", + "integrity": "sha512-2oIUMGn00FdUiqz6epiiJr7xcFyNYj3rDcfmnzfkBnHyBQ3cBQUs4mmyGsOb7TTLb9kxk7dBcmEmqhDKkBoDyA==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", + "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", + "dev": true, + "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" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/karma/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/less": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", + "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "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" + } + }, + "node_modules/less-loader": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", + "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "dev": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "dev": true, + "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" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "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.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "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/lmdb": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", + "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.10.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.4.1", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.0.13", + "@lmdb/lmdb-darwin-x64": "3.0.13", + "@lmdb/lmdb-linux-arm": "3.0.13", + "@lmdb/lmdb-linux-arm64": "3.0.13", + "@lmdb/lmdb-linux-x64": "3.0.13", + "@lmdb/lmdb-win32-x64": "3.0.13" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "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" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "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.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "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.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz", + "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==", + "dev": true, + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.3.0", + "tree-dump": "^1.0.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">= 4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/msgpackr": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", + "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "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" + } + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/nice-napi/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.2.0.tgz", + "integrity": "sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", + "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "dev": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.1.tgz", + "integrity": "sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.1.0.tgz", + "integrity": "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.1.0.tgz", + "integrity": "sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==", + "dev": true, + "dependencies": { + "@npmcli/redact": "^2.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", + "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "dev": true, + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ordered-binary": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", + "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.0.tgz", + "integrity": "sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/pacote": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", + "integrity": "sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^8.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^17.0.0", + "proc-log": "^4.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^2.2.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "dev": true, + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "dev": true + }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/piscina": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", + "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "dev": true, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "dev": true, + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/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" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "dev": true + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-loader": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", + "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "dev": true, + "dependencies": { + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "optional": true + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "dev": true, + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static/node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.3.1.tgz", + "integrity": "sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "@sigstore/sign": "^2.3.2", + "@sigstore/tuf": "^2.3.4", + "@sigstore/verify": "^1.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "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/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/terser": { + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thingies": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", + "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", + "dev": true, + "engines": { + "node": ">=10.18" + }, + "peerDependencies": { + "tslib": "^2" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-dump": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", + "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", + "dev": true, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, + "node_modules/tuf-js": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.1.tgz", + "integrity": "sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==", + "dev": true, + "dependencies": { + "@tufjs/models": "2.0.1", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "dev": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/vite/node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "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": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", + "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "dev": true, + "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", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.4.0", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "rimraf": "^5.0.5", + "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.1.0", + "ws": "^8.16.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", + "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", + "integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==" + } + } +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/package.json b/examples-standalone/kendoangular-java-integration/ClientApp/package.json new file mode 100644 index 00000000..7d4def3d --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/package.json @@ -0,0 +1,64 @@ +{ + "name": "client", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^18.0.0", + "@angular/common": "^18.0.0", + "@angular/compiler": "^18.0.0", + "@angular/core": "^18.0.0", + "@angular/forms": "^18.0.0", + "@angular/localize": "^18.0.0", + "@angular/platform-browser": "^18.0.0", + "@angular/platform-browser-dynamic": "^18.0.0", + "@angular/router": "^18.0.0", + "@progress/kendo-angular-buttons": "16.10.0", + "@progress/kendo-angular-common": "16.10.0", + "@progress/kendo-angular-dateinputs": "16.10.0", + "@progress/kendo-angular-dialog": "16.10.0", + "@progress/kendo-angular-dropdowns": "16.10.0", + "@progress/kendo-angular-excel-export": "16.10.0", + "@progress/kendo-angular-grid": "^16.10.0", + "@progress/kendo-angular-icons": "16.10.0", + "@progress/kendo-angular-inputs": "16.10.0", + "@progress/kendo-angular-intl": "16.10.0", + "@progress/kendo-angular-l10n": "16.10.0", + "@progress/kendo-angular-label": "16.10.0", + "@progress/kendo-angular-layout": "16.10.0", + "@progress/kendo-angular-navigation": "16.10.0", + "@progress/kendo-angular-pdf-export": "16.10.0", + "@progress/kendo-angular-popup": "16.10.0", + "@progress/kendo-angular-progressbar": "16.10.0", + "@progress/kendo-angular-treeview": "16.10.0", + "@progress/kendo-angular-upload": "^16.10.0", + "@progress/kendo-angular-utils": "16.10.0", + "@progress/kendo-data-query": "^1.0.0", + "@progress/kendo-drawing": "^1.20.3", + "@progress/kendo-licensing": "^1.0.2", + "@progress/kendo-svg-icons": "^3.0.0", + "@progress/kendo-theme-default": "^8.2.1", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.14.3" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^18.0.6", + "@angular/cli": "^18.0.6", + "@angular/compiler-cli": "^18.0.0", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.1.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.4.2" + } +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/public/favicon.ico b/examples-standalone/kendoangular-java-integration/ClientApp/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.css b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.css new file mode 100644 index 00000000..309d01ca --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.css @@ -0,0 +1,49 @@ +.content-container { + max-width: 1200px; + margin: 0 auto; + padding: 20px; + background-color: #f9f9f9; + border-radius: 8px; +} + +.row { + display: flex; + flex-direction: row; + align-items: flex-start; + margin-top: 20px; +} + +.info { + flex: 1; + margin-right: 20px; + background-color: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +.component { + flex: 1; + background-color: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +kendo-grid, +kendo-upload { + width: 100%; +} + +.row p { + margin-bottom: 10px; +} + +a { + color: #ff6358; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.html b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.html new file mode 100644 index 00000000..367f62f0 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.html @@ -0,0 +1,137 @@ +
+

+ Grid component + demonstrating fetching data from the server with CRUD operations. The + sorting, grouping, filtering, and paging are handled by the + process helper. +

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

+ The Upload helps users send files from their file systems to + dedicated server handlers which are configured to receive them. +

+

+ It is a richer version of an + ]]> element and + supports model binding, templates, forms, and more. +

+

+ For more information check the + Upload documentation. +

+
+
+ + +
+
+ +
+
+

+ The Chunk Upload allows splitting files into smaller chunks and + sending them asynchronously through multiple requests to the + server. +

+

+ The + ChunkSettings + parameter enables you to specify the size of each chunk, number + of attempts to retry uploading a failed chunk, pause, and later + resume the process. +

+

+ For more information check the + + Chunk Upload documentation. + +

+
+
+ + +
+
+
diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.ts b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.ts new file mode 100644 index 00000000..fe4aadaa --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.component.ts @@ -0,0 +1,130 @@ +import { Component, inject, OnInit } from '@angular/core'; +import { FormGroup, FormControl, Validators } from '@angular/forms'; +import { RouterOutlet } from '@angular/router'; +import { ChunkSettings, KENDO_UPLOADS } from '@progress/kendo-angular-upload'; +import { + KENDO_GRID, + AddEvent, + CancelEvent, + DataStateChangeEvent, + EditEvent, + GridComponent, + GridDataResult, + RemoveEvent, + SaveEvent, +} from '@progress/kendo-angular-grid'; +import { State } from '@progress/kendo-data-query'; +import { ProductService } from './products.service'; + +@Component({ + selector: 'app-root', + standalone: true, + imports: [RouterOutlet, KENDO_GRID, KENDO_UPLOADS], + templateUrl: './app.component.html', + styleUrl: './app.component.css', +}) +export class AppComponent implements OnInit { + public chunkSettings: ChunkSettings = { + size: 1048576, + }; + public gridData!: GridDataResult; + public productService = inject(ProductService); + public editedRowIndex: number | undefined = undefined; + public formGroup?: FormGroup; + public state: State = { + skip: 0, + take: 5, + filter: { filters: [], logic: 'or' }, + group: [], + sort: [], + }; + + ngOnInit(): void { + this.getProducts(this.state); + } + + public dataStateChange(state: DataStateChangeEvent): void { + this.state = state; + this.getProducts(state); + } + + public addHandler(addEvent: AddEvent): void { + this.closeEditor(addEvent.sender); + + this.formGroup = new FormGroup({ + productID: new FormControl(null, Validators.required), + productName: new FormControl(null, Validators.required), + unitPrice: new FormControl(null, [ + Validators.required, + Validators.min(0), + ]), + }); + + addEvent.sender.addRow(this.formGroup); + } + + public editHandler(editEvent: EditEvent): void { + this.closeEditor(editEvent.sender); + + const { productID, productName, unitPrice } = editEvent.dataItem; + + this.formGroup = new FormGroup({ + productID: new FormControl(productID), + productName: new FormControl(productName), + unitPrice: new FormControl(unitPrice), + }); + + this.editedRowIndex = editEvent.rowIndex; + editEvent.sender.editRow(editEvent.rowIndex, this.formGroup); + } + + public cancelHandler(cancelEvent: CancelEvent): void { + this.closeEditor(cancelEvent.sender, cancelEvent.rowIndex); + } + + public saveHandler(saveEvent: SaveEvent): void { + const product = saveEvent.formGroup.value; + if (saveEvent.isNew) { + this.productService.createProduct(product).subscribe({ + next: () => this.getProducts(this.state), + error: (error) => console.error(error), + }); + } else { + const productId = saveEvent.dataItem.productID; + this.productService.updateProduct(productId, product).subscribe({ + next: () => this.getProducts(this.state), + error: (error) => console.error(error), + }); + } + saveEvent.sender.closeRow(saveEvent.rowIndex); + } + + public removeHandler(removeEvent: RemoveEvent): void { + this.productService + .deleteProduct(removeEvent.dataItem.productID) + .subscribe({ + next: () => this.getProducts(this.state), + error: (error) => console.error(error), + }); + } + + private closeEditor( + grid: GridComponent, + rowIndex: number | undefined = this.editedRowIndex + ): void { + grid.closeRow(rowIndex); + this.editedRowIndex = undefined; + this.formGroup = undefined; + } + + private getProducts(state: State): void { + this.productService.getProducts(state).subscribe({ + next: (result) => { + this.gridData = result; + + console.log(result); + }, + error: (error) => console.error(error), + }); + } +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.config.ts b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.config.ts new file mode 100644 index 00000000..2dc0b9c3 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.config.ts @@ -0,0 +1,11 @@ +import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes), + ], +}; diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.routes.ts b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.routes.ts new file mode 100644 index 00000000..dc39edb5 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/app.routes.ts @@ -0,0 +1,3 @@ +import { Routes } from '@angular/router'; + +export const routes: Routes = []; diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/app/products.service.ts b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/products.service.ts new file mode 100644 index 00000000..7207c95b --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/app/products.service.ts @@ -0,0 +1,43 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { map, Observable } from 'rxjs'; +import { State, toDataSourceRequestString } from '@progress/kendo-data-query'; +import { GridDataResult } from '@progress/kendo-angular-grid'; +import { tap } from 'rxjs/operators'; +import { process } from '@progress/kendo-data-query'; + +@Injectable({ + providedIn: 'root', +}) +export class ProductService { + constructor(private http: HttpClient) {} + private baseUrl = 'http://localhost:8080/'; + + public getProducts(state: State): Observable { + const url = `${ + this.baseUrl + }products/get-products?${toDataSourceRequestString(state)}`; + + // The process function is used to manage the state of the Grid data. + // You can manage the state of the data in the Java backend, but it will require filtering, sorting, paging, and grouping logic. + return this.http.get(url).pipe( + tap((response) => console.log('GET request response:', response)), + map((response) => process(response.data, state)) + ); + } + // The CRUD operations are handled in the Java backend. + public createProduct(product: any): Observable { + const url = `${this.baseUrl}products/create-product`; + return this.http.post(url, product); + } + + public updateProduct(productId: number, product: any): Observable { + const url = `${this.baseUrl}products/update-product/${productId}`; + return this.http.put(url, product); + } + + public deleteProduct(productId: number): Observable { + const url = `${this.baseUrl}products/delete-product/${productId}`; + return this.http.delete(url); + } +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/index.html b/examples-standalone/kendoangular-java-integration/ClientApp/src/index.html new file mode 100644 index 00000000..cef98023 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/index.html @@ -0,0 +1,13 @@ + + + + + Client + + + + + + + + diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/main.ts b/examples-standalone/kendoangular-java-integration/ClientApp/src/main.ts new file mode 100644 index 00000000..d62eb399 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/main.ts @@ -0,0 +1,16 @@ +/// + +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { AppComponent } from './app/app.component'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { provideHttpClient } from "@angular/common/http"; + +bootstrapApplication(AppComponent, { + ...appConfig, + providers: [ + provideAnimations(), + provideHttpClient(), + ] +}) + .catch((err) => console.error(err)); \ No newline at end of file diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/src/styles.css b/examples-standalone/kendoangular-java-integration/ClientApp/src/styles.css new file mode 100644 index 00000000..90d4ee00 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.app.json b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.app.json new file mode 100644 index 00000000..3e50bc39 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.app.json @@ -0,0 +1,17 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [ + "@angular/localize" + ] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.json b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.json new file mode 100644 index 00000000..d3dbc4a2 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "outDir": "./dist/out-tsc", + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "esModuleInterop": true, + "sourceMap": true, + "declaration": false, + "experimentalDecorators": true, + "moduleResolution": "bundler", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "lib": [ + "ES2022", + "dom" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.spec.json b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.spec.json new file mode 100644 index 00000000..b4c6282d --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/ClientApp/tsconfig.spec.json @@ -0,0 +1,16 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine", + "@angular/localize" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/examples-standalone/kendoangular-java-integration/README.md b/examples-standalone/kendoangular-java-integration/README.md new file mode 100644 index 00000000..8b2f0ce9 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/README.md @@ -0,0 +1,91 @@ +# Kendo UI for Angular with Java Spring Boot Integration + +This sample project demonstrates how to utilize Kendo UI for Angular's [Grid](https://www.telerik.com/kendo-angular-ui/components/grid/) and [Upload](https://www.telerik.com/kendo-angular-ui/components/uploads/upload/) components with a Java Spring Boot Maven backend. + +For more detailed information, refer to the [Java integration article](https://www.telerik.com/kendo-angular-ui/components/installation/java-spring). + +## Project Structure + +The project consists of two main parts: + +- **Frontend**: Contains the Angular application, located in the `frontend` directory. +- **Backend**: Contains the Java Spring Boot application, located in the `backend` directory. + +## Prerequisites + +Ensure you have the following tools installed on your machine: + +- **Angular CLI (18.0.0 or later)**: A command-line interface for Angular. [Download Angular CLI](https://angular.io/cli). +- **Java Development Kit (JDK 23)**: Essential for running Java applications. [Download JDK](https://www.oracle.com/java/technologies/downloads/). + - Note: For macOS, ensure you download the correct installer for your architecture: + - **arm64**: For Apple Silicon (M1, M2, etc.) Macs. + - **x64**: For Intel-based Macs. + +- **Apache Maven**: A build automation tool for Java projects. Install using [Homebrew](https://formulae.brew.sh/formula/maven) on macOS, or [download manually](https://maven.apache.org/install.html). + +- **Clone the Repository**: Clone the repository to your local machine to get the project files. + + ```bash + git clone https://github.com/telerik/kendo-angular/ + ``` + +## Setup and Run the Java Spring Boot Application + +1. **Navigate to the Backend Directory**: + + ```bash + cd kendo-angular/examples-standalone/kendoangular-java-integration/backend + ``` + +2. **Run the Java Spring Boot Application**: + + ```bash + mvn spring-boot:run + ``` + +3. **Access the Java Spring Boot Application**: + - Open your browser and navigate to [http://localhost:8080](http://localhost:8080). + +## Setup and Run the Angular Application + +1. **Navigate to the Frontend Directory**: + + ```bash + cd kendo-angular/examples-standalone/kendoangular-java-integration/ClientApp + ``` + +2. **Install Project Dependencies**: + + ```bash + npm install + ``` + +3. **Run the Angular Application**: + + ```bash + ng serve + ``` + +4. **Open Your Browser**: + - Navigate to [http://localhost:4200](http://localhost:4200) to view the Angular application. + +## Functionality + +The application demonstrates the following features: + +- **Grid Component**: + - Displays a list of products. + - Supports client-side sorting, filtering, grouping, and paging using the [process helper](https://www.telerik.com/kendo-angular-ui/components/data-query/bulk-operations). + - Performs Create, Read, Update, and Delete (CRUD) operations on the server. + +- **Upload Component**: + - Allows users to upload files to the server. + +## See Also + +- [Kendo UI for Angular integration with ASP.NET Core](https://www.telerik.com/kendo-angular-ui/components/installation/dotnet-core) +- [Kendo UI for Angular Components](https://www.telerik.com/kendo-angular-ui) +- [Kendo UI for Angular Documentation](https://www.telerik.com/kendo-angular-ui/components/) +- [Kendo UI for Angular Grid Component](https://www.telerik.com/kendo-angular-ui/components/grid/) +- [Kendo UI for Angular Upload Component](https://www.telerik.com/kendo-angular-ui/components/uploads/upload/) +- [Java Spring Initializr](https://start.spring.io/) diff --git a/examples-standalone/kendoangular-java-integration/backend/.gitignore b/examples-standalone/kendoangular-java-integration/backend/.gitignore new file mode 100644 index 00000000..549e00a2 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/examples-standalone/kendoangular-java-integration/backend/.mvn/wrapper/maven-wrapper.properties b/examples-standalone/kendoangular-java-integration/backend/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..d58dfb70 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/examples-standalone/kendoangular-java-integration/backend/Temp_Directory/null_0 b/examples-standalone/kendoangular-java-integration/backend/Temp_Directory/null_0 new file mode 100644 index 0000000000000000000000000000000000000000..80f752d75157a5091f2a019c1b14d916b38feb86 GIT binary patch literal 209138 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%0A7KtX3fkEKe_hC{C!n#aIK>)p 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.UTHoabzLXIs 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 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/examples-standalone/kendoangular-java-integration/backend/mvnw.cmd b/examples-standalone/kendoangular-java-integration/backend/mvnw.cmd new file mode 100644 index 00000000..249bdf38 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/examples-standalone/kendoangular-java-integration/backend/pom.xml b/examples-standalone/kendoangular-java-integration/backend/pom.xml new file mode 100644 index 00000000..d950d66e --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.3.4 + + + telerik + demo + 0.0.1-SNAPSHOT + kendoangular-java-spring-integration + Kendo Angular project with Spring + + + + + + + + + + + + + + + 23 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + com.h2database + h2 + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/KendoangularJavaSpringIntegrationApplication.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/KendoangularJavaSpringIntegrationApplication.java new file mode 100644 index 00000000..10e8c1a5 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/KendoangularJavaSpringIntegrationApplication.java @@ -0,0 +1,13 @@ +package telerik.demo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class KendoangularJavaSpringIntegrationApplication { + + public static void main(String[] args) { + SpringApplication.run(KendoangularJavaSpringIntegrationApplication.class, args); + } + +} diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/WebConfig.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/WebConfig.java new file mode 100644 index 00000000..ce817a92 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/WebConfig.java @@ -0,0 +1,19 @@ +package telerik.demo; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("http://localhost:4200") // Allow Angular app's origin + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // Allowed methods + .allowedHeaders("*") + .allowCredentials(true); + } +} diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/ProductController.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/ProductController.java new file mode 100644 index 00000000..3c3ff83d --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/ProductController.java @@ -0,0 +1,79 @@ +package telerik.demo.controller; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.*; + +import telerik.demo.models.Product; +import telerik.demo.models.ProductDataResult; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/products") +public class ProductController { + + private static final Logger logger = LoggerFactory.getLogger(ProductController.class); + + private static List products = new ArrayList<>(); + + static { + products.add(new Product(1, "Chai", 18)); + products.add(new Product(2, "Chang", 19)); + products.add(new Product(3, "Aniseed Syrup", 10)); + products.add(new Product(4, "Chef Anton's Cajun Seasoning", 22)); + products.add(new Product(5, "Chef Anton's Gumbo Mix", 21.35)); + products.add(new Product(6, "Grandma's Boysenberry Spread", 25)); + products.add(new Product(7, "Uncle Bob's Organic Dried Pears", 30)); + products.add(new Product(8, "Northwoods Cranberry Sauce", 40)); + products.add(new Product(9, "Mishi Kobe Niku", 97)); + products.add(new Product(10, "Ikura", 31)); + products.add(new Product(11, "Queso Cabrales", 21)); + products.add(new Product(12, "Queso Manchego La Pastora", 38)); + } + + @GetMapping("/get-products") + public ProductDataResult getProducts() { + logger.info("Products requested"); + return new ProductDataResult(products, products.size()); + } + + @PostMapping("/create-product") + public Product createProduct(@RequestBody Product product) { + products.add(product); + logger.info("Product created: {}", product); + return product; + } + + @PutMapping("/update-product/{originalProductId}") + public Product updateProduct(@PathVariable int originalProductId, @RequestBody Product product) { + Optional existingProduct = products.stream() + .filter(p -> p.getProductID() == originalProductId) + .findFirst(); + + if (!existingProduct.isPresent()) { + logger.warn("Product with ID {} not found", originalProductId); + return null; // Ideally, throw an exception or return a proper response. + } + + Product prod = existingProduct.get(); + prod.setProductName(product.getProductName()); + prod.setUnitPrice(product.getUnitPrice()); + prod.setProductID(product.getProductID()); + + logger.info("Product updated: {}", prod); + return prod; + } + + @DeleteMapping("/delete-product/{id}") + public void deleteProduct(@PathVariable int id) { + products = products.stream() + .filter(p -> p.getProductID() != id) + .collect(Collectors.toList()); + + logger.info("Product deleted: {}", id); + } +} \ No newline at end of file diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/StreamingController.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/StreamingController.java new file mode 100644 index 00000000..64087eae --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/controller/StreamingController.java @@ -0,0 +1,89 @@ +package telerik.demo.controller; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +@RestController +@RequestMapping("/upload") +public class StreamingController { + + private static final Logger logger = LoggerFactory.getLogger(StreamingController.class); + + private final String uploadDir = "Upload_Directory"; + // This endpoint will also receive multiple files and chunks. + // However, a separate handler should be implemented for chunked uploads, + // as they require more complex logic to manage properly (e.g., handling partial uploads, + // reassembly, and error recovery). + @PostMapping + public ResponseEntity onPostUpload(@RequestParam("files") List files) { + // Saves the uploaded files to the upload directory on the server + // Feel free to change the directory to suit your needs + logger.info("Received {} files", files.size()); + for (MultipartFile file : files) { + if (!file.isEmpty()) { + String fileName = file.getOriginalFilename(); + logger.info("Received file: {}", fileName); + + try { + // Save file to the upload directory + Path path = Paths.get(uploadDir, fileName); + Files.createDirectories(path.getParent()); + try (FileOutputStream fos = new FileOutputStream(path.toFile())) { + fos.write(file.getBytes()); + } + logger.info("Uploaded file: {}", fileName); + } catch (IOException e) { + logger.error("Error uploading file: {}", fileName, e); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("File upload failed"); + } + } + } + return ResponseEntity.ok().build(); + } + + @PostMapping("/remove") + public ResponseEntity asyncRemove(@RequestParam("fileNames") List fileNames) { + if (fileNames == null || fileNames.isEmpty()) { + logger.warn("No file names provided in the request"); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("No file names provided in the request"); + } + + for (String fileName : fileNames) { + if (fileName == null || fileName.trim().isEmpty()) { + logger.warn("Invalid file name provided"); + return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Invalid file name provided"); + } + + Path path = Paths.get(uploadDir, fileName); + logger.info("Attempting to delete file: {}", path.toString()); + + // Ensure the file actually exists + if (Files.exists(path)) { + try { + Files.delete(path); + logger.info("Deleted file: {}", fileName); + } catch (IOException e) { + logger.error("Error deleting file: {}", fileName, e); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("File deletion failed"); + } + } else { + logger.warn("File not found: {}", fileName); + return ResponseEntity.status(HttpStatus.NOT_FOUND).body("File not found: " + fileName); + } + } + + return ResponseEntity.ok().build(); + } + +} \ No newline at end of file diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/Product.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/Product.java new file mode 100644 index 00000000..df6c9b2c --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/Product.java @@ -0,0 +1,49 @@ +package telerik.demo.models; + +public class Product { + private int productID; + private String productName; + private double unitPrice; + + public Product() { + } + + public Product(int productID, String productName, double unitPrice) { + this.productID = productID; + this.productName = productName; + this.unitPrice = unitPrice; + } + + public int getProductID() { + return productID; + } + + public void setProductID(int productID) { + this.productID = productID; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public double getUnitPrice() { + return unitPrice; + } + + public void setUnitPrice(double unitPrice) { + this.unitPrice = unitPrice; + } + + @Override + public String toString() { + return "Product{" + + "productID=" + productID + + ", productName='" + productName + '\'' + + ", unitPrice=" + unitPrice + + '}'; + } +} \ No newline at end of file diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/ProductDataResult.java b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/ProductDataResult.java new file mode 100644 index 00000000..1dcc43a0 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/java/telerik/demo/models/ProductDataResult.java @@ -0,0 +1,19 @@ +package telerik.demo.models; +import java.util.List; +public class ProductDataResult { + private List data; + private long total; + + public ProductDataResult(List data, long total) { + this.data = data; + this.total = total; + } + + public List getData() { + return data; + } + + public long getTotal() { + return total; + } +} diff --git a/examples-standalone/kendoangular-java-integration/backend/src/main/resources/application.properties b/examples-standalone/kendoangular-java-integration/backend/src/main/resources/application.properties new file mode 100644 index 00000000..456cdc61 --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/main/resources/application.properties @@ -0,0 +1,3 @@ +spring.application.name=kendoangular-java-spring-integration +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=10MB diff --git a/examples-standalone/kendoangular-java-integration/backend/src/test/java/telerik/demo/KendoangularJavaSpringIntegrationApplicationTests.java b/examples-standalone/kendoangular-java-integration/backend/src/test/java/telerik/demo/KendoangularJavaSpringIntegrationApplicationTests.java new file mode 100644 index 00000000..746cbfaa --- /dev/null +++ b/examples-standalone/kendoangular-java-integration/backend/src/test/java/telerik/demo/KendoangularJavaSpringIntegrationApplicationTests.java @@ -0,0 +1,13 @@ +package telerik.demo; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class KendoangularJavaSpringIntegrationApplicationTests { + + @Test + void contextLoads() { + } + +}