diff --git a/angular18/README.md b/angular18/README.md new file mode 100644 index 0000000..90cf83e --- /dev/null +++ b/angular18/README.md @@ -0,0 +1,105 @@ +# ▶️ EasyAngular + +Welcome to the EasyAngular boilerplate! This project is designed to help you quickly start a new **Angular 18** project with **Bootstrap 5** and various useful libraries. It comes with pre-coded elements to streamline your development process. + +## Getting started +### Prerequisites + +Make sure you have the following installed : +- [Node.js](https://nodejs.org/) (version 20) +- [Angular CLI](https://angular.dev/) (version 18) using `npm install -g @angular/cli` + +### Installation +Clone the repository : +```sh +git clone https://github.com/NicolasRoehm/angular-boilerplate.git +cd angular-boilerplate +npm install +``` + +### ✒️ Usage +- Rename `EasyAngular` and `easy-angular` with your project name +- Place favicon generated with [RealFavIconGenerator](https://realfavicongenerator.net/) into `src/assets/img/favicon` folder + +### Development server + +Run the following command for a development server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. +```sh +ng-serve +``` + +## Boilerplate content +### 🗂️ Source code structure + + + + + + +
+ Project Structure + +
    +
  • Pages +
      +
    • Auth (login, forgot password, validate account) with 2 possible layouts
    • +
    • Home
    • +
    • 404
    • +
    +
  • +
  • Shared components +
      +
    • Blocks : toast & progress bar
    • +
    • Forms : confirm
    • +
    • Layouts : page & header
    • +
    • Modals : wrapper
    • +
    +
  • +
  • Enums : endpoints / environments / storage keys
  • +
  • Helpers : storage / string
  • +
  • Services : app (for requests) / store (for state management using signals)
  • +
  • i18n : en.json (for internationalization)
  • +
+
+ +### 🌐 Included packages +- [Bootstrap 5](https://getbootstrap.com/) : SCSS style & [ng-bootstrap](https://ng-bootstrap.github.io/) components +- [Axios](https://github.com/axios/axios) : HTTP client +- [ArrayTyper](https://github.com/FranzStrudel/-caliatys-array-typer) : Utility for type-safe array operations +- [angular-svg-icon](https://github.com/czeckd/angular-svg-icon) : SVG icon support +- [ngx-translate](https://github.com/ngx-translate/core) : Internationalization library + +## 🛠️ Tools +- Generate models from JSON - https://app.quicktype.io/ +- Generate favicon from SVG - https://realfavicongenerator.net/ + +## Angular CLI commands +### Code scaffolding +Generate a new component : +```sh +ng generate component component-name +``` +You can also use `ng generate` for directives, pipes, services, classes, guards, interfaces, enums, and modules. + +### Build +Build the project : +```sh +ng build +``` +The build artifacts will be stored in the `dist/` directory. + +### Running tests +#### Unit tests +Run unit tests via Karma : +```sh +ng test +``` + +#### End-to-End tests +Run end-to-end tests via a platform of your choice. You need to add a package that implements end-to-end testing capabilities : +```sh +ng e2e +``` + +## Further help +To get more help on the Angular CLI, use `ng help` or visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. \ No newline at end of file diff --git a/angular18/angular.json b/angular18/angular.json new file mode 100644 index 0000000..ad582da --- /dev/null +++ b/angular18/angular.json @@ -0,0 +1,113 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "EasyAngular": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/easy-angular", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets/img/favicon/favicon.ico", + "src/assets" + ], + "styles": [ + "src/assets/scss/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "buildTarget": "EasyAngular:build:production" + }, + "development": { + "buildTarget": "EasyAngular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "buildTarget": "EasyAngular:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "inlineStyleLanguage": "scss", + "assets": [ + "src/assets/img/favicon/favicon.ico", + "src/assets" + ], + "styles": [ + "src/assets/scss/styles.scss" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/angular18/dist/easy-angular/142.45234a7373c3ac49.js b/angular18/dist/easy-angular/142.45234a7373c3ac49.js new file mode 100644 index 0000000..3537c47 --- /dev/null +++ b/angular18/dist/easy-angular/142.45234a7373c3ac49.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[142],{3142:(h,i,a)=>{a.r(i),a.d(i,{ForgotPasswordComponent:()=>v});var l=a(467),m=a(177),r=a(9417),_=a(4550),u=a(9664),t=a(4438),d=a(1315),c=a(6825);const p=e=>({"is-invalid":e});function f(e,g){1&e&&(t.j41(0,"div",13),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&e&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"FIELD_REQUIRED")," "))}function E(e,g){1&e&&(t.j41(0,"div",13),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&e&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"FIELD_EMAIL")," "))}let v=(()=>{class e{constructor(o,s,n){this.router=o,this.storeService=s,this.appService=n,this.initFormGroup()}initFormGroup(){this.formGroup=new r.gE({email:new r.MJ({value:"",disabled:!1},{validators:[r.k0.required,r.k0.email],nonNullable:!0})})}onClickSubmit(){var o=this;return(0,l.A)(function*(){yield o.forgotPassword()})()}forgotPassword(){var o=this;return(0,l.A)(function*(){o.storeService.isLoading.set(!0);const s=o.formGroup.controls.email.getRawValue(),n=yield o.appService.forgotPassword(s);o.storeService.isLoading.set(!1),n&&o.router.navigate(["/auth/validate-account"])})()}static#t=this.\u0275fac=function(s){return new(s||e)(t.rXU(_.Ix),t.rXU(d.n),t.rXU(c.d))};static#r=this.\u0275cmp=t.VBU({type:e,selectors:[["app-forgot-password"]],standalone:!0,features:[t.aNF],decls:22,vars:19,consts:[[1,"text-center","text-primary","mb-4"],[1,"h2","fw-normal","mb-0"],[1,"d-flex","justify-content-center"],[1,"wrapper"],[3,"ngSubmit","formGroup"],[1,"mb-3"],["for","email",1,"form-label","text-start","w-100"],["type","email","id","email","formControlName","email",1,"form-control",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],[1,"text-center"],["type","submit",1,"btn","btn-primary","px-5",3,"disabled"],[1,"text-center","my-3"],["routerLink","/auth/login"],[1,"invalid-feedback"]],template:function(s,n){1&s&&(t.j41(0,"div",0)(1,"div",1),t.EFF(2),t.nI1(3,"translate"),t.k0s()(),t.j41(4,"div",2)(5,"div",3)(6,"form",4),t.bIt("ngSubmit",function(){return n.onClickSubmit()}),t.j41(7,"div",5)(8,"label",6),t.EFF(9),t.nI1(10,"translate"),t.k0s(),t.nrm(11,"input",7),t.DNE(12,f,3,3,"div",8)(13,E,3,3,"div",8),t.k0s(),t.j41(14,"div",9)(15,"button",10),t.EFF(16),t.nI1(17,"translate"),t.k0s()(),t.j41(18,"div",11)(19,"a",12),t.EFF(20),t.nI1(21,"translate"),t.k0s()()()()()),2&s&&(t.R7$(2),t.JRh(t.bMT(3,9,"FORGOT_YOUR_PWD")),t.R7$(4),t.Y8G("formGroup",n.formGroup),t.R7$(3),t.JRh(t.bMT(10,11,"EMAIL")),t.R7$(2),t.Y8G("ngClass",t.eq3(17,p,n.formGroup.controls.email.errors&&n.formGroup.controls.email.touched)),t.R7$(),t.Y8G("ngIf",n.formGroup.controls.email.hasError("required")),t.R7$(),t.Y8G("ngIf",n.formGroup.controls.email.hasError("email")),t.R7$(2),t.Y8G("disabled",!n.formGroup.valid),t.R7$(),t.SpI(" ",t.bMT(17,13,"RESET_PASSWORD")," "),t.R7$(4),t.JRh(t.bMT(21,15,"BACK_TO_LOGIN")))},dependencies:[r.YN,r.qT,r.me,r.BC,r.cb,r.X1,r.j4,r.JD,m.YU,m.bT,_.Wk,u.h,u.D9],styles:[".wrapper[_ngcontent-%COMP%]{max-width:350px;width:100%}"]})}return e})()}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/290.c6d31198e7723f1a.js b/angular18/dist/easy-angular/290.c6d31198e7723f1a.js new file mode 100644 index 0000000..bc2205e --- /dev/null +++ b/angular18/dist/easy-angular/290.c6d31198e7723f1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[290],{6290:(I,i,a)=>{a.r(i),a.d(i,{LoginComponent:()=>b});var l=a(467),m=a(177),o=a(9417),_=a(4550),d=a(9664),E=a(2767),e=a(4438),f=a(1315),v=a(6825);const u=t=>({"is-invalid":t});function R(t,p){1&t&&(e.j41(0,"div",18),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&t&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"FIELD_REQUIRED")," "))}function h(t,p){1&t&&(e.j41(0,"div",18),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&t&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"FIELD_EMAIL")," "))}function g(t,p){1&t&&(e.j41(0,"div",18),e.EFF(1),e.nI1(2,"translate"),e.k0s()),2&t&&(e.R7$(),e.SpI(" ",e.bMT(2,1,"FIELD_REQUIRED")," "))}let b=(()=>{class t{constructor(n,s,r){this.router=n,this.storeService=s,this.appService=r,this.appName=E.c.appName,this.initFormGroup()}initFormGroup(){this.formGroup=new o.gE({email:new o.MJ({value:"",disabled:!1},{validators:[o.k0.required,o.k0.email],nonNullable:!0}),password:new o.MJ({value:"",disabled:!1},{validators:[o.k0.required],nonNullable:!0})})}onClickSubmit(){var n=this;return(0,l.A)(function*(){yield n.authenticate()})()}authenticate(){var n=this;return(0,l.A)(function*(){n.storeService.isLoading.set(!0);const s=n.formGroup.controls.email.getRawValue(),r=n.formGroup.controls.password.getRawValue(),c=yield n.appService.authenticate(s,r);n.storeService.isLoading.set(!1),c&&n.router.navigate(["/home"])})()}static#e=this.\u0275fac=function(s){return new(s||t)(e.rXU(_.Ix),e.rXU(f.n),e.rXU(v.d))};static#t=this.\u0275cmp=e.VBU({type:t,selectors:[["app-login"]],standalone:!0,features:[e.aNF],decls:34,vars:30,consts:[[1,"text-center","text-primary","mb-4"],[1,"h2","fw-normal","mb-0"],[1,"h1","fw-bold","text-uppercase"],[1,"fw-normal","text-black"],[1,"d-flex","justify-content-center"],[1,"wrapper"],[3,"ngSubmit","formGroup"],[1,"mb-3"],["for","email",1,"form-label","text-start","w-100"],["type","email","id","email","formControlName","email",1,"form-control",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["for","password",1,"form-label","text-start","w-100"],["type","password","id","password","formControlName","password",1,"form-control",3,"ngClass"],[1,"text-end","mb-3"],["routerLink","/auth/forgot-password",1,""],[1,"text-center"],["type","submit",1,"btn","btn-primary","mb-3","px-5",3,"disabled"],[1,"px-4","d-block"],[1,"invalid-feedback"]],template:function(s,r){1&s&&(e.j41(0,"div",0)(1,"div",1),e.EFF(2),e.nI1(3,"translate"),e.k0s(),e.j41(4,"div",2),e.EFF(5),e.k0s(),e.j41(6,"div",3),e.EFF(7),e.nI1(8,"translate"),e.k0s()(),e.j41(9,"div",4)(10,"div",5)(11,"form",6),e.bIt("ngSubmit",function(){return r.onClickSubmit()}),e.j41(12,"div",7)(13,"label",8),e.EFF(14),e.nI1(15,"translate"),e.k0s(),e.nrm(16,"input",9),e.DNE(17,R,3,3,"div",10)(18,h,3,3,"div",10),e.k0s(),e.j41(19,"div",7)(20,"label",11),e.EFF(21),e.nI1(22,"translate"),e.k0s(),e.nrm(23,"input",12),e.DNE(24,g,3,3,"div",10),e.k0s(),e.j41(25,"div",13)(26,"a",14),e.EFF(27),e.nI1(28,"translate"),e.k0s()(),e.j41(29,"div",15)(30,"button",16)(31,"span",17),e.EFF(32),e.nI1(33,"translate"),e.k0s()()()()()()),2&s&&(e.R7$(2),e.JRh(e.bMT(3,14,"WELCOME_TO")),e.R7$(3),e.JRh(r.appName),e.R7$(2),e.JRh(e.bMT(8,16,"PROJECT_DESC")),e.R7$(4),e.Y8G("formGroup",r.formGroup),e.R7$(3),e.JRh(e.bMT(15,18,"EMAIL")),e.R7$(2),e.Y8G("ngClass",e.eq3(26,u,r.formGroup.controls.email.errors&&r.formGroup.controls.email.touched)),e.R7$(),e.Y8G("ngIf",r.formGroup.controls.email.hasError("required")),e.R7$(),e.Y8G("ngIf",r.formGroup.controls.email.hasError("email")),e.R7$(3),e.JRh(e.bMT(22,20,"PASSWORD")),e.R7$(2),e.Y8G("ngClass",e.eq3(28,u,r.formGroup.controls.password.errors&&r.formGroup.controls.password.touched)),e.R7$(),e.Y8G("ngIf",r.formGroup.controls.password.hasError("required")),e.R7$(3),e.JRh(e.bMT(28,22,"FORGOT_YOUR_PWD")),e.R7$(3),e.Y8G("disabled",!r.formGroup.valid),e.R7$(2),e.JRh(e.bMT(33,24,"SIGN_IN")))},dependencies:[o.YN,o.qT,o.me,o.BC,o.cb,o.X1,o.j4,o.JD,m.YU,m.bT,_.Wk,d.h,d.D9],styles:[".wrapper[_ngcontent-%COMP%]{max-width:350px;width:100%}"]})}return t})()}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/360.79ccdba96c0b194f.js b/angular18/dist/easy-angular/360.79ccdba96c0b194f.js new file mode 100644 index 0000000..4470289 --- /dev/null +++ b/angular18/dist/easy-angular/360.79ccdba96c0b194f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[360],{1360:(A,l,n)=>{n.r(l),n.d(l,{ValidateAccountComponent:()=>h});var i=n(467),c=n(177),r=n(9417),u=n(9664),m=n(2767),t=n(4438),d=n(4550),p=n(1315),v=n(6825);const f=s=>({"is-invalid":s});function E(s,g){1&s&&(t.j41(0,"div",11),t.EFF(1),t.nI1(2,"translate"),t.k0s()),2&s&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"FIELD_REQUIRED")," "))}let h=(()=>{class s{constructor(e,o,a,_){this.router=e,this.storeService=o,this.activatedRoute=a,this.appService=_,this.tokenFromUrl="",this.initFormGroup()}ngOnInit(){var e=this;return(0,i.A)(function*(){e.activatedRoute.queryParams.subscribe(o=>{e.tokenFromUrl=o.token,m.c.production||console.log("ValidateAccountComponent : ngOnInit -> Token : ",e.tokenFromUrl)})})()}initFormGroup(){this.formGroup=new r.gE({password:new r.MJ({value:"",disabled:!1},{validators:[r.k0.required],nonNullable:!0})})}onClickSubmit(){var e=this;return(0,i.A)(function*(){e.tokenFromUrl&&(yield e.validateNewAccount())})()}validateNewAccount(){var e=this;return(0,i.A)(function*(){e.storeService.isLoading.set(!0);const o=e.formGroup.controls.password.getRawValue(),a=yield e.appService.validateAccount(e.tokenFromUrl,o);e.storeService.isLoading.set(!1),a&&e.router.navigate(["/home"])})()}static#t=this.\u0275fac=function(o){return new(o||s)(t.rXU(d.Ix),t.rXU(p.n),t.rXU(d.nX),t.rXU(v.d))};static#e=this.\u0275cmp=t.VBU({type:s,selectors:[["app-validate-account"]],standalone:!0,features:[t.aNF],decls:17,vars:15,consts:[[1,"text-center","text-primary","mb-4"],[1,"h2","fw-normal","mb-0"],[1,"d-flex","justify-content-center"],[1,"wrapper"],[3,"ngSubmit","formGroup"],[1,"mb-3"],["for","password",1,"form-label","text-start","w-100"],["type","password","id","password","formControlName","password",1,"form-control",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],[1,"text-center"],["type","submit",1,"btn","btn-primary","px-5",3,"disabled"],[1,"invalid-feedback"]],template:function(o,a){1&o&&(t.j41(0,"div",0)(1,"div",1),t.EFF(2),t.nI1(3,"translate"),t.k0s()(),t.j41(4,"div",2)(5,"div",3)(6,"form",4),t.bIt("ngSubmit",function(){return a.onClickSubmit()}),t.j41(7,"div",5)(8,"label",6),t.EFF(9),t.nI1(10,"translate"),t.k0s(),t.nrm(11,"input",7),t.DNE(12,E,3,3,"div",8),t.k0s(),t.j41(13,"div",9)(14,"button",10),t.EFF(15),t.nI1(16,"translate"),t.k0s()()()()()),2&o&&(t.R7$(2),t.JRh(t.bMT(3,7,"VALIDATE_ACCOUNT")),t.R7$(4),t.Y8G("formGroup",a.formGroup),t.R7$(3),t.JRh(t.bMT(10,9,"PASSWORD")),t.R7$(2),t.Y8G("ngClass",t.eq3(13,f,a.formGroup.controls.password.errors&&a.formGroup.controls.password.touched)),t.R7$(),t.Y8G("ngIf",a.formGroup.controls.password.hasError("required")),t.R7$(2),t.Y8G("disabled",!a.formGroup.valid),t.R7$(),t.SpI(" ",t.bMT(16,11,"VALIDATE")," "))},dependencies:[r.YN,r.qT,r.me,r.BC,r.cb,r.X1,r.j4,r.JD,c.YU,c.bT,u.h,u.D9],styles:[".wrapper[_ngcontent-%COMP%]{max-width:350px;width:100%}"]})}return s})()}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/3rdpartylicenses.txt b/angular18/dist/easy-angular/3rdpartylicenses.txt new file mode 100644 index 0000000..000d8a8 --- /dev/null +++ b/angular18/dist/easy-angular/3rdpartylicenses.txt @@ -0,0 +1,382 @@ +@angular/animations +MIT + +@angular/common +MIT + +@angular/core +MIT + +@angular/forms +MIT + +@angular/localize +MIT + +@angular/platform-browser +MIT + +@angular/router +MIT + +@babel/runtime +MIT +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@ng-bootstrap/ng-bootstrap +MIT +The MIT License (MIT) + +Copyright (c) 2015-2018 Angular ng-bootstrap team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@ngx-translate/core +SEE LICENSE IN LICENSE + +@ngx-translate/http-loader +SEE LICENSE IN LICENSE + +@popperjs/core +MIT +The MIT License (MIT) + +Copyright (c) 2019 Federico Zivolo + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +angular-svg-icon +MIT +The MIT License (MIT) + +Copyright (c) 2024 David Czeck. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +axios +MIT +# Copyright (c) 2014-present Matt Zabriskie & Collaborators + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +rxjs +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed 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. + + + +tslib +0BSD +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +zone.js +MIT +The MIT License + +Copyright (c) 2010-2023 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/angular18/dist/easy-angular/554.fe6f98c9adf2f1d9.js b/angular18/dist/easy-angular/554.fe6f98c9adf2f1d9.js new file mode 100644 index 0000000..72f3f8b --- /dev/null +++ b/angular18/dist/easy-angular/554.fe6f98c9adf2f1d9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[554],{5554:(F,c,r)=>{r.r(c),r.d(c,{HomeComponent:()=>L});var p=r(177),i=r(9664),n=r(4438);function g(t,d){1&t&&(n.j41(0,"div",5),n.EFF(1),n.nI1(2,"translate"),n.k0s()),2&t&&(n.R7$(),n.SpI("",n.bMT(2,1,"LOADING"),"..."))}let u=(()=>{class t{constructor(){this.withLabel=!1}ngOnInit(){}static#n=this.\u0275fac=function(e){return new(e||t)};static#t=this.\u0275cmp=n.VBU({type:t,selectors:[["app-progress-bar"]],inputs:{withLabel:"withLabel"},standalone:!0,features:[n.aNF],decls:5,vars:1,consts:[[1,"slider"],[1,"line"],[1,"subline","inc"],[1,"subline","dec"],["class","text-center my-3",4,"ngIf"],[1,"text-center","my-3"]],template:function(e,o){1&e&&(n.j41(0,"div",0),n.nrm(1,"div",1)(2,"div",2)(3,"div",3),n.k0s(),n.DNE(4,g,3,3,"div",4)),2&e&&(n.R7$(4),n.Y8G("ngIf",o.withLabel))},dependencies:[p.bT,i.h,i.D9],styles:[".slider[_ngcontent-%COMP%]{position:relative;width:100%;height:5px;overflow-x:hidden}.slider[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{position:absolute;opacity:.4;background:#4a8df8;width:150%;height:5px}.slider[_ngcontent-%COMP%] .subline[_ngcontent-%COMP%]{position:absolute;background:#4a8df8;height:5px}.slider[_ngcontent-%COMP%] .subline.inc[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_increase 2s infinite}.slider[_ngcontent-%COMP%] .subline.dec[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_decrease 2s .5s infinite}@keyframes _ngcontent-%COMP%_increase{0%{left:-5%;width:5%}to{left:130%;width:100%}}@keyframes _ngcontent-%COMP%_decrease{0%{left:-80%;width:80%}to{left:110%;width:10%}}"]})}return t})();var m=r(467),l=r(4550),s=r(2128),b=r(2767);const v=["*"],f=()=>["/dashboard"],C=()=>["/home"],h=()=>["active"];let y=(()=>{class t{constructor(a){this.router=a,this.appName=b.c.appName,this.isMenuCollapsed=!0}ngOnInit(){}onClickLogout(){var a=this;return(0,m.A)(function*(){a.router.navigate(["/auth/login"])})()}static#n=this.\u0275fac=function(e){return new(e||t)(n.rXU(l.Ix))};static#t=this.\u0275cmp=n.VBU({type:t,selectors:[["app-layout-header"]],standalone:!0,features:[n.aNF],ngContentSelectors:v,decls:23,vars:18,consts:[[1,"navbar","navbar-expand-lg","navbar-light","bg-light"],[1,"container-fluid"],[1,"navbar-brand",3,"routerLink"],["src","./assets/img/project/logo.svg",1,"img-fluid","me-2",3,"alt"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse",3,"ngbCollapse"],[1,"navbar-nav","mb-2","mb-lg-0","w-100"],[1,"nav-item"],[1,"nav-link",3,"routerLink","routerLinkActive"],["ngbDropdown","",1,"nav-item","dropdown"],["ngbDropdownToggle","","id","navbarDropdown","role","button","data-bs-toggle","dropdown","aria-expanded","false",1,"nav-link","dropdown-toggle"],["ngbDropdownMenu","","aria-labelledby","navbarDropdown",1,"dropdown-menu","dropdown-menu-end"],[1,"dropdown-item","cursor-pointer",3,"click"]],template:function(e,o){1&e&&(n.NAR(),n.j41(0,"nav",0)(1,"div",1)(2,"a",2),n.nrm(3,"img",3),n.EFF(4),n.k0s(),n.j41(5,"button",4),n.bIt("click",function(){return o.isMenuCollapsed=!o.isMenuCollapsed}),n.nrm(6,"span",5),n.k0s(),n.j41(7,"div",6)(8,"ul",7)(9,"li",8)(10,"a",9),n.EFF(11),n.nI1(12,"translate"),n.k0s()(),n.j41(13,"li",10)(14,"a",11),n.EFF(15),n.nI1(16,"translate"),n.k0s(),n.j41(17,"ul",12)(18,"li")(19,"a",13),n.bIt("click",function(){return o.onClickLogout()}),n.EFF(20),n.nI1(21,"translate"),n.k0s()()()()()()()(),n.SdG(22)),2&e&&(n.R7$(2),n.Y8G("routerLink",n.lJ4(15,f)),n.R7$(),n.Y8G("alt",o.appName+" Logo"),n.R7$(),n.SpI(" ",o.appName," "),n.R7$(3),n.Y8G("ngbCollapse",o.isMenuCollapsed),n.R7$(3),n.Y8G("routerLink",n.lJ4(16,C))("routerLinkActive",n.lJ4(17,h)),n.R7$(),n.JRh(n.bMT(12,9,"HOME")),n.R7$(4),n.SpI(" ",n.bMT(16,11,"USER")," "),n.R7$(5),n.JRh(n.bMT(21,13,"LOGOUT")))},dependencies:[l.Wk,s.$G,l.wQ,s.tg,s.do,s.U0,i.h,i.D9],styles:[".navbar-brand[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:38px;display:inline-block;vertical-align:middle}.navbar-brand[_ngcontent-%COMP%] .title-wrapper[_ngcontent-%COMP%]{vertical-align:middle;display:inline-block;border-left:1px solid #adadad;padding-left:15px;margin-left:15px}.navbar-brand[_ngcontent-%COMP%] .title-wrapper[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block}.navbar-brand[_ngcontent-%COMP%] .title-wrapper[_ngcontent-%COMP%] span.subtitle[_ngcontent-%COMP%]{font-size:71%}"]})}return t})();const M=["*"];let O=(()=>{class t{constructor(){}ngOnInit(){}static#n=this.\u0275fac=function(e){return new(e||t)};static#t=this.\u0275cmp=n.VBU({type:t,selectors:[["app-page-layout"]],standalone:!0,features:[n.aNF],ngContentSelectors:M,decls:2,vars:0,template:function(e,o){1&e&&(n.NAR(),n.j41(0,"app-layout-header"),n.SdG(1),n.k0s())},dependencies:[y]})}return t})();var k=r(1315);function P(t,d){1&t&&n.nrm(0,"app-progress-bar")}function w(t,d){1&t&&(n.qex(0),n.j41(1,"div",2),n.EFF(2," Let's start the project! "),n.k0s(),n.bVm())}let L=(()=>{class t{constructor(a){this.storeService=a}ngOnInit(){setTimeout(a=>{this.storeService.isLoading.set(!1)},2e3)}static#n=this.\u0275fac=function(e){return new(e||t)(n.rXU(k.n))};static#t=this.\u0275cmp=n.VBU({type:t,selectors:[["app-home"]],standalone:!0,features:[n.aNF],decls:4,vars:2,consts:[[1,"container","my-3"],[4,"ngIf"],[1,"text-center"]],template:function(e,o){1&e&&(n.j41(0,"app-page-layout")(1,"div",0),n.DNE(2,P,1,0,"app-progress-bar",1)(3,w,3,0,"ng-container",1),n.k0s()()),2&e&&(n.R7$(2),n.Y8G("ngIf",o.storeService.isLoading()),n.R7$(),n.Y8G("ngIf",!o.storeService.isLoading()))},dependencies:[O,p.bT,u]})}return t})()}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/794.90c743b5e538e5a8.js b/angular18/dist/easy-angular/794.90c743b5e538e5a8.js new file mode 100644 index 0000000..809749e --- /dev/null +++ b/angular18/dist/easy-angular/794.90c743b5e538e5a8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[794],{9794:(d,t,n)=>{n.r(t),n.d(t,{routes:()=>h});const h=[{path:"",children:[{path:"",redirectTo:"login",pathMatch:"full"},{path:"login",loadComponent:()=>n.e(290).then(n.bind(n,6290)).then(o=>o.LoginComponent)},{path:"forgot-password",loadComponent:()=>n.e(142).then(n.bind(n,3142)).then(o=>o.ForgotPasswordComponent)},{path:"validate-account",loadComponent:()=>n.e(360).then(n.bind(n,1360)).then(o=>o.ValidateAccountComponent)}]}]}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/887.22d3d6e5f1b4ba0b.js b/angular18/dist/easy-angular/887.22d3d6e5f1b4ba0b.js new file mode 100644 index 0000000..e3bd127 --- /dev/null +++ b/angular18/dist/easy-angular/887.22d3d6e5f1b4ba0b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[887],{8887:(l,a,t)=>{t.r(a),t.d(a,{NotFoundComponent:()=>u});var r=t(4550),s=t(9664),n=t(4438);let u=(()=>{class o{constructor(){}static#n=this.\u0275fac=function(e){return new(e||o)};static#t=this.\u0275cmp=n.VBU({type:o,selectors:[["app-not-found"]],standalone:!0,features:[n.aNF],decls:8,vars:6,consts:[[1,"not-found-container"],[1,"not-found","text-center"],[1,"mb-3"],["routerLink","/home",1,"btn","btn-lg","btn-primary"]],template:function(e,i){1&e&&(n.j41(0,"div",0)(1,"div",1)(2,"h1",2),n.EFF(3),n.nI1(4,"translate"),n.k0s(),n.j41(5,"a",3),n.EFF(6),n.nI1(7,"translate"),n.k0s()()()),2&e&&(n.R7$(3),n.JRh(n.bMT(4,2,"NOT_FOUND")),n.R7$(3),n.SpI(" ",n.bMT(7,4,"GO_TO_HOMEPAGE")," "))},dependencies:[r.Wk,s.h,s.D9],styles:[".not-found-container[_ngcontent-%COMP%]{display:flex;align-items:center;min-height:100vh;position:relative}.not-found-container[_ngcontent-%COMP%] .not-found[_ngcontent-%COMP%]{width:100%}"]})}return o})()}}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/assets/i18n/en.json b/angular18/dist/easy-angular/assets/i18n/en.json new file mode 100644 index 0000000..c6b6d92 --- /dev/null +++ b/angular18/dist/easy-angular/assets/i18n/en.json @@ -0,0 +1,24 @@ +{ + "NOT_FOUND" : "404 - Page not found", + "GO_TO_HOMEPAGE" : "Go to homepage", + "WELCOME_TO" : "Welcome to", + "PROJECT_DESC" : "A Centurio boilerplate solution", + "SIGN_IN" : "Sign in", + "LOGOUT" : "Logout", + "HOME" : "Home", + "VERSION" : "Version", + "USER" : "User", + "EMAIL" : "E-mail", + "FORGOT_YOUR_PWD" : "Forgot your password?", + "BACK_TO_LOGIN" : "Back to login", + "VALIDATE_ACCOUNT" : "Validate the account", + "VALIDATE" : "Validate", + "PASSWORD" : "Password", + "LOADING" : "Loading", + "CLOSE" : "Close", + "DELETE" : "Delete", + "ALERT_DELETE_ENTRY" : "Are you sure you want to delete this entry?", + "RESET_PASSWORD" : "Reset password", + "FIELD_REQUIRED" : "This field is required", + "FIELD_EMAIL" : "This field must be an email" +} diff --git a/angular18/dist/easy-angular/assets/img/favicon/android-chrome-192x192.png b/angular18/dist/easy-angular/assets/img/favicon/android-chrome-192x192.png new file mode 100644 index 0000000..a9cf199 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/android-chrome-192x192.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/android-chrome-512x512.png b/angular18/dist/easy-angular/assets/img/favicon/android-chrome-512x512.png new file mode 100644 index 0000000..400192c Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/android-chrome-512x512.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/apple-touch-icon.png b/angular18/dist/easy-angular/assets/img/favicon/apple-touch-icon.png new file mode 100644 index 0000000..7f2d5bc Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/apple-touch-icon.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/browserconfig.xml b/angular18/dist/easy-angular/assets/img/favicon/browserconfig.xml new file mode 100644 index 0000000..c0e4413 --- /dev/null +++ b/angular18/dist/easy-angular/assets/img/favicon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2d89ef + + + diff --git a/angular18/dist/easy-angular/assets/img/favicon/favicon-16x16.png b/angular18/dist/easy-angular/assets/img/favicon/favicon-16x16.png new file mode 100644 index 0000000..f75da1d Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/favicon-16x16.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/favicon-32x32.png b/angular18/dist/easy-angular/assets/img/favicon/favicon-32x32.png new file mode 100644 index 0000000..323ddc8 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/favicon-32x32.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/favicon.ico b/angular18/dist/easy-angular/assets/img/favicon/favicon.ico new file mode 100644 index 0000000..c57de9e Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/favicon.ico differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/manifest.json b/angular18/dist/easy-angular/assets/img/favicon/manifest.json new file mode 100644 index 0000000..314cace --- /dev/null +++ b/angular18/dist/easy-angular/assets/img/favicon/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "EasyAngular", + "short_name": "EasyAngular", + "theme_color": "#2b46c7", + "background_color": "#2b46c7", + "display": "standalone", + "scope": "/", + "start_url": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/angular18/dist/easy-angular/assets/img/favicon/mstile-144x144.png b/angular18/dist/easy-angular/assets/img/favicon/mstile-144x144.png new file mode 100644 index 0000000..ce82d77 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/mstile-144x144.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/mstile-150x150.png b/angular18/dist/easy-angular/assets/img/favicon/mstile-150x150.png new file mode 100644 index 0000000..fff6ee9 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/mstile-150x150.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/mstile-310x150.png b/angular18/dist/easy-angular/assets/img/favicon/mstile-310x150.png new file mode 100644 index 0000000..ad49dc1 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/mstile-310x150.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/mstile-310x310.png b/angular18/dist/easy-angular/assets/img/favicon/mstile-310x310.png new file mode 100644 index 0000000..a0a4d6a Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/mstile-310x310.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/mstile-70x70.png b/angular18/dist/easy-angular/assets/img/favicon/mstile-70x70.png new file mode 100644 index 0000000..1bfe18f Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/favicon/mstile-70x70.png differ diff --git a/angular18/dist/easy-angular/assets/img/favicon/safari-pinned-tab.svg b/angular18/dist/easy-angular/assets/img/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..e0d3884 --- /dev/null +++ b/angular18/dist/easy-angular/assets/img/favicon/safari-pinned-tab.svg @@ -0,0 +1,44 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + diff --git a/angular18/dist/easy-angular/assets/img/project/folder-structure.png b/angular18/dist/easy-angular/assets/img/project/folder-structure.png new file mode 100644 index 0000000..96296e5 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/project/folder-structure.png differ diff --git a/angular18/dist/easy-angular/assets/img/project/login.png b/angular18/dist/easy-angular/assets/img/project/login.png new file mode 100644 index 0000000..17bc0e8 Binary files /dev/null and b/angular18/dist/easy-angular/assets/img/project/login.png differ diff --git a/angular18/dist/easy-angular/assets/img/project/logo.svg b/angular18/dist/easy-angular/assets/img/project/logo.svg new file mode 100644 index 0000000..1b67524 --- /dev/null +++ b/angular18/dist/easy-angular/assets/img/project/logo.svg @@ -0,0 +1,7 @@ +Layer 1 \ No newline at end of file diff --git a/angular18/dist/easy-angular/assets/scss/project.scss b/angular18/dist/easy-angular/assets/scss/project.scss new file mode 100644 index 0000000..cfeeabf --- /dev/null +++ b/angular18/dist/easy-angular/assets/scss/project.scss @@ -0,0 +1,48 @@ +// ---------------------------------------------------------------------------------------------- +// NOTE Browser style : Reset --------------------------------------------------------- Overwrite +// ---------------------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Project --------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Link + +// NOTE Scrollbar + +// NOTE Sortable table -------------------------------------------------------------------------- + +// NOTE Icons ----------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap --------------------------------------------------------------------- Overwrite +// ---------------------------------------------------------------------------------------------- + +// NOTE Pagination ------------------------------------------------------------------------------ + +// NOTE Button ---------------------------------------------------------------------------------- + +// NOTE Modal ----------------------------------------------------------------------------------- + +// NOTE Toast ----------------------------------------------------------------------------------- + +.toast-header { + background-color: transparent; +} +.toast-body { + background-color: rgba(255, 255, 255, 0.85); +} + +// NOTE Nav ------------------------------------------------------------------------------------- + +// NOTE Table ----------------------------------------------------------------------------------- + +// NOTE Select ---------------------------------------------------------------------------------- + +// NOTE Form ------------------------------------------------------------------------------------ + +// Checkbox + +// Radio + +// NOTE Sortable table -------------------------------------------------------------------------- diff --git a/angular18/dist/easy-angular/assets/scss/styles.scss b/angular18/dist/easy-angular/assets/scss/styles.scss new file mode 100644 index 0000000..628d529 --- /dev/null +++ b/angular18/dist/easy-angular/assets/scss/styles.scss @@ -0,0 +1,80 @@ +// ---------------------------------------------------------------------------------------------- +// NOTE Variables ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +@import 'variables.scss'; + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Complete bootstrap +@import '../../../node_modules/bootstrap/scss/bootstrap.scss'; + +// NOTE Bootstrap configuration +// @import '../../../node_modules/bootstrap/scss/functions'; +// @import '../../../node_modules/bootstrap/scss/variables'; +// @import '../../../node_modules/bootstrap/scss/mixins'; + +// // NOTE Merge maps +// $theme-colors: map-merge($theme-colors, $custom-colors); + +// @import '../../../node_modules/bootstrap/scss/utilities'; + +// // NOTE Bootstrap layout & components +// @import '../../../node_modules/bootstrap/scss/root'; +// @import '../../../node_modules/bootstrap/scss/reboot'; +// @import '../../../node_modules/bootstrap/scss/type'; +// // @import '../../../node_modules/bootstrap/scss/images'; +// @import '../../../node_modules/bootstrap/scss/containers'; +// @import '../../../node_modules/bootstrap/scss/grid'; +// @import '../../../node_modules/bootstrap/scss/tables'; +// @import '../../../node_modules/bootstrap/scss/forms'; +// @import '../../../node_modules/bootstrap/scss/buttons'; +// @import '../../../node_modules/bootstrap/scss/transitions'; +// @import '../../../node_modules/bootstrap/scss/dropdown'; +// // @import '../../../node_modules/bootstrap/scss/button-group'; +// @import '../../../node_modules/bootstrap/scss/nav'; +// @import '../../../node_modules/bootstrap/scss/navbar'; +// @import '../../../node_modules/bootstrap/scss/card'; +// // @import '../../../node_modules/bootstrap/scss/accordion'; +// // @import '../../../node_modules/bootstrap/scss/breadcrumb'; +// // @import '../../../node_modules/bootstrap/scss/pagination'; +// @import '../../../node_modules/bootstrap/scss/badge'; +// // @import '../../../node_modules/bootstrap/scss/alert'; +// // @import '../../../node_modules/bootstrap/scss/progress'; +// // @import '../../../node_modules/bootstrap/scss/list-group'; +// // @import '../../../node_modules/bootstrap/scss/close'; +// @import '../../../node_modules/bootstrap/scss/toasts'; +// @import '../../../node_modules/bootstrap/scss/modal'; +// @import '../../../node_modules/bootstrap/scss/tooltip'; +// @import '../../../node_modules/bootstrap/scss/popover'; +// // @import '../../../node_modules/bootstrap/scss/carousel'; +// @import '../../../node_modules/bootstrap/scss/spinners'; +// // @import '../../../node_modules/bootstrap/scss/offcanvas'; + +// // NOTE Boostrap helpers +// @import '../../../node_modules/bootstrap/scss/helpers'; + +// // NOTE Boostrap utilities +// @import '../../../node_modules/bootstrap/scss/utilities/api'; + +// ---------------------------------------------------------------------------------------------- +// NOTE External components --------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// $roboto-font-path: "../../../node_modules/roboto-fontface/fonts" !default; +// @import "../../../node_modules/roboto-fontface/css/roboto/sass/roboto-fontface"; +// @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;700&display=swap'); + +// ---------------------------------------------------------------------------------------------- +// NOTE Project style --------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +@import 'project.scss'; + +// ---------------------------------------------------------------------------------------------- +// NOTE Overwrite styles ------------------------------------------------------------------------ +// ---------------------------------------------------------------------------------------------- + +// @import 'modules/_bootstrap.scss'; diff --git a/angular18/dist/easy-angular/assets/scss/variables.scss b/angular18/dist/easy-angular/assets/scss/variables.scss new file mode 100644 index 0000000..a8c075c --- /dev/null +++ b/angular18/dist/easy-angular/assets/scss/variables.scss @@ -0,0 +1,66 @@ +// ---------------------------------------------------------------------------------------------- +// SECTION Variables ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Project --------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Colors ---------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Utilities ------------------------------------------------------------------------------- + +$utilities: ( + "cursor": ( + property: cursor, + class: cursor, + responsive: false, + values: pointer, + ) +); + +// NOTE Color system ---------------------------------------------------------------------------- + +// $primary: #375F9B; +$secondary: #8492A6; +$text-muted: #ACA7AA; +$info: #375F9B; // #3C78DA; +$danger: #D0021B; +$success: #12a366; +$min-contrast-ratio: 2.5; + +// NOTE Body ------------------------------------------------------------------------------------ + +// NOTE Grid ------------------------------------------------------------------------------------ + +// NOTE Borders --------------------------------------------------------------------------------- + +// NOTE Typography ----------------------------------------------------------------------------- + +// NOTE Links ----------------------------------------------------------------------------------- +// NOTE Badges ---------------------------------------------------------------------------------- +// NOTE Buttons --------------------------------------------------------------------------------- + +$btn-close-color: white; + +// NOTE Navbar ---------------------------------------------------------------------------------- +// NOTE Navs ------------------------------------------------------------------------------------ + +// NOTE Modal ----------------------------------------------------------------------------------- + +// NOTE Dropdowns ------------------------------------------------------------------------------- +// NOTE Cards ----------------------------------------------------------------------------------- + +// NOTE List group ------------------------------------------------------------------------------ +// NOTE Pagination ------------------------------------------------------------------------------ +// NOTE Popovers -------------------------------------------------------------------------------- +// NOTE Typography ------------------------------------------------------------------------------ +// NOTE Forms ----------------------------------------------------------------------------------- + +// NOTE Tables ---------------------------------------------------------------------------------- + +// !SECTION Variables diff --git a/angular18/dist/easy-angular/index.html b/angular18/dist/easy-angular/index.html new file mode 100644 index 0000000..c79b9a5 --- /dev/null +++ b/angular18/dist/easy-angular/index.html @@ -0,0 +1,25 @@ + + + + + EasyAngular + + + + + + + + + + + + + + + + + + + + diff --git a/angular18/dist/easy-angular/main.15a24a4830eefcc2.js b/angular18/dist/easy-angular/main.15a24a4830eefcc2.js new file mode 100644 index 0000000..d36b952 --- /dev/null +++ b/angular18/dist/easy-angular/main.15a24a4830eefcc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[792],{2840:(yt,Se,x)=>{x.d(Se,{t:()=>ge});var o=x(4438);class S{constructor(X,le,Ne=!1){this.withHeader=!0,this.body=X,this.type=le??"danger",this.autoHide=Ne,this.delay=1e4,this.headerKey=this.type.toUpperCase()}}let ge=(()=>{class ce{constructor(){this.toasts=[],this.counter=0}show(le){le.id=this.counter++,this.toasts.push(le)}quickShow(le,Ne,Pe=!1){const Ie=new S(le,Ne,Pe);this.show(Ie)}remove(le){this.toasts=this.toasts.filter(Ne=>Ne.id!==le)}static#e=this.\u0275fac=function(Ne){return new(Ne||ce)};static#t=this.\u0275prov=o.jDH({token:ce,factory:ce.\u0275fac,providedIn:"root"})}return ce})()},6825:(yt,Se,x)=>{x.d(Se,{d:()=>Bi});var o={};x.r(o),x.d(o,{hasBrowserEnv:()=>qe,hasStandardBrowserEnv:()=>Zt,hasStandardBrowserWebWorkerEnv:()=>pn});var S=x(467);function ge(F,B){return function(){return F.apply(B,arguments)}}const{toString:ce}=Object.prototype,{getPrototypeOf:X}=Object,le=(F=>B=>{const z=ce.call(B);return F[z]||(F[z]=z.slice(8,-1).toLowerCase())})(Object.create(null)),Ne=F=>(F=F.toLowerCase(),B=>le(B)===F),Pe=F=>B=>typeof B===F,{isArray:Ie}=Array,Ae=Pe("undefined"),Be=Ne("ArrayBuffer"),He=Pe("string"),We=Pe("function"),St=Pe("number"),jt=F=>null!==F&&"object"==typeof F,Kt=F=>{if("object"!==le(F))return!1;const B=X(F);return!(null!==B&&B!==Object.prototype&&null!==Object.getPrototypeOf(B)||Symbol.toStringTag in F||Symbol.iterator in F)},Nn=Ne("Date"),Ge=Ne("File"),$e=Ne("Blob"),st=Ne("FileList"),it=Ne("URLSearchParams");function Et(F,B,{allOwnKeys:z=!1}={}){if(null===F||typeof F>"u")return;let $,de;if("object"!=typeof F&&(F=[F]),Ie(F))for($=0,de=F.length;$0;)if(de=z[$],B===de.toLowerCase())return de;return null}const Qt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Wn=F=>!Ae(F)&&F!==Qt,U=(F=>B=>F&&B instanceof F)(typeof Uint8Array<"u"&&X(Uint8Array)),Le=Ne("HTMLFormElement"),vn=(({hasOwnProperty:F})=>(B,z)=>F.call(B,z))(Object.prototype),gt=Ne("RegExp"),fn=(F,B)=>{const z=Object.getOwnPropertyDescriptors(F),$={};Et(z,(de,ye)=>{let _e;!1!==(_e=B(de,ye,F))&&($[ye]=_e||de)}),Object.defineProperties(F,$)},bt="abcdefghijklmnopqrstuvwxyz",mn="0123456789",yi={DIGIT:mn,ALPHA:bt,ALPHA_DIGIT:bt+bt.toUpperCase()+mn},pi=Ne("AsyncFunction"),xe={isArray:Ie,isArrayBuffer:Be,isBuffer:function Me(F){return null!==F&&!Ae(F)&&null!==F.constructor&&!Ae(F.constructor)&&We(F.constructor.isBuffer)&&F.constructor.isBuffer(F)},isFormData:F=>{let B;return F&&("function"==typeof FormData&&F instanceof FormData||We(F.append)&&("formdata"===(B=le(F))||"object"===B&&We(F.toString)&&"[object FormData]"===F.toString()))},isArrayBufferView:function ct(F){let B;return B=typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(F):F&&F.buffer&&Be(F.buffer),B},isString:He,isNumber:St,isBoolean:F=>!0===F||!1===F,isObject:jt,isPlainObject:Kt,isUndefined:Ae,isDate:Nn,isFile:Ge,isBlob:$e,isRegExp:gt,isFunction:We,isStream:F=>jt(F)&&We(F.pipe),isURLSearchParams:it,isTypedArray:U,isFileList:st,forEach:Et,merge:function Cn(){const{caseless:F}=Wn(this)&&this||{},B={},z=($,de)=>{const ye=F&&$t(B,de)||de;B[ye]=Kt(B[ye])&&Kt($)?Cn(B[ye],$):Kt($)?Cn({},$):Ie($)?$.slice():$};for(let $=0,de=arguments.length;$(Et(B,(de,ye)=>{F[ye]=z&&We(de)?ge(de,z):de},{allOwnKeys:$}),F),trim:F=>F.trim?F.trim():F.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:F=>(65279===F.charCodeAt(0)&&(F=F.slice(1)),F),inherits:(F,B,z,$)=>{F.prototype=Object.create(B.prototype,$),F.prototype.constructor=F,Object.defineProperty(F,"super",{value:B.prototype}),z&&Object.assign(F.prototype,z)},toFlatObject:(F,B,z,$)=>{let de,ye,_e;const tt={};if(B=B||{},null==F)return B;do{for(de=Object.getOwnPropertyNames(F),ye=de.length;ye-- >0;)_e=de[ye],(!$||$(_e,F,B))&&!tt[_e]&&(B[_e]=F[_e],tt[_e]=!0);F=!1!==z&&X(F)}while(F&&(!z||z(F,B))&&F!==Object.prototype);return B},kindOf:le,kindOfTest:Ne,endsWith:(F,B,z)=>{F=String(F),(void 0===z||z>F.length)&&(z=F.length);const $=F.indexOf(B,z-=B.length);return-1!==$&&$===z},toArray:F=>{if(!F)return null;if(Ie(F))return F;let B=F.length;if(!St(B))return null;const z=new Array(B);for(;B-- >0;)z[B]=F[B];return z},forEachEntry:(F,B)=>{const $=(F&&F[Symbol.iterator]).call(F);let de;for(;(de=$.next())&&!de.done;){const ye=de.value;B.call(F,ye[0],ye[1])}},matchAll:(F,B)=>{let z;const $=[];for(;null!==(z=F.exec(B));)$.push(z);return $},isHTMLForm:Le,hasOwnProperty:vn,hasOwnProp:vn,reduceDescriptors:fn,freezeMethods:F=>{fn(F,(B,z)=>{if(We(F)&&-1!==["arguments","caller","callee"].indexOf(z))return!1;if(We(F[z])){if(B.enumerable=!1,"writable"in B)return void(B.writable=!1);B.set||(B.set=()=>{throw Error("Can not rewrite read-only method '"+z+"'")})}})},toObjectSet:(F,B)=>{const z={},$=de=>{de.forEach(ye=>{z[ye]=!0})};return Ie(F)?$(F):$(String(F).split(B)),z},toCamelCase:F=>F.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(z,$,de){return $.toUpperCase()+de}),noop:()=>{},toFiniteNumber:(F,B)=>(F=+F,Number.isFinite(F)?F:B),findKey:$t,global:Qt,isContextDefined:Wn,ALPHABET:yi,generateString:(F=16,B=yi.ALPHA_DIGIT)=>{let z="";const{length:$}=B;for(;F--;)z+=B[Math.random()*$|0];return z},isSpecCompliantForm:function Ri(F){return!!(F&&We(F.append)&&"FormData"===F[Symbol.toStringTag]&&F[Symbol.iterator])},toJSONObject:F=>{const B=new Array(10),z=($,de)=>{if(jt($)){if(B.indexOf($)>=0)return;if(!("toJSON"in $)){B[de]=$;const ye=Ie($)?[]:{};return Et($,(_e,tt)=>{const Yt=z(_e,de+1);!Ae(Yt)&&(ye[tt]=Yt)}),B[de]=void 0,ye}}return $};return z(F,0)},isAsyncFn:pi,isThenable:F=>F&&(jt(F)||We(F))&&We(F.then)&&We(F.catch)};function bi(F,B,z,$,de){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=F,this.name="AxiosError",B&&(this.code=B),z&&(this.config=z),$&&(this.request=$),de&&(this.response=de)}xe.inherits(bi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:xe.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Ht=bi.prototype,on={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(F=>{on[F]={value:F}}),Object.defineProperties(bi,on),Object.defineProperty(Ht,"isAxiosError",{value:!0}),bi.from=(F,B,z,$,de,ye)=>{const _e=Object.create(Ht);return xe.toFlatObject(F,_e,function(Yt){return Yt!==Error.prototype},tt=>"isAxiosError"!==tt),bi.call(_e,F.message,B,z,$,de),_e.cause=F,_e.name=F.name,ye&&Object.assign(_e,ye),_e};const hn=bi;function Xi(F){return xe.isPlainObject(F)||xe.isArray(F)}function Mr(F){return xe.endsWith(F,"[]")?F.slice(0,-2):F}function gi(F,B,z){return F?F.concat(B).map(function(de,ye){return de=Mr(de),!z&&ye?"["+de+"]":de}).join(z?".":""):B}const Rt=xe.toFlatObject(xe,{},null,function(B){return/^is[A-Z]/.test(B)}),zt=function $r(F,B,z){if(!xe.isObject(F))throw new TypeError("target must be an object");B=B||new FormData;const $=(z=xe.toFlatObject(z,{metaTokens:!0,dots:!1,indexes:!1},!1,function(Ft,Jn){return!xe.isUndefined(Jn[Ft])})).metaTokens,de=z.visitor||Ot,ye=z.dots,_e=z.indexes,Yt=(z.Blob||typeof Blob<"u"&&Blob)&&xe.isSpecCompliantForm(B);if(!xe.isFunction(de))throw new TypeError("visitor must be a function");function qt(Gt){if(null===Gt)return"";if(xe.isDate(Gt))return Gt.toISOString();if(!Yt&&xe.isBlob(Gt))throw new hn("Blob is not supported. Use a Buffer instead.");return xe.isArrayBuffer(Gt)||xe.isTypedArray(Gt)?Yt&&"function"==typeof Blob?new Blob([Gt]):Buffer.from(Gt):Gt}function Ot(Gt,Ft,Jn){let xn=Gt;if(Gt&&!Jn&&"object"==typeof Gt)if(xe.endsWith(Ft,"{}"))Ft=$?Ft:Ft.slice(0,-2),Gt=JSON.stringify(Gt);else if(xe.isArray(Gt)&&function Pi(F){return xe.isArray(F)&&!F.some(Xi)}(Gt)||(xe.isFileList(Gt)||xe.endsWith(Ft,"[]"))&&(xn=xe.toArray(Gt)))return Ft=Mr(Ft),xn.forEach(function(Vi,or){!xe.isUndefined(Vi)&&null!==Vi&&B.append(!0===_e?gi([Ft],or,ye):null===_e?Ft:Ft+"[]",qt(Vi))}),!1;return!!Xi(Gt)||(B.append(gi(Jn,Ft,ye),qt(Gt)),!1)}const et=[],ui=Object.assign(Rt,{defaultVisitor:Ot,convertValue:qt,isVisitable:Xi});if(!xe.isObject(F))throw new TypeError("data must be an object");return function di(Gt,Ft){if(!xe.isUndefined(Gt)){if(-1!==et.indexOf(Gt))throw Error("Circular reference detected in "+Ft.join("."));et.push(Gt),xe.forEach(Gt,function(xn,qi){!0===(!(xe.isUndefined(xn)||null===xn)&&de.call(B,xn,xe.isString(qi)?qi.trim():qi,Ft,ui))&&di(xn,Ft?Ft.concat(qi):[qi])}),et.pop()}}(F),B};function ut(F){const B={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(F).replace(/[!'()~]|%20|%00/g,function($){return B[$]})}function Wi(F,B){this._pairs=[],F&&zt(F,this,B)}const rn=Wi.prototype;rn.append=function(B,z){this._pairs.push([B,z])},rn.toString=function(B){const z=B?function($){return B.call(this,$,ut)}:ut;return this._pairs.map(function(de){return z(de[0])+"="+z(de[1])},"").join("&")};const In=Wi;function li(F){return encodeURIComponent(F).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Un(F,B,z){if(!B)return F;const $=z&&z.encode||li,de=z&&z.serialize;let ye;if(ye=de?de(B,z):xe.isURLSearchParams(B)?B.toString():new In(B,z).toString($),ye){const _e=F.indexOf("#");-1!==_e&&(F=F.slice(0,_e)),F+=(-1===F.indexOf("?")?"?":"&")+ye}return F}const vt=class Rn{constructor(){this.handlers=[]}use(B,z,$){return this.handlers.push({fulfilled:B,rejected:z,synchronous:!!$&&$.synchronous,runWhen:$?$.runWhen:null}),this.handlers.length-1}eject(B){this.handlers[B]&&(this.handlers[B]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(B){xe.forEach(this.handlers,function($){null!==$&&B($)})}},we={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ve={isBrowser:!0,classes:{URLSearchParams:typeof URLSearchParams<"u"?URLSearchParams:In,FormData:typeof FormData<"u"?FormData:null,Blob:typeof Blob<"u"?Blob:null},protocols:["http","https","file","blob","url","data"]},qe=typeof window<"u"&&typeof document<"u",Zt=(F=typeof navigator<"u"&&navigator.product,qe&&["ReactNative","NativeScript","NS"].indexOf(F)<0),pn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,yn={...o,...Ve};var F;const is=function Gr(F){function B(z,$,de,ye){let _e=z[ye++];if("__proto__"===_e)return!0;const tt=Number.isFinite(+_e),Yt=ye>=z.length;return _e=!_e&&xe.isArray(de)?de.length:_e,Yt?(de[_e]=xe.hasOwnProp(de,_e)?[de[_e],$]:$,!tt):((!de[_e]||!xe.isObject(de[_e]))&&(de[_e]=[]),B(z,$,de[_e],ye)&&xe.isArray(de[_e])&&(de[_e]=function Ki(F){const B={},z=Object.keys(F);let $;const de=z.length;let ye;for($=0;${B(function zi(F){return xe.matchAll(/\w+|\[(\w*)]/g,F).map(B=>"[]"===B[0]?"":B[1]||B[0])}($),de,z,0)}),z}return null},It={transitional:we,adapter:["xhr","http"],transformRequest:[function(B,z){const $=z.getContentType()||"",de=$.indexOf("application/json")>-1,ye=xe.isObject(B);if(ye&&xe.isHTMLForm(B)&&(B=new FormData(B)),xe.isFormData(B))return de?JSON.stringify(is(B)):B;if(xe.isArrayBuffer(B)||xe.isBuffer(B)||xe.isStream(B)||xe.isFile(B)||xe.isBlob(B))return B;if(xe.isArrayBufferView(B))return B.buffer;if(xe.isURLSearchParams(B))return z.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),B.toString();let tt;if(ye){if($.indexOf("application/x-www-form-urlencoded")>-1)return function ni(F,B){return zt(F,new yn.classes.URLSearchParams,Object.assign({visitor:function(z,$,de,ye){return yn.isNode&&xe.isBuffer(z)?(this.append($,z.toString("base64")),!1):ye.defaultVisitor.apply(this,arguments)}},B))}(B,this.formSerializer).toString();if((tt=xe.isFileList(B))||$.indexOf("multipart/form-data")>-1){const Yt=this.env&&this.env.FormData;return zt(tt?{"files[]":B}:B,Yt&&new Yt,this.formSerializer)}}return ye||de?(z.setContentType("application/json",!1),function Ti(F,B,z){if(xe.isString(F))try{return(B||JSON.parse)(F),xe.trim(F)}catch($){if("SyntaxError"!==$.name)throw $}return(z||JSON.stringify)(F)}(B)):B}],transformResponse:[function(B){const z=this.transitional||It.transitional,$=z&&z.forcedJSONParsing,de="json"===this.responseType;if(B&&xe.isString(B)&&($&&!this.responseType||de)){const _e=!(z&&z.silentJSONParsing)&&de;try{return JSON.parse(B)}catch(tt){if(_e)throw"SyntaxError"===tt.name?hn.from(tt,hn.ERR_BAD_RESPONSE,this,null,this.response):tt}}return B}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:yn.classes.FormData,Blob:yn.classes.Blob},validateStatus:function(B){return B>=200&&B<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};xe.forEach(["delete","get","head","post","put","patch"],F=>{It.headers[F]={}});const hs=It,Wr=xe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Qn=Symbol("internals");function zn(F){return F&&String(F).trim().toLowerCase()}function Pt(F){return!1===F||null==F?F:xe.isArray(F)?F.map(Pt):String(F)}function ci(F,B,z,$,de){if(xe.isFunction($))return $.call(this,B,z);if(de&&(B=z),xe.isString(B)){if(xe.isString($))return-1!==B.indexOf($);if(xe.isRegExp($))return $.test(B)}}class si{constructor(B){B&&this.set(B)}set(B,z,$){const de=this;function ye(tt,Yt,qt){const Ot=zn(Yt);if(!Ot)throw new Error("header name must be a non-empty string");const et=xe.findKey(de,Ot);(!et||void 0===de[et]||!0===qt||void 0===qt&&!1!==de[et])&&(de[et||Yt]=Pt(tt))}const _e=(tt,Yt)=>xe.forEach(tt,(qt,Ot)=>ye(qt,Ot,Yt));return xe.isPlainObject(B)||B instanceof this.constructor?_e(B,z):xe.isString(B)&&(B=B.trim())&&!(F=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(F.trim()))(B)?_e((F=>{const B={};let z,$,de;return F&&F.split("\n").forEach(function(_e){de=_e.indexOf(":"),z=_e.substring(0,de).trim().toLowerCase(),$=_e.substring(de+1).trim(),!(!z||B[z]&&Wr[z])&&("set-cookie"===z?B[z]?B[z].push($):B[z]=[$]:B[z]=B[z]?B[z]+", "+$:$)}),B})(B),z):null!=B&&ye(z,B,$),this}get(B,z){if(B=zn(B)){const $=xe.findKey(this,B);if($){const de=this[$];if(!z)return de;if(!0===z)return function ir(F){const B=Object.create(null),z=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let $;for(;$=z.exec(F);)B[$[1]]=$[2];return B}(de);if(xe.isFunction(z))return z.call(this,de,$);if(xe.isRegExp(z))return z.exec(de);throw new TypeError("parser must be boolean|regexp|function")}}}has(B,z){if(B=zn(B)){const $=xe.findKey(this,B);return!(!$||void 0===this[$]||z&&!ci(0,this[$],$,z))}return!1}delete(B,z){const $=this;let de=!1;function ye(_e){if(_e=zn(_e)){const tt=xe.findKey($,_e);tt&&(!z||ci(0,$[tt],tt,z))&&(delete $[tt],de=!0)}}return xe.isArray(B)?B.forEach(ye):ye(B),de}clear(B){const z=Object.keys(this);let $=z.length,de=!1;for(;$--;){const ye=z[$];(!B||ci(0,this[ye],ye,B,!0))&&(delete this[ye],de=!0)}return de}normalize(B){const z=this,$={};return xe.forEach(this,(de,ye)=>{const _e=xe.findKey($,ye);if(_e)return z[_e]=Pt(de),void delete z[ye];const tt=B?function vr(F){return F.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(B,z,$)=>z.toUpperCase()+$)}(ye):String(ye).trim();tt!==ye&&delete z[ye],z[tt]=Pt(de),$[tt]=!0}),this}concat(...B){return this.constructor.concat(this,...B)}toJSON(B){const z=Object.create(null);return xe.forEach(this,($,de)=>{null!=$&&!1!==$&&(z[de]=B&&xe.isArray($)?$.join(", "):$)}),z}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([B,z])=>B+": "+z).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(B){return B instanceof this?B:new this(B)}static concat(B,...z){const $=new this(B);return z.forEach(de=>$.set(de)),$}static accessor(B){const $=(this[Qn]=this[Qn]={accessors:{}}).accessors,de=this.prototype;function ye(_e){const tt=zn(_e);$[tt]||(function qn(F,B){const z=xe.toCamelCase(" "+B);["get","set","has"].forEach($=>{Object.defineProperty(F,$+z,{value:function(de,ye,_e){return this[$].call(this,B,de,ye,_e)},configurable:!0})})}(de,_e),$[tt]=!0)}return xe.isArray(B)?B.forEach(ye):ye(B),this}}si.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),xe.reduceDescriptors(si.prototype,({value:F},B)=>{let z=B[0].toUpperCase()+B.slice(1);return{get:()=>F,set($){this[z]=$}}}),xe.freezeMethods(si);const Zn=si;function ki(F,B){const z=this||hs,$=B||z,de=Zn.from($.headers);let ye=$.data;return xe.forEach(F,function(tt){ye=tt.call(z,ye,de.normalize(),B?B.status:void 0)}),de.normalize(),ye}function rr(F){return!(!F||!F.__CANCEL__)}function fr(F,B,z){hn.call(this,F??"canceled",hn.ERR_CANCELED,B,z),this.name="CanceledError"}xe.inherits(fr,hn,{__CANCEL__:!0});const sr=fr,rs=yn.hasStandardBrowserEnv?{write(F,B,z,$,de,ye){const _e=[F+"="+encodeURIComponent(B)];xe.isNumber(z)&&_e.push("expires="+new Date(z).toGMTString()),xe.isString($)&&_e.push("path="+$),xe.isString(de)&&_e.push("domain="+de),!0===ye&&_e.push("secure"),document.cookie=_e.join("; ")},read(F){const B=document.cookie.match(new RegExp("(^|;\\s*)("+F+")=([^;]*)"));return B?decodeURIComponent(B[3]):null},remove(F){this.write(F,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function ee(F,B){return F&&!function Yi(F){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(F)}(B)?function W(F,B){return B?F.replace(/\/?\/$/,"")+"/"+B.replace(/^\/+/,""):F}(F,B):B}const q=yn.hasStandardBrowserEnv?function(){const B=/(msie|trident)/i.test(navigator.userAgent),z=document.createElement("a");let $;function de(ye){let _e=ye;return B&&(z.setAttribute("href",_e),_e=z.href),z.setAttribute("href",_e),{href:z.href,protocol:z.protocol?z.protocol.replace(/:$/,""):"",host:z.host,search:z.search?z.search.replace(/^\?/,""):"",hash:z.hash?z.hash.replace(/^#/,""):"",hostname:z.hostname,port:z.port,pathname:"/"===z.pathname.charAt(0)?z.pathname:"/"+z.pathname}}return $=de(window.location.href),function(_e){const tt=xe.isString(_e)?de(_e):_e;return tt.protocol===$.protocol&&tt.host===$.host}}():function(){return function(){return!0}}();function Je(F,B){let z=0;const $=function Ue(F,B){F=F||10;const z=new Array(F),$=new Array(F);let _e,de=0,ye=0;return B=void 0!==B?B:1e3,function(Yt){const qt=Date.now(),Ot=$[ye];_e||(_e=qt),z[de]=Yt,$[de]=qt;let et=ye,ui=0;for(;et!==de;)ui+=z[et++],et%=F;if(de=(de+1)%F,de===ye&&(ye=(ye+1)%F),qt-_e{const ye=de.loaded,_e=de.lengthComputable?de.total:void 0,tt=ye-z,Yt=$(tt);z=ye;const Ot={loaded:ye,total:_e,progress:_e?ye/_e:void 0,bytes:tt,rate:Yt||void 0,estimated:Yt&&_e&&ye<=_e?(_e-ye)/Yt:void 0,event:de};Ot[B?"download":"upload"]=!0,F(Ot)}}const mt={http:null,xhr:typeof XMLHttpRequest<"u"&&function(F){return new Promise(function(z,$){let de=F.data;const ye=Zn.from(F.headers).normalize();let Yt,Ot,{responseType:_e,withXSRFToken:tt}=F;function qt(){F.cancelToken&&F.cancelToken.unsubscribe(Yt),F.signal&&F.signal.removeEventListener("abort",Yt)}if(xe.isFormData(de))if(yn.hasStandardBrowserEnv||yn.hasStandardBrowserWebWorkerEnv)ye.setContentType(!1);else if(!1!==(Ot=ye.getContentType())){const[Ft,...Jn]=Ot?Ot.split(";").map(xn=>xn.trim()).filter(Boolean):[];ye.setContentType([Ft||"multipart/form-data",...Jn].join("; "))}let et=new XMLHttpRequest;if(F.auth){const Ft=F.auth.username||"",Jn=F.auth.password?unescape(encodeURIComponent(F.auth.password)):"";ye.set("Authorization","Basic "+btoa(Ft+":"+Jn))}const ui=ee(F.baseURL,F.url);function di(){if(!et)return;const Ft=Zn.from("getAllResponseHeaders"in et&&et.getAllResponseHeaders());(function At(F,B,z){const $=z.config.validateStatus;z.status&&$&&!$(z.status)?B(new hn("Request failed with status code "+z.status,[hn.ERR_BAD_REQUEST,hn.ERR_BAD_RESPONSE][Math.floor(z.status/100)-4],z.config,z.request,z)):F(z)})(function(Vi){z(Vi),qt()},function(Vi){$(Vi),qt()},{data:_e&&"text"!==_e&&"json"!==_e?et.response:et.responseText,status:et.status,statusText:et.statusText,headers:Ft,config:F,request:et}),et=null}if(et.open(F.method.toUpperCase(),Un(ui,F.params,F.paramsSerializer),!0),et.timeout=F.timeout,"onloadend"in et?et.onloadend=di:et.onreadystatechange=function(){!et||4!==et.readyState||0===et.status&&(!et.responseURL||0!==et.responseURL.indexOf("file:"))||setTimeout(di)},et.onabort=function(){et&&($(new hn("Request aborted",hn.ECONNABORTED,F,et)),et=null)},et.onerror=function(){$(new hn("Network Error",hn.ERR_NETWORK,F,et)),et=null},et.ontimeout=function(){let Jn=F.timeout?"timeout of "+F.timeout+"ms exceeded":"timeout exceeded";F.timeoutErrorMessage&&(Jn=F.timeoutErrorMessage),$(new hn(Jn,(F.transitional||we).clarifyTimeoutError?hn.ETIMEDOUT:hn.ECONNABORTED,F,et)),et=null},yn.hasStandardBrowserEnv&&(tt&&xe.isFunction(tt)&&(tt=tt(F)),tt||!1!==tt&&q(ui))){const Ft=F.xsrfHeaderName&&F.xsrfCookieName&&rs.read(F.xsrfCookieName);Ft&&ye.set(F.xsrfHeaderName,Ft)}void 0===de&&ye.setContentType(null),"setRequestHeader"in et&&xe.forEach(ye.toJSON(),function(Jn,xn){et.setRequestHeader(xn,Jn)}),xe.isUndefined(F.withCredentials)||(et.withCredentials=!!F.withCredentials),_e&&"json"!==_e&&(et.responseType=F.responseType),"function"==typeof F.onDownloadProgress&&et.addEventListener("progress",Je(F.onDownloadProgress,!0)),"function"==typeof F.onUploadProgress&&et.upload&&et.upload.addEventListener("progress",Je(F.onUploadProgress)),(F.cancelToken||F.signal)&&(Yt=Ft=>{et&&($(!Ft||Ft.type?new sr(null,F,et):Ft),et.abort(),et=null)},F.cancelToken&&F.cancelToken.subscribe(Yt),F.signal&&(F.signal.aborted?Yt():F.signal.addEventListener("abort",Yt)));const Gt=function Te(F){const B=/^([-+\w]{1,25})(:?\/\/|:)/.exec(F);return B&&B[1]||""}(ui);Gt&&-1===yn.protocols.indexOf(Gt)?$(new hn("Unsupported protocol "+Gt+":",hn.ERR_BAD_REQUEST,F)):et.send(de||null)})}};xe.forEach(mt,(F,B)=>{if(F){try{Object.defineProperty(F,"name",{value:B})}catch{}Object.defineProperty(F,"adapterName",{value:B})}});const Tn=F=>`- ${F}`,Bn=F=>xe.isFunction(F)||null===F||!1===F,Pn_getAdapter=F=>{F=xe.isArray(F)?F:[F];const{length:B}=F;let z,$;const de={};for(let ye=0;ye`adapter ${tt} `+(!1===Yt?"is not supported by the environment":"is not available in the build"));let _e=B?ye.length>1?"since :\n"+ye.map(Tn).join("\n"):" "+Tn(ye[0]):"as no adapter specified";throw new hn("There is no suitable adapter to dispatch the request "+_e,"ERR_NOT_SUPPORT")}return $};function Jt(F){if(F.cancelToken&&F.cancelToken.throwIfRequested(),F.signal&&F.signal.aborted)throw new sr(null,F)}function Mn(F){return Jt(F),F.headers=Zn.from(F.headers),F.data=ki.call(F,F.transformRequest),-1!==["post","put","patch"].indexOf(F.method)&&F.headers.setContentType("application/x-www-form-urlencoded",!1),Pn_getAdapter(F.adapter||hs.adapter)(F).then(function($){return Jt(F),$.data=ki.call(F,F.transformResponse,$),$.headers=Zn.from($.headers),$},function($){return rr($)||(Jt(F),$&&$.response&&($.response.data=ki.call(F,F.transformResponse,$.response),$.response.headers=Zn.from($.response.headers))),Promise.reject($)})}const ln=F=>F instanceof Zn?F.toJSON():F;function Ze(F,B){B=B||{};const z={};function $(qt,Ot,et){return xe.isPlainObject(qt)&&xe.isPlainObject(Ot)?xe.merge.call({caseless:et},qt,Ot):xe.isPlainObject(Ot)?xe.merge({},Ot):xe.isArray(Ot)?Ot.slice():Ot}function de(qt,Ot,et){return xe.isUndefined(Ot)?xe.isUndefined(qt)?void 0:$(void 0,qt,et):$(qt,Ot,et)}function ye(qt,Ot){if(!xe.isUndefined(Ot))return $(void 0,Ot)}function _e(qt,Ot){return xe.isUndefined(Ot)?xe.isUndefined(qt)?void 0:$(void 0,qt):$(void 0,Ot)}function tt(qt,Ot,et){return et in B?$(qt,Ot):et in F?$(void 0,qt):void 0}const Yt={url:ye,method:ye,data:ye,baseURL:_e,transformRequest:_e,transformResponse:_e,paramsSerializer:_e,timeout:_e,timeoutMessage:_e,withCredentials:_e,withXSRFToken:_e,adapter:_e,responseType:_e,xsrfCookieName:_e,xsrfHeaderName:_e,onUploadProgress:_e,onDownloadProgress:_e,decompress:_e,maxContentLength:_e,maxBodyLength:_e,beforeRedirect:_e,transport:_e,httpAgent:_e,httpsAgent:_e,cancelToken:_e,socketPath:_e,responseEncoding:_e,validateStatus:tt,headers:(qt,Ot)=>de(ln(qt),ln(Ot),!0)};return xe.forEach(Object.keys(Object.assign({},F,B)),function(Ot){const et=Yt[Ot]||de,ui=et(F[Ot],B[Ot],Ot);xe.isUndefined(ui)&&et!==tt||(z[Ot]=ui)}),z}const yr={};["object","boolean","number","function","string","symbol"].forEach((F,B)=>{yr[F]=function($){return typeof $===F||"a"+(B<1?"n ":" ")+F}});const _n={};yr.transitional=function(B,z,$){function de(ye,_e){return"[Axios v1.6.7] Transitional option '"+ye+"'"+_e+($?". "+$:"")}return(ye,_e,tt)=>{if(!1===B)throw new hn(de(_e," has been removed"+(z?" in "+z:"")),hn.ERR_DEPRECATED);return z&&!_n[_e]&&(_n[_e]=!0,console.warn(de(_e," has been deprecated since v"+z+" and will be removed in the near future"))),!B||B(ye,_e,tt)}};const zr={assertOptions:function hr(F,B,z){if("object"!=typeof F)throw new hn("options must be an object",hn.ERR_BAD_OPTION_VALUE);const $=Object.keys(F);let de=$.length;for(;de-- >0;){const ye=$[de],_e=B[ye];if(_e){const tt=F[ye],Yt=void 0===tt||_e(tt,ye,F);if(!0!==Yt)throw new hn("option "+ye+" must be "+Yt,hn.ERR_BAD_OPTION_VALUE)}else if(!0!==z)throw new hn("Unknown option "+ye,hn.ERR_BAD_OPTION)}},validators:yr},Mi=zr.validators;class pr{constructor(B){this.defaults=B,this.interceptors={request:new vt,response:new vt}}request(B,z){var $=this;return(0,S.A)(function*(){try{return yield $._request(B,z)}catch(de){if(de instanceof Error){let ye;Error.captureStackTrace?Error.captureStackTrace(ye={}):ye=new Error;const _e=ye.stack?ye.stack.replace(/^.+\n/,""):"";de.stack?_e&&!String(de.stack).endsWith(_e.replace(/^.+\n.+\n/,""))&&(de.stack+="\n"+_e):de.stack=_e}throw de}})()}_request(B,z){"string"==typeof B?(z=z||{}).url=B:z=B||{},z=Ze(this.defaults,z);const{transitional:$,paramsSerializer:de,headers:ye}=z;void 0!==$&&zr.assertOptions($,{silentJSONParsing:Mi.transitional(Mi.boolean),forcedJSONParsing:Mi.transitional(Mi.boolean),clarifyTimeoutError:Mi.transitional(Mi.boolean)},!1),null!=de&&(xe.isFunction(de)?z.paramsSerializer={serialize:de}:zr.assertOptions(de,{encode:Mi.function,serialize:Mi.function},!0)),z.method=(z.method||this.defaults.method||"get").toLowerCase();let _e=ye&&xe.merge(ye.common,ye[z.method]);ye&&xe.forEach(["delete","get","head","post","put","patch","common"],Gt=>{delete ye[Gt]}),z.headers=Zn.concat(_e,ye);const tt=[];let Yt=!0;this.interceptors.request.forEach(function(Ft){"function"==typeof Ft.runWhen&&!1===Ft.runWhen(z)||(Yt=Yt&&Ft.synchronous,tt.unshift(Ft.fulfilled,Ft.rejected))});const qt=[];this.interceptors.response.forEach(function(Ft){qt.push(Ft.fulfilled,Ft.rejected)});let Ot,ui,et=0;if(!Yt){const Gt=[Mn.bind(this),void 0];for(Gt.unshift.apply(Gt,tt),Gt.push.apply(Gt,qt),ui=Gt.length,Ot=Promise.resolve(z);et{if(!$._listeners)return;let ye=$._listeners.length;for(;ye-- >0;)$._listeners[ye](de);$._listeners=null}),this.promise.then=de=>{let ye;const _e=new Promise(tt=>{$.subscribe(tt),ye=tt}).then(de);return _e.cancel=function(){$.unsubscribe(ye)},_e},B(function(ye,_e,tt){$.reason||($.reason=new sr(ye,_e,tt),z($.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(B){this.reason?B(this.reason):this._listeners?this._listeners.push(B):this._listeners=[B]}unsubscribe(B){if(!this._listeners)return;const z=this._listeners.indexOf(B);-1!==z&&this._listeners.splice(z,1)}static source(){let B;return{token:new ss(function(de){B=de}),cancel:B}}}const Kr=ss,br={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(br).forEach(([F,B])=>{br[B]=F});const ws=br,Kn=function Dr(F){const B=new en(F),z=ge(en.prototype.request,B);return xe.extend(z,en.prototype,B,{allOwnKeys:!0}),xe.extend(z,B,null,{allOwnKeys:!0}),z.create=function(de){return Dr(Ze(F,de))},z}(hs);Kn.Axios=en,Kn.CanceledError=sr,Kn.CancelToken=Kr,Kn.isCancel=rr,Kn.VERSION="1.6.7",Kn.toFormData=zt,Kn.AxiosError=hn,Kn.Cancel=Kn.CanceledError,Kn.all=function(B){return Promise.all(B)},Kn.spread=function Li(F){return function(z){return F.apply(null,z)}},Kn.isAxiosError=function Cs(F){return xe.isObject(F)&&!0===F.isAxiosError},Kn.mergeConfig=Ze,Kn.AxiosHeaders=Zn,Kn.formToJSON=F=>is(xe.isHTMLForm(F)?new FormData(F):F),Kn.getAdapter=Pn_getAdapter,Kn.HttpStatusCode=ws,Kn.default=Kn;const ps=Kn;var gs=x(2767),Qr=x(4438),ms=x(1315),Ts=x(2840),mi=x(4550),Xr=x(9664);let Bi=(()=>{class F{constructor(z,$,de,ye){this.storeService=z,this.toastManager=$,this.router=de,this.translateService=ye,this.default={withCredentials:!0,timeout:99e4,headers:{"Content-Type":"application/json",Accept:"application/json"}},this.api=ps.create({baseURL:gs.c.apiBaseUrl,...this.default}),this.controller=new AbortController,this.initRequestInterceptor(this.api),this.initResponseInterceptor(this.api),this.initAuthHeader()}authenticate(z,$){return(0,S.A)(function*(){return Promise.resolve(!0)})()}forgotPassword(z){return(0,S.A)(function*(){return Promise.resolve(!0)})()}validateAccount(z,$){return(0,S.A)(function*(){return Promise.resolve(!0)})()}initAuthHeader(){}initRequestInterceptor(z){z.interceptors.request.use($=>(console.log("interceptors.request.config",$),this.storeService.isLoading.set(!0),$),$=>(console.log("interceptors.request.error",$),this.storeService.isLoading.set(!1),this.toastManager.quickShow($),Promise.reject($)))}initResponseInterceptor(z){var $=this;z.interceptors.response.use(de=>(console.log("interceptors.response.response",de),this.storeService.isLoading.set(!1),de),function(){var de=(0,S.A)(function*(ye){return console.log("interceptors.response.error",ye),$.storeService.isLoading.set(!1),"ERR_CANCELED"===ye.code?Promise.resolve(ye):($.toastManager.quickShow(ye.message),Promise.reject(ye))});return function(ye){return de.apply(this,arguments)}}())}static#e=this.\u0275fac=function($){return new($||F)(Qr.KVO(ms.n),Qr.KVO(Ts.t),Qr.KVO(mi.Ix),Qr.KVO(Xr.c$))};static#t=this.\u0275prov=Qr.jDH({token:F,factory:F.\u0275fac})}return F})()},1315:(yt,Se,x)=>{x.d(Se,{n:()=>X});var o=x(177),S=x(4438),ge=x(2767),ce=x(9664);let X=(()=>{class le{constructor(Pe,Ie){this.platformId=Pe,this.translateService=Ie,this.isServer=(0,S.vPA)((0,o.Vy)(this.platformId)),this.isLoading=(0,S.vPA)(!0),this.pageTitle=(0,S.vPA)(ge.c.appName)}setPageTitle(Pe,Ie=!0){const Ae=Ie?this.translateService.instant(Pe):Pe;this.pageTitle.set(Ae)}static#e=this.\u0275fac=function(Ie){return new(Ie||le)(S.KVO(S.Agw),S.KVO(ce.c$))};static#t=this.\u0275prov=S.jDH({token:le,factory:le.\u0275fac})}return le})()},2767:(yt,Se,x)=>{x.d(Se,{c:()=>Pe});var o=function(Ie){return Ie.LOCAL="local",Ie.PROD="production",Ie}(o||{});const Pe={production:!0,version:"0.0.0",appName:"EasyAngular",envName:o.PROD,defaultLanguage:"en",apiBaseUrl:"http://localhost:5000/api/"}},8146:(yt,Se,x)=>{var o=x(4438),S=x(345),ge=x(177),ce=x(1626),X=function(g){return g[g.State=0]="State",g[g.Transition=1]="Transition",g[g.Sequence=2]="Sequence",g[g.Group=3]="Group",g[g.Animate=4]="Animate",g[g.Keyframes=5]="Keyframes",g[g.Style=6]="Style",g[g.Trigger=7]="Trigger",g[g.Reference=8]="Reference",g[g.AnimateChild=9]="AnimateChild",g[g.AnimateRef=10]="AnimateRef",g[g.Query=11]="Query",g[g.Stagger=12]="Stagger",g}(X||{});const le="*";function Me(g){return{type:X.Style,styles:g,offset:null}}class Et{constructor(u=0,f=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=u+f}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(u=>u()),this._onDoneFns=[])}onStart(u){this._originalOnStartFns.push(u),this._onStartFns.push(u)}onDone(u){this._originalOnDoneFns.push(u),this._onDoneFns.push(u)}onDestroy(u){this._onDestroyFns.push(u)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(u=>u()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(u=>u()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(u){this._position=this.totalTime?u*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(u){const f="start"==u?this._onStartFns:this._onDoneFns;f.forEach(D=>D()),f.length=0}}class $t{constructor(u){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=u;let f=0,D=0,N=0;const j=this.players.length;0==j?queueMicrotask(()=>this._onFinish()):this.players.forEach(K=>{K.onDone(()=>{++f==j&&this._onFinish()}),K.onDestroy(()=>{++D==j&&this._onDestroy()}),K.onStart(()=>{++N==j&&this._onStart()})}),this.totalTime=this.players.reduce((K,J)=>Math.max(K,J.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(u=>u()),this._onDoneFns=[])}init(){this.players.forEach(u=>u.init())}onStart(u){this._onStartFns.push(u)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(u=>u()),this._onStartFns=[])}onDone(u){this._onDoneFns.push(u)}onDestroy(u){this._onDestroyFns.push(u)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(u=>u.play())}pause(){this.players.forEach(u=>u.pause())}restart(){this.players.forEach(u=>u.restart())}finish(){this._onFinish(),this.players.forEach(u=>u.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(u=>u.destroy()),this._onDestroyFns.forEach(u=>u()),this._onDestroyFns=[])}reset(){this.players.forEach(u=>u.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(u){const f=u*this.totalTime;this.players.forEach(D=>{const N=D.totalTime?Math.min(1,f/D.totalTime):1;D.setPosition(N)})}getPosition(){const u=this.players.reduce((f,D)=>null===f||D.totalTime>f.totalTime?D:f,null);return null!=u?u.getPosition():0}beforeDestroy(){this.players.forEach(u=>{u.beforeDestroy&&u.beforeDestroy()})}triggerCallback(u){const f="start"==u?this._onStartFns:this._onDoneFns;f.forEach(D=>D()),f.length=0}}function Cn(g){return new o.wOt(3e3,!1)}function Rt(g){switch(g.length){case 0:return new Et;case 1:return g[0];default:return new $t(g)}}function $r(g,u,f=new Map,D=new Map){const N=[],j=[];let K=-1,J=null;if(u.forEach(ae=>{const De=ae.get("offset"),Ke=De==K,ze=Ke&&J||new Map;ae.forEach((un,Wt)=>{let Dt=Wt,_t=un;if("offset"!==Wt)switch(Dt=g.normalizePropertyName(Dt,N),_t){case"!":_t=f.get(Wt);break;case le:_t=D.get(Wt);break;default:_t=g.normalizeStyleValue(Wt,Dt,_t,N)}ze.set(Dt,_t)}),Ke||j.push(ze),J=ze,K=De}),N.length)throw function dr(g){return new o.wOt(3502,!1)}();return j}function zt(g,u,f,D){switch(u){case"start":g.onStart(()=>D(f&&ut(f,"start",g)));break;case"done":g.onDone(()=>D(f&&ut(f,"done",g)));break;case"destroy":g.onDestroy(()=>D(f&&ut(f,"destroy",g)))}}function ut(g,u,f){const j=Wi(g.element,g.triggerName,g.fromState,g.toState,u||g.phaseName,f.totalTime??g.totalTime,!!f.disabled),K=g._data;return null!=K&&(j._data=K),j}function Wi(g,u,f,D,N="",j=0,K){return{element:g,triggerName:u,fromState:f,toState:D,phaseName:N,totalTime:j,disabled:!!K}}function rn(g,u,f){let D=g.get(u);return D||g.set(u,D=f),D}function In(g){const u=g.indexOf(":");return[g.substring(1,u),g.slice(u+1)]}const li=typeof document>"u"?null:document.documentElement;function Un(g){const u=g.parentNode||g.host||null;return u===li?null:u}let vt=null,we=!1;function Ve(g,u){for(;u;){if(u===g)return!0;u=Un(u)}return!1}function qe(g,u,f){if(f)return Array.from(g.querySelectorAll(u));const D=g.querySelector(u);return D?[D]:[]}let pn=(()=>{class g{validateStyleProperty(f){return function pe(g){vt||(vt=function ue(){return typeof document<"u"?document.body:null}()||{},we=!!vt.style&&"WebkitAppearance"in vt.style);let u=!0;return vt.style&&!function Rn(g){return"ebkit"==g.substring(1,6)}(g)&&(u=g in vt.style,!u&&we&&(u="Webkit"+g.charAt(0).toUpperCase()+g.slice(1)in vt.style)),u}(f)}containsElement(f,D){return Ve(f,D)}getParentElement(f){return Un(f)}query(f,D,N){return qe(f,D,N)}computeStyle(f,D,N){return N||""}animate(f,D,N,j,K,J=[],ae){return new Et(N,j)}static#e=this.\u0275fac=function(D){return new(D||g)};static#t=this.\u0275prov=o.jDH({token:g,factory:g.\u0275fac})}return g})();class yn{static#e=this.NOOP=new pn}class ni{}const Ki=1e3,Ti="ng-enter",It="ng-leave",hs="ng-trigger",Wr=".ng-trigger",xs="ng-animating",Qn=".ng-animating";function zn(g){if("number"==typeof g)return g;const u=g.match(/^(-?[\.\d]+)(m?s)/);return!u||u.length<2?0:Pt(parseFloat(u[1]),u[2])}function Pt(g,u){return"s"===u?g*Ki:g}function ir(g,u,f){return g.hasOwnProperty("duration")?g:function ri(g,u,f){let N,j=0,K="";if("string"==typeof g){const J=g.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===J)return u.push(Cn()),{duration:0,delay:0,easing:""};N=Pt(parseFloat(J[1]),J[2]);const ae=J[3];null!=ae&&(j=Pt(parseFloat(ae),J[4]));const De=J[5];De&&(K=De)}else N=g;if(!f){let J=!1,ae=u.length;N<0&&(u.push(function wi(){return new o.wOt(3100,!1)}()),J=!0),j<0&&(u.push(function vi(){return new o.wOt(3101,!1)}()),J=!0),J&&u.splice(ae,0,Cn())}return{duration:N,delay:j,easing:K}}(g,u,f)}function qn(g,u,f){u.forEach((D,N)=>{const j=rs(N);f&&!f.has(N)&&f.set(N,g.style[j]),g.style[j]=D})}function si(g,u){u.forEach((f,D)=>{const N=rs(D);g.style[N]=""})}function Zn(g){return Array.isArray(g)?1==g.length?g[0]:function Ae(g,u=null){return{type:X.Sequence,steps:g,options:u}}(g):g}const rr=new RegExp("{{\\s*(.+?)\\s*}}","g");function fr(g){let u=[];if("string"==typeof g){let f;for(;f=rr.exec(g);)u.push(f[1]);rr.lastIndex=0}return u}function sr(g,u,f){const D=`${g}`,N=D.replace(rr,(j,K)=>{let J=u[K];return null==J&&(f.push(function be(g){return new o.wOt(3003,!1)}()),J=""),J.toString()});return N==D?g:N}const At=/-+([a-z0-9])/g;function rs(g){return g.replace(At,(...u)=>u[1].toUpperCase())}function q(g,u,f){switch(u.type){case X.Trigger:return g.visitTrigger(u,f);case X.State:return g.visitState(u,f);case X.Transition:return g.visitTransition(u,f);case X.Sequence:return g.visitSequence(u,f);case X.Group:return g.visitGroup(u,f);case X.Animate:return g.visitAnimate(u,f);case X.Keyframes:return g.visitKeyframes(u,f);case X.Style:return g.visitStyle(u,f);case X.Reference:return g.visitReference(u,f);case X.AnimateChild:return g.visitAnimateChild(u,f);case X.AnimateRef:return g.visitAnimateRef(u,f);case X.Query:return g.visitQuery(u,f);case X.Stagger:return g.visitStagger(u,f);default:throw function te(g){return new o.wOt(3004,!1)}()}}function Te(g,u){return window.getComputedStyle(g)[u]}const Ue=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Xe extends ni{normalizePropertyName(u,f){return rs(u)}normalizeStyleValue(u,f,D,N){let j="";const K=D.toString().trim();if(Ue.has(f)&&0!==D&&"0"!==D)if("number"==typeof D)j="px";else{const J=D.match(/^[+-]?[\d\.]+([a-z]*)$/);J&&0==J[1].length&&N.push(function he(g,u){return new o.wOt(3005,!1)}())}return K+j}}const Pn="*";const Ze=new Set(["true","1"]),xt=new Set(["false","0"]);function yr(g,u){const f=Ze.has(g)||xt.has(g),D=Ze.has(u)||xt.has(u);return(N,j)=>{let K=g==Pn||g==N,J=u==Pn||u==j;return!K&&f&&"boolean"==typeof N&&(K=N?Ze.has(g):xt.has(g)),!J&&D&&"boolean"==typeof j&&(J=j?Ze.has(u):xt.has(u)),K&&J}}const hr=new RegExp("s*:selfs*,?","g");function zr(g,u,f,D){return new pr(g).build(u,f,D)}class pr{constructor(u){this._driver=u}build(u,f,D){const N=new Kr(f);return this._resetContextStyleTimingState(N),q(this,Zn(u),N)}_resetContextStyleTimingState(u){u.currentQuerySelector="",u.collectedStyles=new Map,u.collectedStyles.set("",new Map),u.currentTime=0}visitTrigger(u,f){let D=f.queryCount=0,N=f.depCount=0;const j=[],K=[];return"@"==u.name.charAt(0)&&f.errors.push(function U(){return new o.wOt(3006,!1)}()),u.definitions.forEach(J=>{if(this._resetContextStyleTimingState(f),J.type==X.State){const ae=J,De=ae.name;De.toString().split(/\s*,\s*/).forEach(Ke=>{ae.name=Ke,j.push(this.visitState(ae,f))}),ae.name=De}else if(J.type==X.Transition){const ae=this.visitTransition(J,f);D+=ae.queryCount,N+=ae.depCount,K.push(ae)}else f.errors.push(function ne(){return new o.wOt(3007,!1)}())}),{type:X.Trigger,name:u.name,states:j,transitions:K,queryCount:D,depCount:N,options:null}}visitState(u,f){const D=this.visitStyle(u.styles,f),N=u.options&&u.options.params||null;if(D.containsDynamicStyles){const j=new Set,K=N||{};D.styles.forEach(J=>{J instanceof Map&&J.forEach(ae=>{fr(ae).forEach(De=>{K.hasOwnProperty(De)||j.add(De)})})}),j.size&&f.errors.push(function oe(g,u){return new o.wOt(3008,!1)}(0,j.values()))}return{type:X.State,name:u.name,style:D,options:N?{params:N}:null}}visitTransition(u,f){f.queryCount=0,f.depCount=0;const D=q(this,Zn(u.animation),f),N=function Jt(g,u){const f=[];return"string"==typeof g?g.split(/\s*,\s*/).forEach(D=>function Mn(g,u,f){if(":"==g[0]){const ae=function ln(g,u){switch(g){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(f,D)=>parseFloat(D)>parseFloat(f);case":decrement":return(f,D)=>parseFloat(D) *"}}(g,f);if("function"==typeof ae)return void u.push(ae);g=ae}const D=g.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==D||D.length<4)return f.push(function bt(g){return new o.wOt(3015,!1)}()),u;const N=D[1],j=D[2],K=D[3];u.push(yr(N,K)),"<"==j[0]&&(N!=Pn||K!=Pn)&&u.push(yr(K,N))}(D,f,u)):f.push(g),f}(u.expr,f.errors);return{type:X.Transition,matchers:N,animation:D,queryCount:f.queryCount,depCount:f.depCount,options:br(u.options)}}visitSequence(u,f){return{type:X.Sequence,steps:u.steps.map(D=>q(this,D,f)),options:br(u.options)}}visitGroup(u,f){const D=f.currentTime;let N=0;const j=u.steps.map(K=>{f.currentTime=D;const J=q(this,K,f);return N=Math.max(N,f.currentTime),J});return f.currentTime=N,{type:X.Group,steps:j,options:br(u.options)}}visitAnimate(u,f){const D=function Cs(g,u){if(g.hasOwnProperty("duration"))return g;if("number"==typeof g)return ws(ir(g,u).duration,0,"");const f=g;if(f.split(/\s+/).some(j=>"{"==j.charAt(0)&&"{"==j.charAt(1))){const j=ws(0,0,"");return j.dynamic=!0,j.strValue=f,j}const N=ir(f,u);return ws(N.duration,N.delay,N.easing)}(u.timings,f.errors);f.currentAnimateTimings=D;let N,j=u.styles?u.styles:Me({});if(j.type==X.Keyframes)N=this.visitKeyframes(j,f);else{let K=u.styles,J=!1;if(!K){J=!0;const De={};D.easing&&(De.easing=D.easing),K=Me(De)}f.currentTime+=D.duration+D.delay;const ae=this.visitStyle(K,f);ae.isEmptyStep=J,N=ae}return f.currentAnimateTimings=null,{type:X.Animate,timings:D,style:N,options:null}}visitStyle(u,f){const D=this._makeStyleAst(u,f);return this._validateStyleAst(D,f),D}_makeStyleAst(u,f){const D=[],N=Array.isArray(u.styles)?u.styles:[u.styles];for(let J of N)"string"==typeof J?J===le?D.push(J):f.errors.push(new o.wOt(3002,!1)):D.push(new Map(Object.entries(J)));let j=!1,K=null;return D.forEach(J=>{if(J instanceof Map&&(J.has("easing")&&(K=J.get("easing"),J.delete("easing")),!j))for(let ae of J.values())if(ae.toString().indexOf("{{")>=0){j=!0;break}}),{type:X.Style,styles:D,easing:K,offset:u.offset,containsDynamicStyles:j,options:null}}_validateStyleAst(u,f){const D=f.currentAnimateTimings;let N=f.currentTime,j=f.currentTime;D&&j>0&&(j-=D.duration+D.delay),u.styles.forEach(K=>{"string"!=typeof K&&K.forEach((J,ae)=>{const De=f.collectedStyles.get(f.currentQuerySelector),Ke=De.get(ae);let ze=!0;Ke&&(j!=N&&j>=Ke.startTime&&N<=Ke.endTime&&(f.errors.push(function vn(g,u,f,D,N){return new o.wOt(3010,!1)}()),ze=!1),j=Ke.startTime),ze&&De.set(ae,{startTime:j,endTime:N}),f.options&&function ki(g,u,f){const D=u.params||{},N=fr(g);N.length&&N.forEach(j=>{D.hasOwnProperty(j)||f.push(function jn(g){return new o.wOt(3001,!1)}())})}(J,f.options,f.errors)})})}visitKeyframes(u,f){const D={type:X.Keyframes,styles:[],options:null};if(!f.currentAnimateTimings)return f.errors.push(function gt(){return new o.wOt(3011,!1)}()),D;let j=0;const K=[];let J=!1,ae=!1,De=0;const Ke=u.steps.map(ke=>{const dt=this._makeStyleAst(ke,f);let En=null!=dt.offset?dt.offset:function Li(g){if("string"==typeof g)return null;let u=null;if(Array.isArray(g))g.forEach(f=>{if(f instanceof Map&&f.has("offset")){const D=f;u=parseFloat(D.get("offset")),D.delete("offset")}});else if(g instanceof Map&&g.has("offset")){const f=g;u=parseFloat(f.get("offset")),f.delete("offset")}return u}(dt.styles),fi=0;return null!=En&&(j++,fi=dt.offset=En),ae=ae||fi<0||fi>1,J=J||fi0&&j{const En=un>0?dt==Wt?1:un*dt:K[dt],fi=En*wt;f.currentTime=Dt+_t.delay+fi,_t.duration=fi,this._validateStyleAst(ke,f),ke.offset=En,D.styles.push(ke)}),D}visitReference(u,f){return{type:X.Reference,animation:q(this,Zn(u.animation),f),options:br(u.options)}}visitAnimateChild(u,f){return f.depCount++,{type:X.AnimateChild,options:br(u.options)}}visitAnimateRef(u,f){return{type:X.AnimateRef,animation:this.visitReference(u.animation,f),options:br(u.options)}}visitQuery(u,f){const D=f.currentQuerySelector,N=u.options||{};f.queryCount++,f.currentQuery=u;const[j,K]=function en(g){const u=!!g.split(/\s*,\s*/).find(f=>":self"==f);return u&&(g=g.replace(hr,"")),g=g.replace(/@\*/g,Wr).replace(/@\w+/g,f=>Wr+"-"+f.slice(1)).replace(/:animating/g,Qn),[g,u]}(u.selector);f.currentQuerySelector=D.length?D+" "+j:j,rn(f.collectedStyles,f.currentQuerySelector,new Map);const J=q(this,Zn(u.animation),f);return f.currentQuery=null,f.currentQuerySelector=D,{type:X.Query,selector:j,limit:N.limit||0,optional:!!N.optional,includeSelf:K,animation:J,originalSelector:u.selector,options:br(u.options)}}visitStagger(u,f){f.currentQuery||f.errors.push(function gn(){return new o.wOt(3013,!1)}());const D="full"===u.timings?{duration:0,delay:0,easing:"full"}:ir(u.timings,f.errors,!0);return{type:X.Stagger,animation:q(this,Zn(u.animation),f),timings:D,options:null}}}class Kr{constructor(u){this.errors=u,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function br(g){return g?(g={...g}).params&&(g.params=function ss(g){return g?{...g}:null}(g.params)):g={},g}function ws(g,u,f){return{duration:g,delay:u,easing:f}}function Dr(g,u,f,D,N,j,K=null,J=!1){return{type:1,element:g,keyframes:u,preStyleProps:f,postStyleProps:D,duration:N,delay:j,totalTime:N+j,easing:K,subTimeline:J}}class Kn{constructor(){this._map=new Map}get(u){return this._map.get(u)||[]}append(u,f){let D=this._map.get(u);D||this._map.set(u,D=[]),D.push(...f)}has(u){return this._map.has(u)}clear(){this._map.clear()}}const Qr=new RegExp(":enter","g"),Ts=new RegExp(":leave","g");function mi(g,u,f,D,N,j=new Map,K=new Map,J,ae,De=[]){return(new Xr).buildKeyframes(g,u,f,D,N,j,K,J,ae,De)}class Xr{buildKeyframes(u,f,D,N,j,K,J,ae,De,Ke=[]){De=De||new Kn;const ze=new F(u,f,De,N,j,Ke,[]);ze.options=ae;const un=ae.delay?zn(ae.delay):0;ze.currentTimeline.delayNextStep(un),ze.currentTimeline.setStyles([K],null,ze.errors,ae),q(this,D,ze);const Wt=ze.timelines.filter(Dt=>Dt.containsAnimation());if(Wt.length&&J.size){let Dt;for(let _t=Wt.length-1;_t>=0;_t--){const wt=Wt[_t];if(wt.element===f){Dt=wt;break}}Dt&&!Dt.allowOnlyTimelineStyles()&&Dt.setStyles([J],null,ze.errors,ae)}return Wt.length?Wt.map(Dt=>Dt.buildKeyframes()):[Dr(f,[],[],[],0,un,"",!1)]}visitTrigger(u,f){}visitState(u,f){}visitTransition(u,f){}visitAnimateChild(u,f){const D=f.subInstructions.get(f.element);if(D){const N=f.createSubContext(u.options),j=f.currentTimeline.currentTime,K=this._visitSubInstructions(D,N,N.options);j!=K&&f.transformIntoNewTimeline(K)}f.previousNode=u}visitAnimateRef(u,f){const D=f.createSubContext(u.options);D.transformIntoNewTimeline(),this._applyAnimationRefDelays([u.options,u.animation.options],f,D),this.visitReference(u.animation,D),f.transformIntoNewTimeline(D.currentTimeline.currentTime),f.previousNode=u}_applyAnimationRefDelays(u,f,D){for(const N of u){const j=N?.delay;if(j){const K="number"==typeof j?j:zn(sr(j,N?.params??{},f.errors));D.delayNextStep(K)}}}_visitSubInstructions(u,f,D){let j=f.currentTimeline.currentTime;const K=null!=D.duration?zn(D.duration):null,J=null!=D.delay?zn(D.delay):null;return 0!==K&&u.forEach(ae=>{const De=f.appendInstructionToTimeline(ae,K,J);j=Math.max(j,De.duration+De.delay)}),j}visitReference(u,f){f.updateOptions(u.options,!0),q(this,u.animation,f),f.previousNode=u}visitSequence(u,f){const D=f.subContextCount;let N=f;const j=u.options;if(j&&(j.params||j.delay)&&(N=f.createSubContext(j),N.transformIntoNewTimeline(),null!=j.delay)){N.previousNode.type==X.Style&&(N.currentTimeline.snapshotCurrentStyles(),N.previousNode=Bi);const K=zn(j.delay);N.delayNextStep(K)}u.steps.length&&(u.steps.forEach(K=>q(this,K,N)),N.currentTimeline.applyStylesToKeyframe(),N.subContextCount>D&&N.transformIntoNewTimeline()),f.previousNode=u}visitGroup(u,f){const D=[];let N=f.currentTimeline.currentTime;const j=u.options&&u.options.delay?zn(u.options.delay):0;u.steps.forEach(K=>{const J=f.createSubContext(u.options);j&&J.delayNextStep(j),q(this,K,J),N=Math.max(N,J.currentTimeline.currentTime),D.push(J.currentTimeline)}),D.forEach(K=>f.currentTimeline.mergeTimelineCollectedStyles(K)),f.transformIntoNewTimeline(N),f.previousNode=u}_visitTiming(u,f){if(u.dynamic){const D=u.strValue;return ir(f.params?sr(D,f.params,f.errors):D,f.errors)}return{duration:u.duration,delay:u.delay,easing:u.easing}}visitAnimate(u,f){const D=f.currentAnimateTimings=this._visitTiming(u.timings,f),N=f.currentTimeline;D.delay&&(f.incrementTime(D.delay),N.snapshotCurrentStyles());const j=u.style;j.type==X.Keyframes?this.visitKeyframes(j,f):(f.incrementTime(D.duration),this.visitStyle(j,f),N.applyStylesToKeyframe()),f.currentAnimateTimings=null,f.previousNode=u}visitStyle(u,f){const D=f.currentTimeline,N=f.currentAnimateTimings;!N&&D.hasCurrentStyleProperties()&&D.forwardFrame();const j=N&&N.easing||u.easing;u.isEmptyStep?D.applyEmptyStep(j):D.setStyles(u.styles,j,f.errors,f.options),f.previousNode=u}visitKeyframes(u,f){const D=f.currentAnimateTimings,N=f.currentTimeline.duration,j=D.duration,J=f.createSubContext().currentTimeline;J.easing=D.easing,u.styles.forEach(ae=>{J.forwardTime((ae.offset||0)*j),J.setStyles(ae.styles,ae.easing,f.errors,f.options),J.applyStylesToKeyframe()}),f.currentTimeline.mergeTimelineCollectedStyles(J),f.transformIntoNewTimeline(N+j),f.previousNode=u}visitQuery(u,f){const D=f.currentTimeline.currentTime,N=u.options||{},j=N.delay?zn(N.delay):0;j&&(f.previousNode.type===X.Style||0==D&&f.currentTimeline.hasCurrentStyleProperties())&&(f.currentTimeline.snapshotCurrentStyles(),f.previousNode=Bi);let K=D;const J=f.invokeQuery(u.selector,u.originalSelector,u.limit,u.includeSelf,!!N.optional,f.errors);f.currentQueryTotal=J.length;let ae=null;J.forEach((De,Ke)=>{f.currentQueryIndex=Ke;const ze=f.createSubContext(u.options,De);j&&ze.delayNextStep(j),De===f.element&&(ae=ze.currentTimeline),q(this,u.animation,ze),ze.currentTimeline.applyStylesToKeyframe(),K=Math.max(K,ze.currentTimeline.currentTime)}),f.currentQueryIndex=0,f.currentQueryTotal=0,f.transformIntoNewTimeline(K),ae&&(f.currentTimeline.mergeTimelineCollectedStyles(ae),f.currentTimeline.snapshotCurrentStyles()),f.previousNode=u}visitStagger(u,f){const D=f.parentContext,N=f.currentTimeline,j=u.timings,K=Math.abs(j.duration),J=K*(f.currentQueryTotal-1);let ae=K*f.currentQueryIndex;switch(j.duration<0?"reverse":j.easing){case"reverse":ae=J-ae;break;case"full":ae=D.currentStaggerTime}const Ke=f.currentTimeline;ae&&Ke.delayNextStep(ae);const ze=Ke.currentTime;q(this,u.animation,f),f.previousNode=u,D.currentStaggerTime=N.currentTime-ze+(N.startTime-D.currentTimeline.startTime)}}const Bi={};class F{constructor(u,f,D,N,j,K,J,ae){this._driver=u,this.element=f,this.subInstructions=D,this._enterClassName=N,this._leaveClassName=j,this.errors=K,this.timelines=J,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Bi,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=ae||new B(this._driver,f,0),J.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(u,f){if(!u)return;const D=u;let N=this.options;null!=D.duration&&(N.duration=zn(D.duration)),null!=D.delay&&(N.delay=zn(D.delay));const j=D.params;if(j){let K=N.params;K||(K=this.options.params={}),Object.keys(j).forEach(J=>{(!f||!K.hasOwnProperty(J))&&(K[J]=sr(j[J],K,this.errors))})}}_copyOptions(){const u={};if(this.options){const f=this.options.params;if(f){const D=u.params={};Object.keys(f).forEach(N=>{D[N]=f[N]})}}return u}createSubContext(u=null,f,D){const N=f||this.element,j=new F(this._driver,N,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(N,D||0));return j.previousNode=this.previousNode,j.currentAnimateTimings=this.currentAnimateTimings,j.options=this._copyOptions(),j.updateOptions(u),j.currentQueryIndex=this.currentQueryIndex,j.currentQueryTotal=this.currentQueryTotal,j.parentContext=this,this.subContextCount++,j}transformIntoNewTimeline(u){return this.previousNode=Bi,this.currentTimeline=this.currentTimeline.fork(this.element,u),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(u,f,D){const N={duration:f??u.duration,delay:this.currentTimeline.currentTime+(D??0)+u.delay,easing:""},j=new z(this._driver,u.element,u.keyframes,u.preStyleProps,u.postStyleProps,N,u.stretchStartingKeyframe);return this.timelines.push(j),N}incrementTime(u){this.currentTimeline.forwardTime(this.currentTimeline.duration+u)}delayNextStep(u){u>0&&this.currentTimeline.delayNextStep(u)}invokeQuery(u,f,D,N,j,K){let J=[];if(N&&J.push(this.element),u.length>0){u=(u=u.replace(Qr,"."+this._enterClassName)).replace(Ts,"."+this._leaveClassName);let De=this._driver.query(this.element,u,1!=D);0!==D&&(De=D<0?De.slice(De.length+D,De.length):De.slice(0,D)),J.push(...De)}return!j&&0==J.length&&K.push(function ti(g){return new o.wOt(3014,!1)}()),J}}class B{constructor(u,f,D,N){this._driver=u,this.element=f,this.startTime=D,this._elementTimelineStylesLookup=N,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(f),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(f,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(u){const f=1===this._keyframes.size&&this._pendingStyles.size;this.duration||f?(this.forwardTime(this.currentTime+u),f&&this.snapshotCurrentStyles()):this.startTime+=u}fork(u,f){return this.applyStylesToKeyframe(),new B(this._driver,u,f||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(u){this.applyStylesToKeyframe(),this.duration=u,this._loadKeyframe()}_updateStyle(u,f){this._localTimelineStyles.set(u,f),this._globalTimelineStyles.set(u,f),this._styleSummary.set(u,{time:this.currentTime,value:f})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(u){u&&this._previousKeyframe.set("easing",u);for(let[f,D]of this._globalTimelineStyles)this._backFill.set(f,D||le),this._currentKeyframe.set(f,le);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(u,f,D,N){f&&this._previousKeyframe.set("easing",f);const j=N&&N.params||{},K=function de(g,u){const f=new Map;let D;return g.forEach(N=>{if("*"===N){D??=u.keys();for(let j of D)f.set(j,le)}else for(let[j,K]of N)f.set(j,K)}),f}(u,this._globalTimelineStyles);for(let[J,ae]of K){const De=sr(ae,j,D);this._pendingStyles.set(J,De),this._localTimelineStyles.has(J)||this._backFill.set(J,this._globalTimelineStyles.get(J)??le),this._updateStyle(J,De)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((u,f)=>{this._currentKeyframe.set(f,u)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((u,f)=>{this._currentKeyframe.has(f)||this._currentKeyframe.set(f,u)}))}snapshotCurrentStyles(){for(let[u,f]of this._localTimelineStyles)this._pendingStyles.set(u,f),this._updateStyle(u,f)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const u=[];for(let f in this._currentKeyframe)u.push(f);return u}mergeTimelineCollectedStyles(u){u._styleSummary.forEach((f,D)=>{const N=this._styleSummary.get(D);(!N||f.time>N.time)&&this._updateStyle(D,f.value)})}buildKeyframes(){this.applyStylesToKeyframe();const u=new Set,f=new Set,D=1===this._keyframes.size&&0===this.duration;let N=[];this._keyframes.forEach((J,ae)=>{const De=new Map([...this._backFill,...J]);De.forEach((Ke,ze)=>{"!"===Ke?u.add(ze):Ke===le&&f.add(ze)}),D||De.set("offset",ae/this.duration),N.push(De)});const j=[...u.values()],K=[...f.values()];if(D){const J=N[0],ae=new Map(J);J.set("offset",0),ae.set("offset",1),N=[J,ae]}return Dr(this.element,N,j,K,this.duration,this.startTime,this.easing,!1)}}class z extends B{constructor(u,f,D,N,j,K,J=!1){super(u,f,K.delay),this.keyframes=D,this.preStyleProps=N,this.postStyleProps=j,this._stretchStartingKeyframe=J,this.timings={duration:K.duration,delay:K.delay,easing:K.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let u=this.keyframes,{delay:f,duration:D,easing:N}=this.timings;if(this._stretchStartingKeyframe&&f){const j=[],K=D+f,J=f/K,ae=new Map(u[0]);ae.set("offset",0),j.push(ae);const De=new Map(u[0]);De.set("offset",$(J)),j.push(De);const Ke=u.length-1;for(let ze=1;ze<=Ke;ze++){let un=new Map(u[ze]);const Wt=un.get("offset");un.set("offset",$((f+Wt*D)/K)),j.push(un)}D=K,f=0,N="",u=j}return Dr(this.element,u,this.preStyleProps,this.postStyleProps,D,f,N,!0)}}function $(g,u=3){const f=Math.pow(10,u-1);return Math.round(g*f)/f}function ye(g,u,f,D,N,j,K,J,ae,De,Ke,ze,un){return{type:0,element:g,triggerName:u,isRemovalTransition:N,fromState:f,fromStyles:j,toState:D,toStyles:K,timelines:J,queriedElements:ae,preStyleProps:De,postStyleProps:Ke,totalTime:ze,errors:un}}const _e={};class tt{constructor(u,f,D){this._triggerName=u,this.ast=f,this._stateStyles=D}match(u,f,D,N){return function qt(g,u,f,D,N){return g.some(j=>j(u,f,D,N))}(this.ast.matchers,u,f,D,N)}buildStyles(u,f,D){let N=this._stateStyles.get("*");return void 0!==u&&(N=this._stateStyles.get(u?.toString())||N),N?N.buildStyles(f,D):new Map}build(u,f,D,N,j,K,J,ae,De,Ke){const ze=[],un=this.ast.options&&this.ast.options.params||_e,Dt=this.buildStyles(D,J&&J.params||_e,ze),_t=ae&&ae.params||_e,wt=this.buildStyles(N,_t,ze),ke=new Set,dt=new Map,En=new Map,fi="void"===N,hi={params:Ot(_t,un),delay:this.ast.options?.delay},Xn=Ke?[]:mi(u,f,this.ast.animation,j,K,Dt,wt,hi,De,ze);let Ui=0;return Xn.forEach(On=>{Ui=Math.max(On.duration+On.delay,Ui)}),ze.length?ye(f,this._triggerName,D,N,fi,Dt,wt,[],[],dt,En,Ui,ze):(Xn.forEach(On=>{const oi=On.element,Si=rn(dt,oi,new Set);On.preStyleProps.forEach(Ir=>Si.add(Ir));const tn=rn(En,oi,new Set);On.postStyleProps.forEach(Ir=>tn.add(Ir)),oi!==f&&ke.add(oi)}),ye(f,this._triggerName,D,N,fi,Dt,wt,Xn,[...ke.values()],dt,En,Ui))}}function Ot(g,u){const f={...u};return Object.entries(g).forEach(([D,N])=>{null!=N&&(f[D]=N)}),f}class et{constructor(u,f,D){this.styles=u,this.defaultParams=f,this.normalizer=D}buildStyles(u,f){const D=new Map,N=Ot(u,this.defaultParams);return this.styles.styles.forEach(j=>{"string"!=typeof j&&j.forEach((K,J)=>{K&&(K=sr(K,N,f));const ae=this.normalizer.normalizePropertyName(J,f);K=this.normalizer.normalizeStyleValue(J,ae,K,f),D.set(J,K)})}),D}}class di{constructor(u,f,D){this.name=u,this.ast=f,this._normalizer=D,this.transitionFactories=[],this.states=new Map,f.states.forEach(N=>{this.states.set(N.name,new et(N.style,N.options&&N.options.params||{},D))}),Ft(this.states,"true","1"),Ft(this.states,"false","0"),f.transitions.forEach(N=>{this.transitionFactories.push(new tt(u,N,this.states))}),this.fallbackTransition=function Gt(g,u,f){return new tt(g,{type:X.Transition,animation:{type:X.Sequence,steps:[],options:null},matchers:[(K,J)=>!0],options:null,queryCount:0,depCount:0},u)}(u,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(u,f,D,N){return this.transitionFactories.find(K=>K.match(u,f,D,N))||null}matchStyles(u,f,D){return this.fallbackTransition.buildStyles(u,f,D)}}function Ft(g,u,f){g.has(u)?g.has(f)||g.set(f,g.get(u)):g.has(f)&&g.set(u,g.get(f))}const Jn=new Kn;class xn{constructor(u,f,D){this.bodyNode=u,this._driver=f,this._normalizer=D,this._animations=new Map,this._playersById=new Map,this.players=[]}register(u,f){const D=[],j=zr(this._driver,f,D,[]);if(D.length)throw function pi(g){return new o.wOt(3503,!1)}();this._animations.set(u,j)}_buildPlayer(u,f,D){const N=u.element,j=$r(this._normalizer,u.keyframes,f,D);return this._driver.animate(N,j,u.duration,u.delay,u.easing,[],!0)}create(u,f,D={}){const N=[],j=this._animations.get(u);let K;const J=new Map;if(j?(K=mi(this._driver,f,j,Ti,It,new Map,new Map,D,Jn,N),K.forEach(Ke=>{const ze=rn(J,Ke.element,new Map);Ke.postStyleProps.forEach(un=>ze.set(un,null))})):(N.push(function _r(){return new o.wOt(3300,!1)}()),K=[]),N.length)throw function xe(g){return new o.wOt(3504,!1)}();J.forEach((Ke,ze)=>{Ke.forEach((un,Wt)=>{Ke.set(Wt,this._driver.computeStyle(ze,Wt,le))})});const De=Rt(K.map(Ke=>{const ze=J.get(Ke.element);return this._buildPlayer(Ke,new Map,ze)}));return this._playersById.set(u,De),De.onDestroy(()=>this.destroy(u)),this.players.push(De),De}destroy(u){const f=this._getPlayer(u);f.destroy(),this._playersById.delete(u);const D=this.players.indexOf(f);D>=0&&this.players.splice(D,1)}_getPlayer(u){const f=this._playersById.get(u);if(!f)throw function bi(g){return new o.wOt(3301,!1)}();return f}listen(u,f,D,N){const j=Wi(f,"","","");return zt(this._getPlayer(u),D,j,N),()=>{}}command(u,f,D,N){if("register"==D)return void this.register(u,N[0]);if("create"==D)return void this.create(u,f,N[0]||{});const j=this._getPlayer(u);switch(D){case"play":j.play();break;case"pause":j.pause();break;case"reset":j.reset();break;case"restart":j.restart();break;case"finish":j.finish();break;case"init":j.init();break;case"setPosition":j.setPosition(parseFloat(N[0]));break;case"destroy":this.destroy(u)}}}const qi="ng-animate-queued",or="ng-animate-disabled",Yr=[],po={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Sr={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},ar="__ng_removed";class _s{get params(){return this.options.params}constructor(u,f=""){this.namespaceId=f;const D=u&&u.hasOwnProperty("value");if(this.value=function Ws(g){return g??null}(D?u.value:u),D){const{value:j,...K}=u;this.options=K}else this.options={};this.options.params||(this.options.params={})}absorbOptions(u){const f=u.params;if(f){const D=this.options.params;Object.keys(f).forEach(N=>{null==D[N]&&(D[N]=f[N])})}}}const Mo="void",no=new _s(Mo);class Br{constructor(u,f,D){this.id=u,this.hostElement=f,this._engine=D,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+u,lr(f,this._hostClassName)}listen(u,f,D,N){if(!this._triggers.has(f))throw function Ht(g,u){return new o.wOt(3302,!1)}();if(null==D||0==D.length)throw function on(g){return new o.wOt(3303,!1)}();if(!function io(g){return"start"==g||"done"==g}(D))throw function hn(g,u){return new o.wOt(3400,!1)}();const j=rn(this._elementListeners,u,[]),K={name:f,phase:D,callback:N};j.push(K);const J=rn(this._engine.statesByElement,u,new Map);return J.has(f)||(lr(u,hs),lr(u,hs+"-"+f),J.set(f,no)),()=>{this._engine.afterFlush(()=>{const ae=j.indexOf(K);ae>=0&&j.splice(ae,1),this._triggers.has(f)||J.delete(f)})}}register(u,f){return!this._triggers.has(u)&&(this._triggers.set(u,f),!0)}_getTrigger(u){const f=this._triggers.get(u);if(!f)throw function nr(g){return new o.wOt(3401,!1)}();return f}trigger(u,f,D,N=!0){const j=this._getTrigger(f),K=new Er(this.id,f,u);let J=this._engine.statesByElement.get(u);J||(lr(u,hs),lr(u,hs+"-"+f),this._engine.statesByElement.set(u,J=new Map));let ae=J.get(f);const De=new _s(D,this.id);if(!(D&&D.hasOwnProperty("value"))&&ae&&De.absorbOptions(ae.options),J.set(f,De),ae||(ae=no),De.value!==Mo&&ae.value===De.value){if(!function Ms(g,u){const f=Object.keys(g),D=Object.keys(u);if(f.length!=D.length)return!1;for(let N=0;N{si(u,wt),qn(u,ke)})}return}const un=rn(this._engine.playersByElement,u,[]);un.forEach(_t=>{_t.namespaceId==this.id&&_t.triggerName==f&&_t.queued&&_t.destroy()});let Wt=j.matchTransition(ae.value,De.value,u,De.params),Dt=!1;if(!Wt){if(!N)return;Wt=j.fallbackTransition,Dt=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:u,triggerName:f,transition:Wt,fromState:ae,toState:De,player:K,isFallbackTransition:Dt}),Dt||(lr(u,qi),K.onStart(()=>{vs(u,qi)})),K.onDone(()=>{let _t=this.players.indexOf(K);_t>=0&&this.players.splice(_t,1);const wt=this._engine.playersByElement.get(u);if(wt){let ke=wt.indexOf(K);ke>=0&&wt.splice(ke,1)}}),this.players.push(K),un.push(K),K}deregister(u){this._triggers.delete(u),this._engine.statesByElement.forEach(f=>f.delete(u)),this._elementListeners.forEach((f,D)=>{this._elementListeners.set(D,f.filter(N=>N.name!=u))})}clearElementCache(u){this._engine.statesByElement.delete(u),this._elementListeners.delete(u);const f=this._engine.playersByElement.get(u);f&&(f.forEach(D=>D.destroy()),this._engine.playersByElement.delete(u))}_signalRemovalForInnerTriggers(u,f){const D=this._engine.driver.query(u,Wr,!0);D.forEach(N=>{if(N[ar])return;const j=this._engine.fetchNamespacesByElement(N);j.size?j.forEach(K=>K.triggerLeaveAnimation(N,f,!1,!0)):this.clearElementCache(N)}),this._engine.afterFlushAnimationsDone(()=>D.forEach(N=>this.clearElementCache(N)))}triggerLeaveAnimation(u,f,D,N){const j=this._engine.statesByElement.get(u),K=new Map;if(j){const J=[];if(j.forEach((ae,De)=>{if(K.set(De,ae.value),this._triggers.has(De)){const Ke=this.trigger(u,De,Mo,N);Ke&&J.push(Ke)}}),J.length)return this._engine.markElementAsRemoved(this.id,u,!0,f,K),D&&Rt(J).onDone(()=>this._engine.processLeaveNode(u)),!0}return!1}prepareLeaveAnimationListeners(u){const f=this._elementListeners.get(u),D=this._engine.statesByElement.get(u);if(f&&D){const N=new Set;f.forEach(j=>{const K=j.name;if(N.has(K))return;N.add(K);const ae=this._triggers.get(K).fallbackTransition,De=D.get(K)||no,Ke=new _s(Mo),ze=new Er(this.id,K,u);this._engine.totalQueuedPlayers++,this._queue.push({element:u,triggerName:K,transition:ae,fromState:De,toState:Ke,player:ze,isFallbackTransition:!0})})}}removeNode(u,f){const D=this._engine;if(u.childElementCount&&this._signalRemovalForInnerTriggers(u,f),this.triggerLeaveAnimation(u,f,!0))return;let N=!1;if(D.totalAnimations){const j=D.players.length?D.playersByQueriedElement.get(u):[];if(j&&j.length)N=!0;else{let K=u;for(;K=K.parentNode;)if(D.statesByElement.get(K)){N=!0;break}}}if(this.prepareLeaveAnimationListeners(u),N)D.markElementAsRemoved(this.id,u,!1,f);else{const j=u[ar];(!j||j===po)&&(D.afterFlush(()=>this.clearElementCache(u)),D.destroyInnerAnimations(u),D._onRemovalComplete(u,f))}}insertNode(u,f){lr(u,this._hostClassName)}drainQueuedTransitions(u){const f=[];return this._queue.forEach(D=>{const N=D.player;if(N.destroyed)return;const j=D.element,K=this._elementListeners.get(j);K&&K.forEach(J=>{if(J.name==D.triggerName){const ae=Wi(j,D.triggerName,D.fromState.value,D.toState.value);ae._data=u,zt(D.player,J.phase,ae,J.callback)}}),N.markedForDestroy?this._engine.afterFlush(()=>{N.destroy()}):f.push(D)}),this._queue=[],f.sort((D,N)=>{const j=D.transition.ast.depCount,K=N.transition.ast.depCount;return 0==j||0==K?j-K:this._engine.driver.containsElement(D.element,N.element)?1:-1})}destroy(u){this.players.forEach(f=>f.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,u)}}class Fn{_onRemovalComplete(u,f){this.onRemovalComplete(u,f)}constructor(u,f,D){this.bodyNode=u,this.driver=f,this._normalizer=D,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(N,j)=>{}}get queuedPlayers(){const u=[];return this._namespaceList.forEach(f=>{f.players.forEach(D=>{D.queued&&u.push(D)})}),u}createNamespace(u,f){const D=new Br(u,f,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,f)?this._balanceNamespaceList(D,f):(this.newHostElements.set(f,D),this.collectEnterElement(f)),this._namespaceLookup[u]=D}_balanceNamespaceList(u,f){const D=this._namespaceList,N=this.namespacesByHostElement;if(D.length-1>=0){let K=!1,J=this.driver.getParentElement(f);for(;J;){const ae=N.get(J);if(ae){const De=D.indexOf(ae);D.splice(De+1,0,u),K=!0;break}J=this.driver.getParentElement(J)}K||D.unshift(u)}else D.push(u);return N.set(f,u),u}register(u,f){let D=this._namespaceLookup[u];return D||(D=this.createNamespace(u,f)),D}registerTrigger(u,f,D){let N=this._namespaceLookup[u];N&&N.register(f,D)&&this.totalAnimations++}destroy(u,f){u&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{const D=this._fetchNamespace(u);this.namespacesByHostElement.delete(D.hostElement);const N=this._namespaceList.indexOf(D);N>=0&&this._namespaceList.splice(N,1),D.destroy(f),delete this._namespaceLookup[u]}))}_fetchNamespace(u){return this._namespaceLookup[u]}fetchNamespacesByElement(u){const f=new Set,D=this.statesByElement.get(u);if(D)for(let N of D.values())if(N.namespaceId){const j=this._fetchNamespace(N.namespaceId);j&&f.add(j)}return f}trigger(u,f,D,N){if(xi(f)){const j=this._fetchNamespace(u);if(j)return j.trigger(f,D,N),!0}return!1}insertNode(u,f,D,N){if(!xi(f))return;const j=f[ar];if(j&&j.setForRemoval){j.setForRemoval=!1,j.setForMove=!0;const K=this.collectedLeaveElements.indexOf(f);K>=0&&this.collectedLeaveElements.splice(K,1)}if(u){const K=this._fetchNamespace(u);K&&K.insertNode(f,D)}N&&this.collectEnterElement(f)}collectEnterElement(u){this.collectedEnterElements.push(u)}markElementAsDisabled(u,f){f?this.disabledNodes.has(u)||(this.disabledNodes.add(u),lr(u,or)):this.disabledNodes.has(u)&&(this.disabledNodes.delete(u),vs(u,or))}removeNode(u,f,D){if(xi(f)){const N=u?this._fetchNamespace(u):null;N?N.removeNode(f,D):this.markElementAsRemoved(u,f,!1,D);const j=this.namespacesByHostElement.get(f);j&&j.id!==u&&j.removeNode(f,D)}else this._onRemovalComplete(f,D)}markElementAsRemoved(u,f,D,N,j){this.collectedLeaveElements.push(f),f[ar]={namespaceId:u,setForRemoval:N,hasAnimation:D,removedBeforeQueried:!1,previousTriggersValues:j}}listen(u,f,D,N,j){return xi(f)?this._fetchNamespace(u).listen(f,D,N,j):()=>{}}_buildInstruction(u,f,D,N,j){return u.transition.build(this.driver,u.element,u.fromState.value,u.toState.value,D,N,u.fromState.options,u.toState.options,f,j)}destroyInnerAnimations(u){let f=this.driver.query(u,Wr,!0);f.forEach(D=>this.destroyActiveAnimationsForElement(D)),0!=this.playersByQueriedElement.size&&(f=this.driver.query(u,Qn,!0),f.forEach(D=>this.finishActiveQueriedAnimationOnElement(D)))}destroyActiveAnimationsForElement(u){const f=this.playersByElement.get(u);f&&f.forEach(D=>{D.queued?D.markedForDestroy=!0:D.destroy()})}finishActiveQueriedAnimationOnElement(u){const f=this.playersByQueriedElement.get(u);f&&f.forEach(D=>D.finish())}whenRenderingDone(){return new Promise(u=>{if(this.players.length)return Rt(this.players).onDone(()=>u());u()})}processLeaveNode(u){const f=u[ar];if(f&&f.setForRemoval){if(u[ar]=po,f.namespaceId){this.destroyInnerAnimations(u);const D=this._fetchNamespace(f.namespaceId);D&&D.clearElementCache(u)}this._onRemovalComplete(u,f.setForRemoval)}u.classList?.contains(or)&&this.markElementAsDisabled(u,!1),this.driver.query(u,".ng-animate-disabled",!0).forEach(D=>{this.markElementAsDisabled(D,!1)})}flush(u=-1){let f=[];if(this.newHostElements.size&&(this.newHostElements.forEach((D,N)=>this._balanceNamespaceList(D,N)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let D=0;DD()),this._flushFns=[],this._whenQuietFns.length){const D=this._whenQuietFns;this._whenQuietFns=[],f.length?Rt(f).onDone(()=>{D.forEach(N=>N())}):D.forEach(N=>N())}}reportError(u){throw function Xi(g){return new o.wOt(3402,!1)}()}_flushAnimations(u,f){const D=new Kn,N=[],j=new Map,K=[],J=new Map,ae=new Map,De=new Map,Ke=new Set;this.disabledNodes.forEach(Tt=>{Ke.add(Tt);const Bt=this.driver.query(Tt,".ng-animate-queued",!0);for(let Lt=0;Lt{const Lt=Ti+_t++;Dt.set(Bt,Lt),Tt.forEach(An=>lr(An,Lt))});const wt=[],ke=new Set,dt=new Set;for(let Tt=0;Ttke.add(An)):dt.add(Bt))}const En=new Map,fi=mo(un,Array.from(ke));fi.forEach((Tt,Bt)=>{const Lt=It+_t++;En.set(Bt,Lt),Tt.forEach(An=>lr(An,Lt))}),u.push(()=>{Wt.forEach((Tt,Bt)=>{const Lt=Dt.get(Bt);Tt.forEach(An=>vs(An,Lt))}),fi.forEach((Tt,Bt)=>{const Lt=En.get(Bt);Tt.forEach(An=>vs(An,Lt))}),wt.forEach(Tt=>{this.processLeaveNode(Tt)})});const hi=[],Xn=[];for(let Tt=this._namespaceList.length-1;Tt>=0;Tt--)this._namespaceList[Tt].drainQueuedTransitions(f).forEach(Lt=>{const An=Lt.player,Hi=Lt.element;if(hi.push(An),this.collectedEnterElements.length){const Ni=Hi[ar];if(Ni&&Ni.setForMove){if(Ni.previousTriggersValues&&Ni.previousTriggersValues.has(Lt.triggerName)){const As=Ni.previousTriggersValues.get(Lt.triggerName),mr=this.statesByElement.get(Lt.element);if(mr&&mr.has(Lt.triggerName)){const Di=mr.get(Lt.triggerName);Di.value=As,mr.set(Lt.triggerName,Di)}}return void An.destroy()}}const Ji=!ze||!this.driver.containsElement(ze,Hi),gr=En.get(Hi),Or=Dt.get(Hi),rt=this._buildInstruction(Lt,D,Or,gr,Ji);if(rt.errors&&rt.errors.length)return void Xn.push(rt);if(Ji)return An.onStart(()=>si(Hi,rt.fromStyles)),An.onDestroy(()=>qn(Hi,rt.toStyles)),void N.push(An);if(Lt.isFallbackTransition)return An.onStart(()=>si(Hi,rt.fromStyles)),An.onDestroy(()=>qn(Hi,rt.toStyles)),void N.push(An);const Os=[];rt.timelines.forEach(Ni=>{Ni.stretchStartingKeyframe=!0,this.disabledNodes.has(Ni.element)||Os.push(Ni)}),rt.timelines=Os,D.append(Hi,rt.timelines),K.push({instruction:rt,player:An,element:Hi}),rt.queriedElements.forEach(Ni=>rn(J,Ni,[]).push(An)),rt.preStyleProps.forEach((Ni,As)=>{if(Ni.size){let mr=ae.get(As);mr||ae.set(As,mr=new Set),Ni.forEach((Di,lo)=>mr.add(lo))}}),rt.postStyleProps.forEach((Ni,As)=>{let mr=De.get(As);mr||De.set(As,mr=new Set),Ni.forEach((Di,lo)=>mr.add(lo))})});if(Xn.length){const Tt=[];Xn.forEach(Bt=>{Tt.push(function gi(g,u){return new o.wOt(3505,!1)}())}),hi.forEach(Bt=>Bt.destroy()),this.reportError(Tt)}const Ui=new Map,On=new Map;K.forEach(Tt=>{const Bt=Tt.element;D.has(Bt)&&(On.set(Bt,Bt),this._beforeAnimationBuild(Tt.player.namespaceId,Tt.instruction,Ui))}),N.forEach(Tt=>{const Bt=Tt.element;this._getPreviousPlayers(Bt,!1,Tt.namespaceId,Tt.triggerName,null).forEach(An=>{rn(Ui,Bt,[]).push(An),An.destroy()})});const oi=wt.filter(Tt=>ks(Tt,ae,De)),Si=new Map;zs(Si,this.driver,dt,De,le).forEach(Tt=>{ks(Tt,ae,De)&&oi.push(Tt)});const Ir=new Map;Wt.forEach((Tt,Bt)=>{zs(Ir,this.driver,new Set(Tt),ae,"!")}),oi.forEach(Tt=>{const Bt=Si.get(Tt),Lt=Ir.get(Tt);Si.set(Tt,new Map([...Bt?.entries()??[],...Lt?.entries()??[]]))});const Qi=[],ao=[],_i={};K.forEach(Tt=>{const{element:Bt,player:Lt,instruction:An}=Tt;if(D.has(Bt)){if(Ke.has(Bt))return Lt.onDestroy(()=>qn(Bt,An.toStyles)),Lt.disabled=!0,Lt.overrideTotalTime(An.totalTime),void N.push(Lt);let Hi=_i;if(On.size>1){let gr=Bt;const Or=[];for(;gr=gr.parentNode;){const rt=On.get(gr);if(rt){Hi=rt;break}Or.push(gr)}Or.forEach(rt=>On.set(rt,Hi))}const Ji=this._buildAnimation(Lt.namespaceId,An,Ui,j,Ir,Si);if(Lt.setRealPlayer(Ji),Hi===_i)Qi.push(Lt);else{const gr=this.playersByElement.get(Hi);gr&&gr.length&&(Lt.parentPlayer=Rt(gr)),N.push(Lt)}}else si(Bt,An.fromStyles),Lt.onDestroy(()=>qn(Bt,An.toStyles)),ao.push(Lt),Ke.has(Bt)&&N.push(Lt)}),ao.forEach(Tt=>{const Bt=j.get(Tt.element);if(Bt&&Bt.length){const Lt=Rt(Bt);Tt.setRealPlayer(Lt)}}),N.forEach(Tt=>{Tt.parentPlayer?Tt.syncPlayerEvents(Tt.parentPlayer):Tt.destroy()});for(let Tt=0;Tt!Ji.destroyed);Hi.length?Ks(this,Bt,Hi):this.processLeaveNode(Bt)}return wt.length=0,Qi.forEach(Tt=>{this.players.push(Tt),Tt.onDone(()=>{Tt.destroy();const Bt=this.players.indexOf(Tt);this.players.splice(Bt,1)}),Tt.play()}),Qi}afterFlush(u){this._flushFns.push(u)}afterFlushAnimationsDone(u){this._whenQuietFns.push(u)}_getPreviousPlayers(u,f,D,N,j){let K=[];if(f){const J=this.playersByQueriedElement.get(u);J&&(K=J)}else{const J=this.playersByElement.get(u);if(J){const ae=!j||j==Mo;J.forEach(De=>{De.queued||!ae&&De.triggerName!=N||K.push(De)})}}return(D||N)&&(K=K.filter(J=>!(D&&D!=J.namespaceId||N&&N!=J.triggerName))),K}_beforeAnimationBuild(u,f,D){const j=f.element,K=f.isRemovalTransition?void 0:u,J=f.isRemovalTransition?void 0:f.triggerName;for(const ae of f.timelines){const De=ae.element,Ke=De!==j,ze=rn(D,De,[]);this._getPreviousPlayers(De,Ke,K,J,f.toState).forEach(Wt=>{const Dt=Wt.getRealPlayer();Dt.beforeDestroy&&Dt.beforeDestroy(),Wt.destroy(),ze.push(Wt)})}si(j,f.fromStyles)}_buildAnimation(u,f,D,N,j,K){const J=f.triggerName,ae=f.element,De=[],Ke=new Set,ze=new Set,un=f.timelines.map(Dt=>{const _t=Dt.element;Ke.add(_t);const wt=_t[ar];if(wt&&wt.removedBeforeQueried)return new Et(Dt.duration,Dt.delay);const ke=_t!==ae,dt=function ro(g){const u=[];return So(g,u),u}((D.get(_t)||Yr).map(Ui=>Ui.getRealPlayer())).filter(Ui=>!!Ui.element&&Ui.element===_t),En=j.get(_t),fi=K.get(_t),hi=$r(this._normalizer,Dt.keyframes,En,fi),Xn=this._buildPlayer(Dt,hi,dt);if(Dt.subTimeline&&N&&ze.add(_t),ke){const Ui=new Er(u,J,_t);Ui.setRealPlayer(Xn),De.push(Ui)}return Xn});De.forEach(Dt=>{rn(this.playersByQueriedElement,Dt.element,[]).push(Dt),Dt.onDone(()=>function go(g,u,f){let D=g.get(u);if(D){if(D.length){const N=D.indexOf(f);D.splice(N,1)}0==D.length&&g.delete(u)}return D}(this.playersByQueriedElement,Dt.element,Dt))}),Ke.forEach(Dt=>lr(Dt,xs));const Wt=Rt(un);return Wt.onDestroy(()=>{Ke.forEach(Dt=>vs(Dt,xs)),qn(ae,f.toStyles)}),ze.forEach(Dt=>{rn(N,Dt,[]).push(Wt)}),Wt}_buildPlayer(u,f,D){return f.length>0?this.driver.animate(u.element,f,u.duration,u.delay,u.easing,D):new Et(u.duration,u.delay)}}class Er{constructor(u,f,D){this.namespaceId=u,this.triggerName=f,this.element=D,this._player=new Et,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(u){this._containsRealPlayer||(this._player=u,this._queuedCallbacks.forEach((f,D)=>{f.forEach(N=>zt(u,D,void 0,N))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(u.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(u){this.totalTime=u}syncPlayerEvents(u){const f=this._player;f.triggerCallback&&u.onStart(()=>f.triggerCallback("start")),u.onDone(()=>this.finish()),u.onDestroy(()=>this.destroy())}_queueEvent(u,f){rn(this._queuedCallbacks,u,[]).push(f)}onDone(u){this.queued&&this._queueEvent("done",u),this._player.onDone(u)}onStart(u){this.queued&&this._queueEvent("start",u),this._player.onStart(u)}onDestroy(u){this.queued&&this._queueEvent("destroy",u),this._player.onDestroy(u)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(u){this.queued||this._player.setPosition(u)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(u){const f=this._player;f.triggerCallback&&f.triggerCallback(u)}}function xi(g){return g&&1===g.nodeType}function Cr(g,u){const f=g.style.display;return g.style.display=u??"none",f}function zs(g,u,f,D,N){const j=[];f.forEach(ae=>j.push(Cr(ae)));const K=[];D.forEach((ae,De)=>{const Ke=new Map;ae.forEach(ze=>{const un=u.computeStyle(De,ze,N);Ke.set(ze,un),(!un||0==un.length)&&(De[ar]=Sr,K.push(De))}),g.set(De,Ke)});let J=0;return f.forEach(ae=>Cr(ae,j[J++])),K}function mo(g,u){const f=new Map;if(g.forEach(J=>f.set(J,[])),0==u.length)return f;const N=new Set(u),j=new Map;function K(J){if(!J)return 1;let ae=j.get(J);if(ae)return ae;const De=J.parentNode;return ae=f.has(De)?De:N.has(De)?1:K(De),j.set(J,ae),ae}return u.forEach(J=>{const ae=K(J);1!==ae&&f.get(ae).push(J)}),f}function lr(g,u){g.classList?.add(u)}function vs(g,u){g.classList?.remove(u)}function Ks(g,u,f){Rt(f).onDone(()=>g.processLeaveNode(u))}function So(g,u){for(let f=0;fN.add(j)):u.set(g,D),f.delete(g),!0}class Ss{constructor(u,f,D){this._driver=f,this._normalizer=D,this._triggerCache={},this.onRemovalComplete=(N,j)=>{},this._transitionEngine=new Fn(u.body,f,D),this._timelineEngine=new xn(u.body,f,D),this._transitionEngine.onRemovalComplete=(N,j)=>this.onRemovalComplete(N,j)}registerTrigger(u,f,D,N,j){const K=u+"-"+N;let J=this._triggerCache[K];if(!J){const ae=[],Ke=zr(this._driver,j,ae,[]);if(ae.length)throw function Ri(g,u){return new o.wOt(3404,!1)}();J=function ui(g,u,f){return new di(g,u,f)}(N,Ke,this._normalizer),this._triggerCache[K]=J}this._transitionEngine.registerTrigger(f,N,J)}register(u,f){this._transitionEngine.register(u,f)}destroy(u,f){this._transitionEngine.destroy(u,f)}onInsert(u,f,D,N){this._transitionEngine.insertNode(u,f,D,N)}onRemove(u,f,D){this._transitionEngine.removeNode(u,f,D)}disableAnimations(u,f){this._transitionEngine.markElementAsDisabled(u,f)}process(u,f,D,N){if("@"==D.charAt(0)){const[j,K]=In(D);this._timelineEngine.command(j,f,K,N)}else this._transitionEngine.trigger(u,f,D,N)}listen(u,f,D,N,j){if("@"==D.charAt(0)){const[K,J]=In(D);return this._timelineEngine.listen(K,f,J,j)}return this._transitionEngine.listen(u,f,D,N,j)}flush(u=-1){this._transitionEngine.flush(u)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(u){this._transitionEngine.afterFlushAnimationsDone(u)}}class Vr{static#e=this.initialStylesByElement=new WeakMap;constructor(u,f,D){this._element=u,this._startStyles=f,this._endStyles=D,this._state=0;let N=Vr.initialStylesByElement.get(u);N||Vr.initialStylesByElement.set(u,N=new Map),this._initialStyles=N}start(){this._state<1&&(this._startStyles&&qn(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(qn(this._element,this._initialStyles),this._endStyles&&(qn(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(Vr.initialStylesByElement.delete(this._element),this._startStyles&&(si(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(si(this._element,this._endStyles),this._endStyles=null),qn(this._element,this._initialStyles),this._state=3)}}function O(g){let u=null;return g.forEach((f,D)=>{(function A(g){return"display"===g||"position"===g})(D)&&(u=u||new Map,u.set(D,f))}),u}class w{constructor(u,f,D,N){this.element=u,this.keyframes=f,this.options=D,this._specialStyles=N,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=D.duration,this._delay=D.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(u=>u()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const u=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,u,this.options),this._finalKeyframe=u.length?u[u.length-1]:new Map;const f=()=>this._onFinish();this.domPlayer.addEventListener("finish",f),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",f)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(u){const f=[];return u.forEach(D=>{f.push(Object.fromEntries(D))}),f}_triggerWebAnimation(u,f,D){return u.animate(this._convertKeyframesToObject(f),D)}onStart(u){this._originalOnStartFns.push(u),this._onStartFns.push(u)}onDone(u){this._originalOnDoneFns.push(u),this._onDoneFns.push(u)}onDestroy(u){this._onDestroyFns.push(u)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(u=>u()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(u=>u()),this._onDestroyFns=[])}setPosition(u){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=u*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const u=new Map;this.hasStarted()&&this._finalKeyframe.forEach((D,N)=>{"offset"!==N&&u.set(N,this._finished?D:Te(this.element,N))}),this.currentSnapshot=u}triggerCallback(u){const f="start"===u?this._onStartFns:this._onDoneFns;f.forEach(D=>D()),f.length=0}}class V{validateStyleProperty(u){return!0}validateAnimatableStyleProperty(u){return!0}containsElement(u,f){return Ve(u,f)}getParentElement(u){return Un(u)}query(u,f,D){return qe(u,f,D)}computeStyle(u,f,D){return Te(u,f)}animate(u,f,D,N,j,K=[]){const ae={duration:D,delay:N,fill:0==N?"both":"forwards"};j&&(ae.easing=j);const De=new Map,Ke=K.filter(Wt=>Wt instanceof w);(function W(g,u){return 0===g||0===u})(D,N)&&Ke.forEach(Wt=>{Wt.currentSnapshot.forEach((Dt,_t)=>De.set(_t,Dt))});let ze=function ci(g){return g.length?g[0]instanceof Map?g:g.map(u=>new Map(Object.entries(u))):[]}(f).map(Wt=>new Map(Wt));ze=function ee(g,u,f){if(f.size&&u.length){let D=u[0],N=[];if(f.forEach((j,K)=>{D.has(K)||N.push(K),D.set(K,j)}),N.length)for(let j=1;jK.set(J,Te(g,J)))}}return u}(u,ze,De);const un=function Go(g,u){let f=null,D=null;return Array.isArray(u)&&u.length?(f=O(u[0]),u.length>1&&(D=O(u[u.length-1]))):u instanceof Map&&(f=O(u)),f||D?new Vr(g,f,D):null}(u,ze);return new w(u,ze,ae,un)}}const Nr="@.disabled";class ys{constructor(u,f,D,N){this.namespaceId=u,this.delegate=f,this.engine=D,this._onDestroy=N,this.\u0275type=0}get data(){return this.delegate.data}destroyNode(u){this.delegate.destroyNode?.(u)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(u,f){return this.delegate.createElement(u,f)}createComment(u){return this.delegate.createComment(u)}createText(u){return this.delegate.createText(u)}appendChild(u,f){this.delegate.appendChild(u,f),this.engine.onInsert(this.namespaceId,f,u,!1)}insertBefore(u,f,D,N=!0){this.delegate.insertBefore(u,f,D),this.engine.onInsert(this.namespaceId,f,u,N)}removeChild(u,f,D){this.engine.onRemove(this.namespaceId,f,this.delegate)}selectRootElement(u,f){return this.delegate.selectRootElement(u,f)}parentNode(u){return this.delegate.parentNode(u)}nextSibling(u){return this.delegate.nextSibling(u)}setAttribute(u,f,D,N){this.delegate.setAttribute(u,f,D,N)}removeAttribute(u,f,D){this.delegate.removeAttribute(u,f,D)}addClass(u,f){this.delegate.addClass(u,f)}removeClass(u,f){this.delegate.removeClass(u,f)}setStyle(u,f,D,N){this.delegate.setStyle(u,f,D,N)}removeStyle(u,f,D){this.delegate.removeStyle(u,f,D)}setProperty(u,f,D){"@"==f.charAt(0)&&f==Nr?this.disableAnimations(u,!!D):this.delegate.setProperty(u,f,D)}setValue(u,f){this.delegate.setValue(u,f)}listen(u,f,D){return this.delegate.listen(u,f,D)}disableAnimations(u,f){this.engine.disableAnimations(u,f)}}class as extends ys{constructor(u,f,D,N,j){super(f,D,N,j),this.factory=u,this.namespaceId=f}setProperty(u,f,D){"@"==f.charAt(0)?"."==f.charAt(1)&&f==Nr?this.disableAnimations(u,D=void 0===D||!!D):this.engine.process(this.namespaceId,u,f.slice(1),D):this.delegate.setProperty(u,f,D)}listen(u,f,D){if("@"==f.charAt(0)){const N=function Ca(g){switch(g){case"body":return document.body;case"document":return document;case"window":return window;default:return g}}(u);let j=f.slice(1),K="";return"@"!=j.charAt(0)&&([j,K]=function la(g){const u=g.indexOf(".");return[g.substring(0,u),g.slice(u+1)]}(j)),this.engine.listen(this.namespaceId,N,j,K,J=>{this.factory.scheduleListenerCallback(J._data||-1,D,J)})}return this.delegate.listen(u,f,D)}}class wa{constructor(u,f,D){this.delegate=u,this.engine=f,this._zone=D,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,f.onRemovalComplete=(N,j)=>{const K=j?.parentNode(N);K&&j.removeChild(K,N)}}createRenderer(u,f){const N=this.delegate.createRenderer(u,f);if(!u||!f?.data?.animation){const De=this._rendererCache;let Ke=De.get(N);return Ke||(Ke=new ys("",N,this.engine,()=>De.delete(N)),De.set(N,Ke)),Ke}const j=f.id,K=f.id+"-"+this._currentId;this._currentId++,this.engine.register(K,u);const J=De=>{Array.isArray(De)?De.forEach(J):this.engine.registerTrigger(j,K,u,De.name,De)};return f.data.animation.forEach(J),new as(this,K,N,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(u,f,D){if(u>=0&&uf(D));const N=this._animationCallbacksBuffer;0==N.length&&queueMicrotask(()=>{this._zone.run(()=>{N.forEach(j=>{const[K,J]=j;K(J)}),this._animationCallbacksBuffer=[]})}),N.push([f,D])}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}const Ls=[{provide:ni,useFactory:function No(){return new Xe}},{provide:Ss,useClass:(()=>{class g extends Ss{constructor(f,D,N){super(f,D,N)}ngOnDestroy(){this.flush()}static#e=this.\u0275fac=function(D){return new(D||g)(o.KVO(ge.qQ),o.KVO(yn),o.KVO(ni))};static#t=this.\u0275prov=o.jDH({token:g,factory:g.\u0275fac})}return g})()},{provide:o._9s,useFactory:function zo(g,u,f){return new wa(g,u,f)},deps:[S.B7,Ss,o.SKi]}],Qs=[{provide:yn,useFactory:()=>new V},{provide:o.bc$,useValue:"BrowserAnimations"},...Ls];var Bs=x(4550),bs=x(9664);class _o{http;prefix;suffix;constructor(u,f="/assets/i18n/",D=".json"){this.http=u,this.prefix=f,this.suffix=D}getTranslation(u){return this.http.get(`${this.prefix}${u}${this.suffix}`)}}var Io=x(7673),Ko=x(8810),vo=x(6354),Oo=x(8141),Qo=x(9437),Ao=x(980),Ro=x(7647);class so{}let Xo=(()=>{class g extends so{constructor(f){super(),this.http=f}getSvg(f){return this.http.get(f,{responseType:"text"})}static#e=this.\u0275fac=function(D){return new(D||g)(o.KVO(ce.Qq))};static#t=this.\u0275prov=o.jDH({token:g,factory:g.\u0275fac})}return g})();const Po=new o.nKC("SERVER_URL");let yo=(()=>{class g{constructor(){this.loader=(0,o.WQX)(so),this.serverUrl=(0,o.WQX)(Po,{optional:!0}),this.document=(0,o.WQX)(ge.qQ),this.iconsByUrl=new Map,this.iconsLoadingByUrl=new Map}addSvg(f,D){if(!this.iconsByUrl.has(f)){const N=this.document.createElement("DIV");N.innerHTML=D;const j=N.querySelector("svg");this.iconsByUrl.set(f,j)}}loadSvg(f,D=f){if(this.serverUrl&&null===f.match(/^(http(s)?):/)&&(D=f=this.serverUrl+f),this.iconsByUrl.has(D))return(0,Io.of)(this.iconsByUrl.get(D));if(this.iconsLoadingByUrl.has(D))return this.iconsLoadingByUrl.get(D);const N=this.loader.getSvg(f).pipe((0,vo.T)(j=>{const K=this.document.createElement("DIV");return K.innerHTML=j,K.querySelector("svg")}),(0,Oo.M)(j=>this.iconsByUrl.set(D,j)),(0,Qo.W)(j=>(console.error(j),(0,Ko.$)(j))),(0,Ao.j)(()=>this.iconsLoadingByUrl.delete(D)),(0,Ro.u)());return this.iconsLoadingByUrl.set(D,N),N}getSvgByName(f){return this.iconsByUrl.has(f)?(0,Io.of)(this.iconsByUrl.get(f)):this.iconsLoadingByUrl.has(f)?this.iconsLoadingByUrl.get(f):(0,Ko.$)(`No svg with name '${f}' has been loaded`)}unloadSvg(f){this.iconsByUrl.has(f)&&this.iconsByUrl.delete(f)}static#e=this.\u0275fac=function(D){return new(D||g)};static#t=this.\u0275prov=o.jDH({token:g,factory:g.\u0275fac})}return g})();const Is={provide:yo,deps:[[new o.Xx1,new o.kdw,yo]],useFactory:function bo(g){return g||new yo}};let sl=(()=>{class g{static forRoot(f={}){return{ngModule:g,providers:[Is,f.loader||{provide:so,useClass:Xo}]}}static#e=this.\u0275fac=function(D){return new(D||g)};static#t=this.\u0275mod=o.$C({type:g});static#n=this.\u0275inj=o.G2t({})}return g})();var xo=x(2767);const qo=[{path:"auth",loadChildren:()=>x.e(794).then(x.bind(x,9794)).then(g=>g.routes)},{path:"home",loadComponent:()=>x.e(554).then(x.bind(x,5554)).then(g=>g.HomeComponent)},{path:"",redirectTo:"/home",pathMatch:"full"},{path:"**",loadComponent:()=>x.e(887).then(x.bind(x,8887)).then(g=>g.NotFoundComponent)}];var ls=x(6825),Xs=x(1315);const Ma={providers:[(0,Bs.lh)(qo,(0,Bs.Ii)({onSameUrlNavigation:"reload"}),(0,Bs.oH)({scrollPositionRestoration:"enabled"})),(0,o.oKB)(S.Bb,bs.h.forRoot({defaultLanguage:xo.c.defaultLanguage,loader:{provide:bs.Wr,useFactory:function Ta(g){return new _o(g,"./assets/i18n/",".json")},deps:[ce.Qq]}}),sl.forRoot()),Xs.n,ls.d,ge.vh,(0,ce.$R)((0,ce.ZZ)(),(0,ce.Sx)()),function ji(){return(0,o.ngT)("NgEagerAnimations"),[...Qs]}(),(0,S.$x)()]};var Zo=x(2128),ua=x(2840);function Do(g,u){if(1&g&&(o.j41(0,"div",6),o.EFF(1),o.nI1(2,"translate"),o.k0s()),2&g){const f=o.XpG(2).$implicit;o.R7$(),o.JRh(o.bMT(2,1,f.headerKey))}}function oo(g,u){if(1&g){const f=o.RV6();o.qex(0),o.j41(1,"ngb-toast",3),o.bIt("hide",function(){o.eBV(f);const N=o.XpG().$implicit,j=o.XpG();return o.Njj(j.toastManager.remove(N.id))}),o.DNE(2,Do,3,3,"ng-template",4),o.j41(3,"div",5),o.EFF(4),o.k0s()(),o.bVm()}if(2&g){const f=o.XpG().$implicit;o.R7$(),o.ZvI("bg-",f.type,""),o.Y8G("autohide",f.autoHide)("delay",f.delay),o.R7$(3),o.JRh(f.body)}}function Sa(g,u){if(1&g){const f=o.RV6();o.j41(0,"ngb-toast",3),o.bIt("hide",function(){o.eBV(f);const N=o.XpG().$implicit,j=o.XpG();return o.Njj(j.toastManager.remove(N.id))}),o.j41(1,"div",5),o.EFF(2),o.k0s()()}if(2&g){const f=o.XpG().$implicit;o.ZvI("bg-",f.type,""),o.Y8G("autohide",f.autoHide)("delay",f.delay),o.R7$(2),o.JRh(f.body)}}function ol(g,u){if(1&g&&(o.qex(0),o.DNE(1,oo,5,6,"ng-container",2)(2,Sa,3,6,"ng-template",null,0,o.C5r),o.bVm()),2&g){const f=u.$implicit,D=o.sdS(3);o.R7$(),o.Y8G("ngIf",f.headerKey&&f.withHeader)("ngIfElse",D)}}let b=(()=>{class g{constructor(f){this.toastManager=f}static#e=this.\u0275fac=function(D){return new(D||g)(o.rXU(ua.t))};static#t=this.\u0275cmp=o.VBU({type:g,selectors:[["app-toast"]],standalone:!0,features:[o.aNF],decls:1,vars:1,consts:[["withoutHeader",""],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],[3,"hide","autohide","delay"],["ngbToastHeader",""],[1,"text-dark"],[1,"text-white","me-auto"]],template:function(D,N){1&D&&o.DNE(0,ol,4,2,"ng-container",1),2&D&&o.Y8G("ngForOf",N.toastManager.toasts)},dependencies:[ge.pM,ge.bT,Zo.Nb,Zo.s,bs.h,bs.D9],styles:["[_nghost-%COMP%]{position:fixed;bottom:0;right:0;margin:.5em;z-index:1200}"]})}return g})();function k(g,u){1&g&&o.nrm(0,"app-toast",3)}let T=(()=>{class g{constructor(f){this.storeService=f}ngOnInit(){}static#e=this.\u0275fac=function(D){return new(D||g)(o.rXU(Xs.n))};static#t=this.\u0275cmp=o.VBU({type:g,selectors:[["app-root"]],standalone:!0,features:[o.aNF],decls:4,vars:1,consts:[[1,"scrollable-container"],[1,"layout"],["aria-live","polite","aria-atomic","true",4,"ngIf"],["aria-live","polite","aria-atomic","true"]],template:function(D,N){1&D&&(o.j41(0,"div",0)(1,"div",1),o.nrm(2,"router-outlet"),o.k0s()(),o.DNE(3,k,1,0,"app-toast",2)),2&D&&(o.R7$(3),o.Y8G("ngIf",!N.storeService.isServer()))},dependencies:[Bs.n3,b,ge.bT],styles:[".scrollable-container[_ngcontent-%COMP%]{height:100vh;display:block}.scrollable-container[_ngcontent-%COMP%] .layout[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh}"]})}return g})();xo.c.production&&(0,o.SmG)(),(0,S.B8)(T,Ma).catch(g=>console.error(g))},4412:(yt,Se,x)=>{x.d(Se,{t:()=>S});var o=x(1413);class S extends o.B{constructor(ce){super(),this._value=ce}get value(){return this.getValue()}_subscribe(ce){const X=super._subscribe(ce);return!X.closed&&ce.next(this._value),X}getValue(){const{hasError:ce,thrownError:X,_value:le}=this;if(ce)throw X;return this._throwIfClosed(),le}next(ce){super.next(this._value=ce)}}},1985:(yt,Se,x)=>{x.d(Se,{c:()=>Pe});var o=x(7707),S=x(8359),ge=x(3494),ce=x(1203),X=x(1026),le=x(8071),Ne=x(9786);let Pe=(()=>{class Be{constructor(He){He&&(this._subscribe=He)}lift(He){const We=new Be;return We.source=this,We.operator=He,We}subscribe(He,We,St){const jt=function Me(Be){return Be&&Be instanceof o.vU||function Ae(Be){return Be&&(0,le.T)(Be.next)&&(0,le.T)(Be.error)&&(0,le.T)(Be.complete)}(Be)&&(0,S.Uv)(Be)}(He)?He:new o.Ms(He,We,St);return(0,Ne.Y)(()=>{const{operator:Mt,source:Kt}=this;jt.add(Mt?Mt.call(jt,Kt):Kt?this._subscribe(jt):this._trySubscribe(jt))}),jt}_trySubscribe(He){try{return this._subscribe(He)}catch(We){He.error(We)}}forEach(He,We){return new(We=Ie(We))((St,jt)=>{const Mt=new o.Ms({next:Kt=>{try{He(Kt)}catch(Nn){jt(Nn),Mt.unsubscribe()}},error:jt,complete:St});this.subscribe(Mt)})}_subscribe(He){var We;return null===(We=this.source)||void 0===We?void 0:We.subscribe(He)}[ge.s](){return this}pipe(...He){return(0,ce.m)(He)(this)}toPromise(He){return new(He=Ie(He))((We,St)=>{let jt;this.subscribe(Mt=>jt=Mt,Mt=>St(Mt),()=>We(jt))})}}return Be.create=ct=>new Be(ct),Be})();function Ie(Be){var ct;return null!==(ct=Be??X.$.Promise)&&void 0!==ct?ct:Promise}},1413:(yt,Se,x)=>{x.d(Se,{B:()=>Ne});var o=x(1985),S=x(8359);const ce=(0,x(1853).L)(Ie=>function(){Ie(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var X=x(7908),le=x(9786);let Ne=(()=>{class Ie extends o.c{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(Me){const Be=new Pe(this,this);return Be.operator=Me,Be}_throwIfClosed(){if(this.closed)throw new ce}next(Me){(0,le.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const Be of this.currentObservers)Be.next(Me)}})}error(Me){(0,le.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=Me;const{observers:Be}=this;for(;Be.length;)Be.shift().error(Me)}})}complete(){(0,le.Y)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:Me}=this;for(;Me.length;)Me.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var Me;return(null===(Me=this.observers)||void 0===Me?void 0:Me.length)>0}_trySubscribe(Me){return this._throwIfClosed(),super._trySubscribe(Me)}_subscribe(Me){return this._throwIfClosed(),this._checkFinalizedStatuses(Me),this._innerSubscribe(Me)}_innerSubscribe(Me){const{hasError:Be,isStopped:ct,observers:He}=this;return Be||ct?S.Kn:(this.currentObservers=null,He.push(Me),new S.yU(()=>{this.currentObservers=null,(0,X.o)(He,Me)}))}_checkFinalizedStatuses(Me){const{hasError:Be,thrownError:ct,isStopped:He}=this;Be?Me.error(ct):He&&Me.complete()}asObservable(){const Me=new o.c;return Me.source=this,Me}}return Ie.create=(Ae,Me)=>new Pe(Ae,Me),Ie})();class Pe extends Ne{constructor(Ae,Me){super(),this.destination=Ae,this.source=Me}next(Ae){var Me,Be;null===(Be=null===(Me=this.destination)||void 0===Me?void 0:Me.next)||void 0===Be||Be.call(Me,Ae)}error(Ae){var Me,Be;null===(Be=null===(Me=this.destination)||void 0===Me?void 0:Me.error)||void 0===Be||Be.call(Me,Ae)}complete(){var Ae,Me;null===(Me=null===(Ae=this.destination)||void 0===Ae?void 0:Ae.complete)||void 0===Me||Me.call(Ae)}_subscribe(Ae){var Me,Be;return null!==(Be=null===(Me=this.source)||void 0===Me?void 0:Me.subscribe(Ae))&&void 0!==Be?Be:S.Kn}}},7707:(yt,Se,x)=>{x.d(Se,{Ms:()=>St,vU:()=>Be});var o=x(8071),S=x(8359),ge=x(1026),ce=x(5334),X=x(5343);const le=Ie("C",void 0,void 0);function Ie(Ge,$e,st){return{kind:Ge,value:$e,error:st}}var Ae=x(9270),Me=x(9786);class Be extends S.yU{constructor($e){super(),this.isStopped=!1,$e?(this.destination=$e,(0,S.Uv)($e)&&$e.add(this)):this.destination=Nn}static create($e,st,kt){return new St($e,st,kt)}next($e){this.isStopped?Kt(function Pe(Ge){return Ie("N",Ge,void 0)}($e),this):this._next($e)}error($e){this.isStopped?Kt(function Ne(Ge){return Ie("E",void 0,Ge)}($e),this):(this.isStopped=!0,this._error($e))}complete(){this.isStopped?Kt(le,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next($e){this.destination.next($e)}_error($e){try{this.destination.error($e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const ct=Function.prototype.bind;function He(Ge,$e){return ct.call(Ge,$e)}class We{constructor($e){this.partialObserver=$e}next($e){const{partialObserver:st}=this;if(st.next)try{st.next($e)}catch(kt){jt(kt)}}error($e){const{partialObserver:st}=this;if(st.error)try{st.error($e)}catch(kt){jt(kt)}else jt($e)}complete(){const{partialObserver:$e}=this;if($e.complete)try{$e.complete()}catch(st){jt(st)}}}class St extends Be{constructor($e,st,kt){let lt;if(super(),(0,o.T)($e)||!$e)lt={next:$e??void 0,error:st??void 0,complete:kt??void 0};else{let it;this&&ge.$.useDeprecatedNextContext?(it=Object.create($e),it.unsubscribe=()=>this.unsubscribe(),lt={next:$e.next&&He($e.next,it),error:$e.error&&He($e.error,it),complete:$e.complete&&He($e.complete,it)}):lt=$e}this.destination=new We(lt)}}function jt(Ge){ge.$.useDeprecatedSynchronousErrorHandling?(0,Me.l)(Ge):(0,ce.m)(Ge)}function Kt(Ge,$e){const{onStoppedNotification:st}=ge.$;st&&Ae.f.setTimeout(()=>st(Ge,$e))}const Nn={closed:!0,next:X.l,error:function Mt(Ge){throw Ge},complete:X.l}},8359:(yt,Se,x)=>{x.d(Se,{Kn:()=>le,yU:()=>X,Uv:()=>Ne});var o=x(8071);const ge=(0,x(1853).L)(Ie=>function(Me){Ie(this),this.message=Me?`${Me.length} errors occurred during unsubscription:\n${Me.map((Be,ct)=>`${ct+1}) ${Be.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=Me});var ce=x(7908);class X{constructor(Ae){this.initialTeardown=Ae,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let Ae;if(!this.closed){this.closed=!0;const{_parentage:Me}=this;if(Me)if(this._parentage=null,Array.isArray(Me))for(const He of Me)He.remove(this);else Me.remove(this);const{initialTeardown:Be}=this;if((0,o.T)(Be))try{Be()}catch(He){Ae=He instanceof ge?He.errors:[He]}const{_finalizers:ct}=this;if(ct){this._finalizers=null;for(const He of ct)try{Pe(He)}catch(We){Ae=Ae??[],We instanceof ge?Ae=[...Ae,...We.errors]:Ae.push(We)}}if(Ae)throw new ge(Ae)}}add(Ae){var Me;if(Ae&&Ae!==this)if(this.closed)Pe(Ae);else{if(Ae instanceof X){if(Ae.closed||Ae._hasParent(this))return;Ae._addParent(this)}(this._finalizers=null!==(Me=this._finalizers)&&void 0!==Me?Me:[]).push(Ae)}}_hasParent(Ae){const{_parentage:Me}=this;return Me===Ae||Array.isArray(Me)&&Me.includes(Ae)}_addParent(Ae){const{_parentage:Me}=this;this._parentage=Array.isArray(Me)?(Me.push(Ae),Me):Me?[Me,Ae]:Ae}_removeParent(Ae){const{_parentage:Me}=this;Me===Ae?this._parentage=null:Array.isArray(Me)&&(0,ce.o)(Me,Ae)}remove(Ae){const{_finalizers:Me}=this;Me&&(0,ce.o)(Me,Ae),Ae instanceof X&&Ae._removeParent(this)}}X.EMPTY=(()=>{const Ie=new X;return Ie.closed=!0,Ie})();const le=X.EMPTY;function Ne(Ie){return Ie instanceof X||Ie&&"closed"in Ie&&(0,o.T)(Ie.remove)&&(0,o.T)(Ie.add)&&(0,o.T)(Ie.unsubscribe)}function Pe(Ie){(0,o.T)(Ie)?Ie():Ie.unsubscribe()}},1026:(yt,Se,x)=>{x.d(Se,{$:()=>o});const o={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},8793:(yt,Se,x)=>{x.d(Se,{x:()=>X});var o=x(6365),ge=x(9326),ce=x(6648);function X(...le){return function S(){return(0,o.U)(1)}()((0,ce.H)(le,(0,ge.lI)(le)))}},9030:(yt,Se,x)=>{x.d(Se,{v:()=>ge});var o=x(1985),S=x(8750);function ge(ce){return new o.c(X=>{(0,S.Tg)(ce()).subscribe(X)})}},983:(yt,Se,x)=>{x.d(Se,{w:()=>S});const S=new(x(1985).c)(X=>X.complete())},7468:(yt,Se,x)=>{x.d(Se,{p:()=>Pe});var o=x(1985),S=x(3073),ge=x(8750),ce=x(9326),X=x(4360),le=x(6450),Ne=x(8496);function Pe(...Ie){const Ae=(0,ce.ms)(Ie),{args:Me,keys:Be}=(0,S.D)(Ie),ct=new o.c(He=>{const{length:We}=Me;if(!We)return void He.complete();const St=new Array(We);let jt=We,Mt=We;for(let Kt=0;Kt{Nn||(Nn=!0,Mt--),St[Kt]=Ge},()=>jt--,void 0,()=>{(!jt||!Nn)&&(Mt||He.next(Be?(0,Ne.e)(Be,St):St),He.complete())}))}});return Ae?ct.pipe((0,le.I)(Ae)):ct}},6648:(yt,Se,x)=>{x.d(Se,{H:()=>kt});var o=x(8750),S=x(5225),ge=x(9974),ce=x(4360);function X(lt,it=0){return(0,ge.N)((Ct,Et)=>{Ct.subscribe((0,ce._)(Et,$t=>(0,S.N)(Et,lt,()=>Et.next($t),it),()=>(0,S.N)(Et,lt,()=>Et.complete(),it),$t=>(0,S.N)(Et,lt,()=>Et.error($t),it)))})}function le(lt,it=0){return(0,ge.N)((Ct,Et)=>{Et.add(lt.schedule(()=>Ct.subscribe(Et),it))})}var Ie=x(1985),Me=x(4761),Be=x(8071);function He(lt,it){if(!lt)throw new Error("Iterable cannot be null");return new Ie.c(Ct=>{(0,S.N)(Ct,it,()=>{const Et=lt[Symbol.asyncIterator]();(0,S.N)(Ct,it,()=>{Et.next().then($t=>{$t.done?Ct.complete():Ct.next($t.value)})},0,!0)})})}var We=x(5055),St=x(9858),jt=x(7441),Mt=x(5397),Kt=x(7953),Nn=x(591),Ge=x(5196);function kt(lt,it){return it?function st(lt,it){if(null!=lt){if((0,We.l)(lt))return function Ne(lt,it){return(0,o.Tg)(lt).pipe(le(it),X(it))}(lt,it);if((0,jt.X)(lt))return function Ae(lt,it){return new Ie.c(Ct=>{let Et=0;return it.schedule(function(){Et===lt.length?Ct.complete():(Ct.next(lt[Et++]),Ct.closed||this.schedule())})})}(lt,it);if((0,St.y)(lt))return function Pe(lt,it){return(0,o.Tg)(lt).pipe(le(it),X(it))}(lt,it);if((0,Kt.T)(lt))return He(lt,it);if((0,Mt.x)(lt))return function ct(lt,it){return new Ie.c(Ct=>{let Et;return(0,S.N)(Ct,it,()=>{Et=lt[Me.l](),(0,S.N)(Ct,it,()=>{let $t,Qt;try{({value:$t,done:Qt}=Et.next())}catch(Wn){return void Ct.error(Wn)}Qt?Ct.complete():Ct.next($t)},0,!0)}),()=>(0,Be.T)(Et?.return)&&Et.return()})}(lt,it);if((0,Ge.U)(lt))return function $e(lt,it){return He((0,Ge.C)(lt),it)}(lt,it)}throw(0,Nn.L)(lt)}(lt,it):(0,o.Tg)(lt)}},8750:(yt,Se,x)=>{x.d(Se,{Tg:()=>ct});var o=x(1635),S=x(7441),ge=x(9858),ce=x(1985),X=x(5055),le=x(7953),Ne=x(591),Pe=x(5397),Ie=x(5196),Ae=x(8071),Me=x(5334),Be=x(3494);function ct(Ge){if(Ge instanceof ce.c)return Ge;if(null!=Ge){if((0,X.l)(Ge))return function He(Ge){return new ce.c($e=>{const st=Ge[Be.s]();if((0,Ae.T)(st.subscribe))return st.subscribe($e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(Ge);if((0,S.X)(Ge))return function We(Ge){return new ce.c($e=>{for(let st=0;st{Ge.then(st=>{$e.closed||($e.next(st),$e.complete())},st=>$e.error(st)).then(null,Me.m)})}(Ge);if((0,le.T)(Ge))return Mt(Ge);if((0,Pe.x)(Ge))return function jt(Ge){return new ce.c($e=>{for(const st of Ge)if($e.next(st),$e.closed)return;$e.complete()})}(Ge);if((0,Ie.U)(Ge))return function Kt(Ge){return Mt((0,Ie.C)(Ge))}(Ge)}throw(0,Ne.L)(Ge)}function Mt(Ge){return new ce.c($e=>{(function Nn(Ge,$e){var st,kt,lt,it;return(0,o.sH)(this,void 0,void 0,function*(){try{for(st=(0,o.xN)(Ge);!(kt=yield st.next()).done;)if($e.next(kt.value),$e.closed)return}catch(Ct){lt={error:Ct}}finally{try{kt&&!kt.done&&(it=st.return)&&(yield it.call(st))}finally{if(lt)throw lt.error}}$e.complete()})})(Ge,$e).catch(st=>$e.error(st))})}},7673:(yt,Se,x)=>{x.d(Se,{of:()=>ge});var o=x(9326),S=x(6648);function ge(...ce){const X=(0,o.lI)(ce);return(0,S.H)(ce,X)}},8810:(yt,Se,x)=>{x.d(Se,{$:()=>ge});var o=x(1985),S=x(8071);function ge(ce,X){const le=(0,S.T)(ce)?ce:()=>ce,Ne=Pe=>Pe.error(le());return new o.c(X?Pe=>X.schedule(Ne,0,Pe):Ne)}},4360:(yt,Se,x)=>{x.d(Se,{_:()=>S});var o=x(7707);function S(ce,X,le,Ne,Pe){return new ge(ce,X,le,Ne,Pe)}class ge extends o.vU{constructor(X,le,Ne,Pe,Ie,Ae){super(X),this.onFinalize=Ie,this.shouldUnsubscribe=Ae,this._next=le?function(Me){try{le(Me)}catch(Be){X.error(Be)}}:super._next,this._error=Pe?function(Me){try{Pe(Me)}catch(Be){X.error(Be)}finally{this.unsubscribe()}}:super._error,this._complete=Ne?function(){try{Ne()}catch(Me){X.error(Me)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var X;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:le}=this;super.unsubscribe(),!le&&(null===(X=this.onFinalize)||void 0===X||X.call(this))}}}},9437:(yt,Se,x)=>{x.d(Se,{W:()=>ce});var o=x(8750),S=x(4360),ge=x(9974);function ce(X){return(0,ge.N)((le,Ne)=>{let Ae,Pe=null,Ie=!1;Pe=le.subscribe((0,S._)(Ne,void 0,void 0,Me=>{Ae=(0,o.Tg)(X(Me,ce(X)(le))),Pe?(Pe.unsubscribe(),Pe=null,Ae.subscribe(Ne)):Ie=!0})),Ie&&(Pe.unsubscribe(),Pe=null,Ae.subscribe(Ne))})}},274:(yt,Se,x)=>{x.d(Se,{H:()=>ge});var o=x(1397),S=x(8071);function ge(ce,X){return(0,S.T)(X)?(0,o.Z)(ce,X,1):(0,o.Z)(ce,1)}},9901:(yt,Se,x)=>{x.d(Se,{U:()=>ge});var o=x(9974),S=x(4360);function ge(ce){return(0,o.N)((X,le)=>{let Ne=!1;X.subscribe((0,S._)(le,Pe=>{Ne=!0,le.next(Pe)},()=>{Ne||le.next(ce),le.complete()}))})}},5964:(yt,Se,x)=>{x.d(Se,{p:()=>ge});var o=x(9974),S=x(4360);function ge(ce,X){return(0,o.N)((le,Ne)=>{let Pe=0;le.subscribe((0,S._)(Ne,Ie=>ce.call(X,Ie,Pe++)&&Ne.next(Ie)))})}},980:(yt,Se,x)=>{x.d(Se,{j:()=>S});var o=x(9974);function S(ge){return(0,o.N)((ce,X)=>{try{ce.subscribe(X)}finally{X.add(ge)}})}},1594:(yt,Se,x)=>{x.d(Se,{$:()=>Ne});var o=x(9350),S=x(5964),ge=x(6697),ce=x(9901),X=x(3774),le=x(3669);function Ne(Pe,Ie){const Ae=arguments.length>=2;return Me=>Me.pipe(Pe?(0,S.p)((Be,ct)=>Pe(Be,ct,Me)):le.D,(0,ge.s)(1),Ae?(0,ce.U)(Ie):(0,X.v)(()=>new o.G))}},6354:(yt,Se,x)=>{x.d(Se,{T:()=>ge});var o=x(9974),S=x(4360);function ge(ce,X){return(0,o.N)((le,Ne)=>{let Pe=0;le.subscribe((0,S._)(Ne,Ie=>{Ne.next(ce.call(X,Ie,Pe++))}))})}},3703:(yt,Se,x)=>{x.d(Se,{u:()=>S});var o=x(6354);function S(ge){return(0,o.T)(()=>ge)}},6365:(yt,Se,x)=>{x.d(Se,{U:()=>ge});var o=x(1397),S=x(3669);function ge(ce=1/0){return(0,o.Z)(S.D,ce)}},1397:(yt,Se,x)=>{x.d(Se,{Z:()=>Pe});var o=x(6354),S=x(8750),ge=x(9974),ce=x(5225),X=x(4360),Ne=x(8071);function Pe(Ie,Ae,Me=1/0){return(0,Ne.T)(Ae)?Pe((Be,ct)=>(0,o.T)((He,We)=>Ae(Be,He,ct,We))((0,S.Tg)(Ie(Be,ct))),Me):("number"==typeof Ae&&(Me=Ae),(0,ge.N)((Be,ct)=>function le(Ie,Ae,Me,Be,ct,He,We,St){const jt=[];let Mt=0,Kt=0,Nn=!1;const Ge=()=>{Nn&&!jt.length&&!Mt&&Ae.complete()},$e=kt=>Mt{He&&Ae.next(kt),Mt++;let lt=!1;(0,S.Tg)(Me(kt,Kt++)).subscribe((0,X._)(Ae,it=>{ct?.(it),He?$e(it):Ae.next(it)},()=>{lt=!0},void 0,()=>{if(lt)try{for(Mt--;jt.length&&Mtst(it)):st(it)}Ge()}catch(it){Ae.error(it)}}))};return Ie.subscribe((0,X._)(Ae,$e,()=>{Nn=!0,Ge()})),()=>{St?.()}}(Be,ct,Ie,Me)))}},7647:(yt,Se,x)=>{x.d(Se,{u:()=>X});var o=x(8750),S=x(1413),ge=x(7707),ce=x(9974);function X(Ne={}){const{connector:Pe=(()=>new S.B),resetOnError:Ie=!0,resetOnComplete:Ae=!0,resetOnRefCountZero:Me=!0}=Ne;return Be=>{let ct,He,We,St=0,jt=!1,Mt=!1;const Kt=()=>{He?.unsubscribe(),He=void 0},Nn=()=>{Kt(),ct=We=void 0,jt=Mt=!1},Ge=()=>{const $e=ct;Nn(),$e?.unsubscribe()};return(0,ce.N)(($e,st)=>{St++,!Mt&&!jt&&Kt();const kt=We=We??Pe();st.add(()=>{St--,0===St&&!Mt&&!jt&&(He=le(Ge,Me))}),kt.subscribe(st),!ct&&St>0&&(ct=new ge.Ms({next:lt=>kt.next(lt),error:lt=>{Mt=!0,Kt(),He=le(Nn,Ie,lt),kt.error(lt)},complete:()=>{jt=!0,Kt(),He=le(Nn,Ae),kt.complete()}}),(0,o.Tg)($e).subscribe(ct))})(Be)}}function le(Ne,Pe,...Ie){if(!0===Pe)return void Ne();if(!1===Pe)return;const Ae=new ge.Ms({next:()=>{Ae.unsubscribe(),Ne()}});return(0,o.Tg)(Pe(...Ie)).subscribe(Ae)}},9172:(yt,Se,x)=>{x.d(Se,{Z:()=>ce});var o=x(8793),S=x(9326),ge=x(9974);function ce(...X){const le=(0,S.lI)(X);return(0,ge.N)((Ne,Pe)=>{(le?(0,o.x)(X,Ne,le):(0,o.x)(X,Ne)).subscribe(Pe)})}},5558:(yt,Se,x)=>{x.d(Se,{n:()=>ce});var o=x(8750),S=x(9974),ge=x(4360);function ce(X,le){return(0,S.N)((Ne,Pe)=>{let Ie=null,Ae=0,Me=!1;const Be=()=>Me&&!Ie&&Pe.complete();Ne.subscribe((0,ge._)(Pe,ct=>{Ie?.unsubscribe();let He=0;const We=Ae++;(0,o.Tg)(X(ct,We)).subscribe(Ie=(0,ge._)(Pe,St=>Pe.next(le?le(ct,St,We,He++):St),()=>{Ie=null,Be()}))},()=>{Me=!0,Be()}))})}},6697:(yt,Se,x)=>{x.d(Se,{s:()=>ce});var o=x(983),S=x(9974),ge=x(4360);function ce(X){return X<=0?()=>o.w:(0,S.N)((le,Ne)=>{let Pe=0;le.subscribe((0,ge._)(Ne,Ie=>{++Pe<=X&&(Ne.next(Ie),X<=Pe&&Ne.complete())}))})}},6977:(yt,Se,x)=>{x.d(Se,{Q:()=>X});var o=x(9974),S=x(4360),ge=x(8750),ce=x(5343);function X(le){return(0,o.N)((Ne,Pe)=>{(0,ge.Tg)(le).subscribe((0,S._)(Pe,()=>Pe.complete(),ce.l)),!Pe.closed&&Ne.subscribe(Pe)})}},8141:(yt,Se,x)=>{x.d(Se,{M:()=>X});var o=x(8071),S=x(9974),ge=x(4360),ce=x(3669);function X(le,Ne,Pe){const Ie=(0,o.T)(le)||Ne||Pe?{next:le,error:Ne,complete:Pe}:le;return Ie?(0,S.N)((Ae,Me)=>{var Be;null===(Be=Ie.subscribe)||void 0===Be||Be.call(Ie);let ct=!0;Ae.subscribe((0,ge._)(Me,He=>{var We;null===(We=Ie.next)||void 0===We||We.call(Ie,He),Me.next(He)},()=>{var He;ct=!1,null===(He=Ie.complete)||void 0===He||He.call(Ie),Me.complete()},He=>{var We;ct=!1,null===(We=Ie.error)||void 0===We||We.call(Ie,He),Me.error(He)},()=>{var He,We;ct&&(null===(He=Ie.unsubscribe)||void 0===He||He.call(Ie)),null===(We=Ie.finalize)||void 0===We||We.call(Ie)}))}):ce.D}},3774:(yt,Se,x)=>{x.d(Se,{v:()=>ce});var o=x(9350),S=x(9974),ge=x(4360);function ce(le=X){return(0,S.N)((Ne,Pe)=>{let Ie=!1;Ne.subscribe((0,ge._)(Pe,Ae=>{Ie=!0,Pe.next(Ae)},()=>Ie?Pe.complete():Pe.error(le())))})}function X(){return new o.G}},6129:(yt,Se,x)=>{x.d(Se,{U:()=>o});const o={now:()=>(o.delegate||Date).now(),delegate:void 0}},9270:(yt,Se,x)=>{x.d(Se,{f:()=>o});const o={setTimeout(S,ge,...ce){const{delegate:X}=o;return X?.setTimeout?X.setTimeout(S,ge,...ce):setTimeout(S,ge,...ce)},clearTimeout(S){const{delegate:ge}=o;return(ge?.clearTimeout||clearTimeout)(S)},delegate:void 0}},4761:(yt,Se,x)=>{x.d(Se,{l:()=>S});const S=function o(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},3494:(yt,Se,x)=>{x.d(Se,{s:()=>o});const o="function"==typeof Symbol&&Symbol.observable||"@@observable"},9350:(yt,Se,x)=>{x.d(Se,{G:()=>S});const S=(0,x(1853).L)(ge=>function(){ge(this),this.name="EmptyError",this.message="no elements in sequence"})},9326:(yt,Se,x)=>{x.d(Se,{R0:()=>le,lI:()=>X,ms:()=>ce});var o=x(8071),S=x(9470);function ge(Ne){return Ne[Ne.length-1]}function ce(Ne){return(0,o.T)(ge(Ne))?Ne.pop():void 0}function X(Ne){return(0,S.m)(ge(Ne))?Ne.pop():void 0}function le(Ne,Pe){return"number"==typeof ge(Ne)?Ne.pop():Pe}},3073:(yt,Se,x)=>{x.d(Se,{D:()=>X});const{isArray:o}=Array,{getPrototypeOf:S,prototype:ge,keys:ce}=Object;function X(Ne){if(1===Ne.length){const Pe=Ne[0];if(o(Pe))return{args:Pe,keys:null};if(function le(Ne){return Ne&&"object"==typeof Ne&&S(Ne)===ge}(Pe)){const Ie=ce(Pe);return{args:Ie.map(Ae=>Pe[Ae]),keys:Ie}}}return{args:Ne,keys:null}}},7908:(yt,Se,x)=>{function o(S,ge){if(S){const ce=S.indexOf(ge);0<=ce&&S.splice(ce,1)}}x.d(Se,{o:()=>o})},1853:(yt,Se,x)=>{function o(S){const ce=S(X=>{Error.call(X),X.stack=(new Error).stack});return ce.prototype=Object.create(Error.prototype),ce.prototype.constructor=ce,ce}x.d(Se,{L:()=>o})},8496:(yt,Se,x)=>{function o(S,ge){return S.reduce((ce,X,le)=>(ce[X]=ge[le],ce),{})}x.d(Se,{e:()=>o})},9786:(yt,Se,x)=>{x.d(Se,{Y:()=>ge,l:()=>ce});var o=x(1026);let S=null;function ge(X){if(o.$.useDeprecatedSynchronousErrorHandling){const le=!S;if(le&&(S={errorThrown:!1,error:null}),X(),le){const{errorThrown:Ne,error:Pe}=S;if(S=null,Ne)throw Pe}}else X()}function ce(X){o.$.useDeprecatedSynchronousErrorHandling&&S&&(S.errorThrown=!0,S.error=X)}},5225:(yt,Se,x)=>{function o(S,ge,ce,X=0,le=!1){const Ne=ge.schedule(function(){ce(),le?S.add(this.schedule(null,X)):this.unsubscribe()},X);if(S.add(Ne),!le)return Ne}x.d(Se,{N:()=>o})},3669:(yt,Se,x)=>{function o(S){return S}x.d(Se,{D:()=>o})},7441:(yt,Se,x)=>{x.d(Se,{X:()=>o});const o=S=>S&&"number"==typeof S.length&&"function"!=typeof S},7953:(yt,Se,x)=>{x.d(Se,{T:()=>S});var o=x(8071);function S(ge){return Symbol.asyncIterator&&(0,o.T)(ge?.[Symbol.asyncIterator])}},8071:(yt,Se,x)=>{function o(S){return"function"==typeof S}x.d(Se,{T:()=>o})},5055:(yt,Se,x)=>{x.d(Se,{l:()=>ge});var o=x(3494),S=x(8071);function ge(ce){return(0,S.T)(ce[o.s])}},5397:(yt,Se,x)=>{x.d(Se,{x:()=>ge});var o=x(4761),S=x(8071);function ge(ce){return(0,S.T)(ce?.[o.l])}},4402:(yt,Se,x)=>{x.d(Se,{A:()=>ge});var o=x(1985),S=x(8071);function ge(ce){return!!ce&&(ce instanceof o.c||(0,S.T)(ce.lift)&&(0,S.T)(ce.subscribe))}},9858:(yt,Se,x)=>{x.d(Se,{y:()=>S});var o=x(8071);function S(ge){return(0,o.T)(ge?.then)}},5196:(yt,Se,x)=>{x.d(Se,{C:()=>ge,U:()=>ce});var o=x(1635),S=x(8071);function ge(X){return(0,o.AQ)(this,arguments,function*(){const Ne=X.getReader();try{for(;;){const{value:Pe,done:Ie}=yield(0,o.N3)(Ne.read());if(Ie)return yield(0,o.N3)(void 0);yield yield(0,o.N3)(Pe)}}finally{Ne.releaseLock()}})}function ce(X){return(0,S.T)(X?.getReader)}},9470:(yt,Se,x)=>{x.d(Se,{m:()=>S});var o=x(8071);function S(ge){return ge&&(0,o.T)(ge.schedule)}},9974:(yt,Se,x)=>{x.d(Se,{N:()=>ge,S:()=>S});var o=x(8071);function S(ce){return(0,o.T)(ce?.lift)}function ge(ce){return X=>{if(S(X))return X.lift(function(le){try{return ce(le,this)}catch(Ne){this.error(Ne)}});throw new TypeError("Unable to lift unknown Observable type")}}},6450:(yt,Se,x)=>{x.d(Se,{I:()=>ce});var o=x(6354);const{isArray:S}=Array;function ce(X){return(0,o.T)(le=>function ge(X,le){return S(le)?X(...le):X(le)}(X,le))}},5343:(yt,Se,x)=>{function o(){}x.d(Se,{l:()=>o})},1203:(yt,Se,x)=>{x.d(Se,{F:()=>S,m:()=>ge});var o=x(3669);function S(...ce){return ge(ce)}function ge(ce){return 0===ce.length?o.D:1===ce.length?ce[0]:function(le){return ce.reduce((Ne,Pe)=>Pe(Ne),le)}}},5334:(yt,Se,x)=>{x.d(Se,{m:()=>ge});var o=x(1026),S=x(9270);function ge(ce){S.f.setTimeout(()=>{const{onUnhandledError:X}=o.$;if(!X)throw ce;X(ce)})}},591:(yt,Se,x)=>{function o(S){return new TypeError(`You provided ${null!==S&&"object"==typeof S?"an invalid object":`'${S}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}x.d(Se,{L:()=>o})},177:(yt,Se,x)=>{x.d(Se,{AJ:()=>tt,MD:()=>_e,N0:()=>Jn,QT:()=>ge,T3:()=>xt,VF:()=>X,Vy:()=>Ot,Xr:()=>ui,YU:()=>At,Yq:()=>hn,ZD:()=>ce,_b:()=>rr,aZ:()=>Mt,bT:()=>Ue,hb:()=>He,pM:()=>ee,qQ:()=>Ne,vh:()=>Kn});var o=x(4438);let S=null;function ge(){return S}function ce(b){S??=b}class X{}const Ne=new o.nKC("");let Pe=(()=>{class b{historyGo(T){throw new Error("")}static#e=this.\u0275fac=function(g){return new(g||b)};static#t=this.\u0275prov=o.jDH({token:b,factory:()=>(0,o.WQX)(Ae),providedIn:"platform"})}return b})(),Ae=(()=>{class b extends Pe{constructor(){super(),this._doc=(0,o.WQX)(Ne),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ge().getBaseHref(this._doc)}onPopState(T){const g=ge().getGlobalEventTarget(this._doc,"window");return g.addEventListener("popstate",T,!1),()=>g.removeEventListener("popstate",T)}onHashChange(T){const g=ge().getGlobalEventTarget(this._doc,"window");return g.addEventListener("hashchange",T,!1),()=>g.removeEventListener("hashchange",T)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(T){this._location.pathname=T}pushState(T,g,u){this._history.pushState(T,g,u)}replaceState(T,g,u){this._history.replaceState(T,g,u)}forward(){this._history.forward()}back(){this._history.back()}historyGo(T=0){this._history.go(T)}getState(){return this._history.state}static#e=this.\u0275fac=function(g){return new(g||b)};static#t=this.\u0275prov=o.jDH({token:b,factory:()=>new b,providedIn:"platform"})}return b})();function Me(b,k){if(0==b.length)return k;if(0==k.length)return b;let T=0;return b.endsWith("/")&&T++,k.startsWith("/")&&T++,2==T?b+k.substring(1):1==T?b+k:b+"/"+k}function Be(b){const k=b.match(/#|\?|$/),T=k&&k.index||b.length;return b.slice(0,T-("/"===b[T-1]?1:0))+b.slice(T)}function ct(b){return b&&"?"!==b[0]?"?"+b:b}let He=(()=>{class b{historyGo(T){throw new Error("")}static#e=this.\u0275fac=function(g){return new(g||b)};static#t=this.\u0275prov=o.jDH({token:b,factory:()=>(0,o.WQX)(St),providedIn:"root"})}return b})();const We=new o.nKC("");let St=(()=>{class b extends He{constructor(T,g){super(),this._platformLocation=T,this._removeListenerFns=[],this._baseHref=g??this._platformLocation.getBaseHrefFromDOM()??(0,o.WQX)(Ne).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(T){this._removeListenerFns.push(this._platformLocation.onPopState(T),this._platformLocation.onHashChange(T))}getBaseHref(){return this._baseHref}prepareExternalUrl(T){return Me(this._baseHref,T)}path(T=!1){const g=this._platformLocation.pathname+ct(this._platformLocation.search),u=this._platformLocation.hash;return u&&T?`${g}${u}`:g}pushState(T,g,u,f){const D=this.prepareExternalUrl(u+ct(f));this._platformLocation.pushState(T,g,D)}replaceState(T,g,u,f){const D=this.prepareExternalUrl(u+ct(f));this._platformLocation.replaceState(T,g,D)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(T=0){this._platformLocation.historyGo?.(T)}static#e=this.\u0275fac=function(g){return new(g||b)(o.KVO(Pe),o.KVO(We,8))};static#t=this.\u0275prov=o.jDH({token:b,factory:b.\u0275fac,providedIn:"root"})}return b})(),Mt=(()=>{class b{constructor(T){this._subject=new o.bkB,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=T;const g=this._locationStrategy.getBaseHref();this._basePath=function $e(b){if(new RegExp("^(https?:)?//").test(b)){const[,T]=b.split(/\/\/[^\/]+/);return T}return b}(Be(Ge(g))),this._locationStrategy.onPopState(u=>{this._subject.emit({url:this.path(!0),pop:!0,state:u.state,type:u.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(T=!1){return this.normalize(this._locationStrategy.path(T))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(T,g=""){return this.path()==this.normalize(T+ct(g))}normalize(T){return b.stripTrailingSlash(function Nn(b,k){if(!b||!k.startsWith(b))return k;const T=k.substring(b.length);return""===T||["/",";","?","#"].includes(T[0])?T:k}(this._basePath,Ge(T)))}prepareExternalUrl(T){return T&&"/"!==T[0]&&(T="/"+T),this._locationStrategy.prepareExternalUrl(T)}go(T,g="",u=null){this._locationStrategy.pushState(u,"",T,g),this._notifyUrlChangeListeners(this.prepareExternalUrl(T+ct(g)),u)}replaceState(T,g="",u=null){this._locationStrategy.replaceState(u,"",T,g),this._notifyUrlChangeListeners(this.prepareExternalUrl(T+ct(g)),u)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(T=0){this._locationStrategy.historyGo?.(T)}onUrlChange(T){return this._urlChangeListeners.push(T),this._urlChangeSubscription??=this.subscribe(g=>{this._notifyUrlChangeListeners(g.url,g.state)}),()=>{const g=this._urlChangeListeners.indexOf(T);this._urlChangeListeners.splice(g,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(T="",g){this._urlChangeListeners.forEach(u=>u(T,g))}subscribe(T,g,u){return this._subject.subscribe({next:T,error:g,complete:u})}static#e=this.normalizeQueryParams=ct;static#t=this.joinWithSlash=Me;static#n=this.stripTrailingSlash=Be;static#i=this.\u0275fac=function(g){return new(g||b)(o.KVO(He))};static#r=this.\u0275prov=o.jDH({token:b,factory:()=>function Kt(){return new Mt((0,o.KVO)(He))}(),providedIn:"root"})}return b})();function Ge(b){return b.replace(/\/index.html$/,"")}var it=function(b){return b[b.Format=0]="Format",b[b.Standalone=1]="Standalone",b}(it||{}),Ct=function(b){return b[b.Narrow=0]="Narrow",b[b.Abbreviated=1]="Abbreviated",b[b.Wide=2]="Wide",b[b.Short=3]="Short",b}(Ct||{}),Et=function(b){return b[b.Short=0]="Short",b[b.Medium=1]="Medium",b[b.Long=2]="Long",b[b.Full=3]="Full",b}(Et||{});const $t={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function he(b,k){return mn((0,o.H5H)(b)[o.KH2.DateFormat],k)}function U(b,k){return mn((0,o.H5H)(b)[o.KH2.TimeFormat],k)}function ne(b,k){return mn((0,o.H5H)(b)[o.KH2.DateTimeFormat],k)}function oe(b,k){const T=(0,o.H5H)(b),g=T[o.KH2.NumberSymbols][k];if(typeof g>"u"){if(k===$t.CurrencyDecimal)return T[o.KH2.NumberSymbols][$t.Decimal];if(k===$t.CurrencyGroup)return T[o.KH2.NumberSymbols][$t.Group]}return g}function wn(b){if(!b[o.KH2.ExtraData])throw new Error(`Missing extra locale data for the locale "${b[o.KH2.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function mn(b,k){for(let T=k;T>-1;T--)if(typeof b[T]<"u")return b[T];throw new Error("Locale data API: locale data undefined")}function yi(b){const[k,T]=b.split(":");return{hours:+k,minutes:+T}}const pi=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,_r={},xe=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var bi=function(b){return b[b.Short=0]="Short",b[b.ShortGMT=1]="ShortGMT",b[b.Long=2]="Long",b[b.Extended=3]="Extended",b}(bi||{}),Ht=function(b){return b[b.FullYear=0]="FullYear",b[b.Month=1]="Month",b[b.Date=2]="Date",b[b.Hours=3]="Hours",b[b.Minutes=4]="Minutes",b[b.Seconds=5]="Seconds",b[b.FractionalSeconds=6]="FractionalSeconds",b[b.Day=7]="Day",b}(Ht||{}),on=function(b){return b[b.DayPeriods=0]="DayPeriods",b[b.Days=1]="Days",b[b.Months=2]="Months",b[b.Eras=3]="Eras",b}(on||{});function hn(b,k,T,g){let u=function qe(b){if(pn(b))return b;if("number"==typeof b&&!isNaN(b))return new Date(b);if("string"==typeof b){if(b=b.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(b)){const[u,f=1,D=1]=b.split("-").map(N=>+N);return nr(u,f-1,D)}const T=parseFloat(b);if(!isNaN(b-T))return new Date(T);let g;if(g=b.match(pi))return function Zt(b){const k=new Date(0);let T=0,g=0;const u=b[8]?k.setUTCFullYear:k.setFullYear,f=b[8]?k.setUTCHours:k.setHours;b[9]&&(T=Number(b[9]+b[10]),g=Number(b[9]+b[11])),u.call(k,Number(b[1]),Number(b[2])-1,Number(b[3]));const D=Number(b[4]||0)-T,N=Number(b[5]||0)-g,j=Number(b[6]||0),K=Math.floor(1e3*parseFloat("0."+(b[7]||0)));return f.call(k,D,N,j,K),k}(g)}const k=new Date(b);if(!pn(k))throw new Error(`Unable to convert "${b}" into a date`);return k}(b);k=Xi(T,k)||k;let N,D=[];for(;k;){if(N=xe.exec(k),!N){D.push(k);break}{D=D.concat(N.slice(1));const J=D.pop();if(!J)break;k=J}}let j=u.getTimezoneOffset();g&&(j=Z(g,j),u=function Ve(b,k,T){const g=T?-1:1,u=b.getTimezoneOffset();return function ue(b,k){return(b=new Date(b.getTime())).setMinutes(b.getMinutes()+k),b}(b,g*(Z(k,u)-u))}(u,g,!0));let K="";return D.forEach(J=>{const ae=function pe(b){if(we[b])return we[b];let k;switch(b){case"G":case"GG":case"GGG":k=zt(on.Eras,Ct.Abbreviated);break;case"GGGG":k=zt(on.Eras,Ct.Wide);break;case"GGGGG":k=zt(on.Eras,Ct.Narrow);break;case"y":k=Rt(Ht.FullYear,1,0,!1,!0);break;case"yy":k=Rt(Ht.FullYear,2,0,!0,!0);break;case"yyy":k=Rt(Ht.FullYear,3,0,!1,!0);break;case"yyyy":k=Rt(Ht.FullYear,4,0,!1,!0);break;case"Y":k=vt(1);break;case"YY":k=vt(2,!0);break;case"YYY":k=vt(3);break;case"YYYY":k=vt(4);break;case"M":case"L":k=Rt(Ht.Month,1,1);break;case"MM":case"LL":k=Rt(Ht.Month,2,1);break;case"MMM":k=zt(on.Months,Ct.Abbreviated);break;case"MMMM":k=zt(on.Months,Ct.Wide);break;case"MMMMM":k=zt(on.Months,Ct.Narrow);break;case"LLL":k=zt(on.Months,Ct.Abbreviated,it.Standalone);break;case"LLLL":k=zt(on.Months,Ct.Wide,it.Standalone);break;case"LLLLL":k=zt(on.Months,Ct.Narrow,it.Standalone);break;case"w":k=Rn(1);break;case"ww":k=Rn(2);break;case"W":k=Rn(1,!0);break;case"d":k=Rt(Ht.Date,1);break;case"dd":k=Rt(Ht.Date,2);break;case"c":case"cc":k=Rt(Ht.Day,1);break;case"ccc":k=zt(on.Days,Ct.Abbreviated,it.Standalone);break;case"cccc":k=zt(on.Days,Ct.Wide,it.Standalone);break;case"ccccc":k=zt(on.Days,Ct.Narrow,it.Standalone);break;case"cccccc":k=zt(on.Days,Ct.Short,it.Standalone);break;case"E":case"EE":case"EEE":k=zt(on.Days,Ct.Abbreviated);break;case"EEEE":k=zt(on.Days,Ct.Wide);break;case"EEEEE":k=zt(on.Days,Ct.Narrow);break;case"EEEEEE":k=zt(on.Days,Ct.Short);break;case"a":case"aa":case"aaa":k=zt(on.DayPeriods,Ct.Abbreviated);break;case"aaaa":k=zt(on.DayPeriods,Ct.Wide);break;case"aaaaa":k=zt(on.DayPeriods,Ct.Narrow);break;case"b":case"bb":case"bbb":k=zt(on.DayPeriods,Ct.Abbreviated,it.Standalone,!0);break;case"bbbb":k=zt(on.DayPeriods,Ct.Wide,it.Standalone,!0);break;case"bbbbb":k=zt(on.DayPeriods,Ct.Narrow,it.Standalone,!0);break;case"B":case"BB":case"BBB":k=zt(on.DayPeriods,Ct.Abbreviated,it.Format,!0);break;case"BBBB":k=zt(on.DayPeriods,Ct.Wide,it.Format,!0);break;case"BBBBB":k=zt(on.DayPeriods,Ct.Narrow,it.Format,!0);break;case"h":k=Rt(Ht.Hours,1,-12);break;case"hh":k=Rt(Ht.Hours,2,-12);break;case"H":k=Rt(Ht.Hours,1);break;case"HH":k=Rt(Ht.Hours,2);break;case"m":k=Rt(Ht.Minutes,1);break;case"mm":k=Rt(Ht.Minutes,2);break;case"s":k=Rt(Ht.Seconds,1);break;case"ss":k=Rt(Ht.Seconds,2);break;case"S":k=Rt(Ht.FractionalSeconds,1);break;case"SS":k=Rt(Ht.FractionalSeconds,2);break;case"SSS":k=Rt(Ht.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":k=Wi(bi.Short);break;case"ZZZZZ":k=Wi(bi.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":k=Wi(bi.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":k=Wi(bi.Long);break;default:return null}return we[b]=k,k}(J);K+=ae?ae(u,T,j):"''"===J?"'":J.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),K}function nr(b,k,T){const g=new Date(0);return g.setFullYear(b,k,T),g.setHours(0,0,0),g}function Xi(b,k){const T=function Wn(b){return(0,o.H5H)(b)[o.KH2.LocaleId]}(b);if(_r[T]??={},_r[T][k])return _r[T][k];let g="";switch(k){case"shortDate":g=he(b,Et.Short);break;case"mediumDate":g=he(b,Et.Medium);break;case"longDate":g=he(b,Et.Long);break;case"fullDate":g=he(b,Et.Full);break;case"shortTime":g=U(b,Et.Short);break;case"mediumTime":g=U(b,Et.Medium);break;case"longTime":g=U(b,Et.Long);break;case"fullTime":g=U(b,Et.Full);break;case"short":const u=Xi(b,"shortTime"),f=Xi(b,"shortDate");g=Mr(ne(b,Et.Short),[u,f]);break;case"medium":const D=Xi(b,"mediumTime"),N=Xi(b,"mediumDate");g=Mr(ne(b,Et.Medium),[D,N]);break;case"long":const j=Xi(b,"longTime"),K=Xi(b,"longDate");g=Mr(ne(b,Et.Long),[j,K]);break;case"full":const J=Xi(b,"fullTime"),ae=Xi(b,"fullDate");g=Mr(ne(b,Et.Full),[J,ae])}return g&&(_r[T][k]=g),g}function Mr(b,k){return k&&(b=b.replace(/\{([^}]+)}/g,function(T,g){return null!=k&&g in k?k[g]:T})),b}function gi(b,k,T="-",g,u){let f="";(b<0||u&&b<=0)&&(u?b=1-b:(b=-b,f=T));let D=String(b);for(;D.length0||N>-T)&&(N+=T),b===Ht.Hours)0===N&&-12===T&&(N=12);else if(b===Ht.FractionalSeconds)return function Pi(b,k){return gi(b,3).substring(0,k)}(N,k);const j=oe(D,$t.MinusSign);return gi(N,k,j,g,u)}}function zt(b,k,T=it.Format,g=!1){return function(u,f){return function ut(b,k,T,g,u,f){switch(T){case on.Months:return function vi(b,k,T){const g=(0,o.H5H)(b),f=mn([g[o.KH2.MonthsFormat],g[o.KH2.MonthsStandalone]],k);return mn(f,T)}(k,u,g)[b.getMonth()];case on.Days:return function wi(b,k,T){const g=(0,o.H5H)(b),f=mn([g[o.KH2.DaysFormat],g[o.KH2.DaysStandalone]],k);return mn(f,T)}(k,u,g)[b.getDay()];case on.DayPeriods:const D=b.getHours(),N=b.getMinutes();if(f){const K=function gn(b){const k=(0,o.H5H)(b);return wn(k),(k[o.KH2.ExtraData][2]||[]).map(g=>"string"==typeof g?yi(g):[yi(g[0]),yi(g[1])])}(k),J=function ti(b,k,T){const g=(0,o.H5H)(b);wn(g);const f=mn([g[o.KH2.ExtraData][0],g[o.KH2.ExtraData][1]],k)||[];return mn(f,T)||[]}(k,u,g),ae=K.findIndex(De=>{if(Array.isArray(De)){const[Ke,ze]=De,un=D>=Ke.hours&&N>=Ke.minutes,Wt=D0?Math.floor(u/60):Math.ceil(u/60);switch(b){case bi.Short:return(u>=0?"+":"")+gi(D,2,f)+gi(Math.abs(u%60),2,f);case bi.ShortGMT:return"GMT"+(u>=0?"+":"")+gi(D,1,f);case bi.Long:return"GMT"+(u>=0?"+":"")+gi(D,2,f)+":"+gi(Math.abs(u%60),2,f);case bi.Extended:return 0===g?"Z":(u>=0?"+":"")+gi(D,2,f)+":"+gi(Math.abs(u%60),2,f);default:throw new Error(`Unknown zone width "${b}"`)}}}const rn=0,In=4;function Un(b){const k=b.getDay(),T=0===k?-3:In-k;return nr(b.getFullYear(),b.getMonth(),b.getDate()+T)}function Rn(b,k=!1){return function(T,g){let u;if(k){const f=new Date(T.getFullYear(),T.getMonth(),1).getDay()-1,D=T.getDate();u=1+Math.floor((D+f)/7)}else{const f=Un(T),D=function li(b){const k=nr(b,rn,1).getDay();return nr(b,0,1+(k<=In?In:In+7)-k)}(f.getFullYear()),N=f.getTime()-D.getTime();u=1+Math.round(N/6048e5)}return gi(u,b,oe(g,$t.MinusSign))}}function vt(b,k=!1){return function(T,g){return gi(Un(T).getFullYear(),b,oe(g,$t.MinusSign),k)}}const we={};function Z(b,k){b=b.replace(/:/g,"");const T=Date.parse("Jan 01, 1970 00:00:00 "+b)/6e4;return isNaN(T)?k:T}function pn(b){return b instanceof Date&&!isNaN(b.valueOf())}function rr(b,k){k=encodeURIComponent(k);for(const T of b.split(";")){const g=T.indexOf("="),[u,f]=-1==g?[T,""]:[T.slice(0,g),T.slice(g+1)];if(u.trim()===k)return decodeURIComponent(f)}return null}const fr=/\s+/,sr=[];let At=(()=>{class b{constructor(T,g){this._ngEl=T,this._renderer=g,this.initialClasses=sr,this.stateMap=new Map}set klass(T){this.initialClasses=null!=T?T.trim().split(fr):sr}set ngClass(T){this.rawClass="string"==typeof T?T.trim().split(fr):T}ngDoCheck(){for(const g of this.initialClasses)this._updateState(g,!0);const T=this.rawClass;if(Array.isArray(T)||T instanceof Set)for(const g of T)this._updateState(g,!0);else if(null!=T)for(const g of Object.keys(T))this._updateState(g,!!T[g]);this._applyStateDiff()}_updateState(T,g){const u=this.stateMap.get(T);void 0!==u?(u.enabled!==g&&(u.changed=!0,u.enabled=g),u.touched=!0):this.stateMap.set(T,{enabled:g,changed:!0,touched:!0})}_applyStateDiff(){for(const T of this.stateMap){const g=T[0],u=T[1];u.changed?(this._toggleClass(g,u.enabled),u.changed=!1):u.touched||(u.enabled&&this._toggleClass(g,!1),this.stateMap.delete(g)),u.touched=!1}}_toggleClass(T,g){(T=T.trim()).length>0&&T.split(fr).forEach(u=>{g?this._renderer.addClass(this._ngEl.nativeElement,u):this._renderer.removeClass(this._ngEl.nativeElement,u)})}static#e=this.\u0275fac=function(g){return new(g||b)(o.rXU(o.aKT),o.rXU(o.sFG))};static#t=this.\u0275dir=o.FsC({type:b,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}return b})();class W{constructor(k,T,g,u){this.$implicit=k,this.ngForOf=T,this.index=g,this.count=u}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let ee=(()=>{class b{set ngForOf(T){this._ngForOf=T,this._ngForOfDirty=!0}set ngForTrackBy(T){this._trackByFn=T}get ngForTrackBy(){return this._trackByFn}constructor(T,g,u){this._viewContainer=T,this._template=g,this._differs=u,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(T){T&&(this._template=T)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const T=this._ngForOf;!this._differ&&T&&(this._differ=this._differs.find(T).create(this.ngForTrackBy))}if(this._differ){const T=this._differ.diff(this._ngForOf);T&&this._applyChanges(T)}}_applyChanges(T){const g=this._viewContainer;T.forEachOperation((u,f,D)=>{if(null==u.previousIndex)g.createEmbeddedView(this._template,new W(u.item,this._ngForOf,-1,-1),null===D?void 0:D);else if(null==D)g.remove(null===f?void 0:f);else if(null!==f){const N=g.get(f);g.move(N,D),q(N,u)}});for(let u=0,f=g.length;u{q(g.get(u.currentIndex),u)})}static ngTemplateContextGuard(T,g){return!0}static#e=this.\u0275fac=function(g){return new(g||b)(o.rXU(o.c1b),o.rXU(o.C4Q),o.rXU(o._q3))};static#t=this.\u0275dir=o.FsC({type:b,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return b})();function q(b,k){b.context.$implicit=k.item}let Ue=(()=>{class b{constructor(T,g){this._viewContainer=T,this._context=new Xe,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=g}set ngIf(T){this._context.$implicit=this._context.ngIf=T,this._updateView()}set ngIfThen(T){Je("ngIfThen",T),this._thenTemplateRef=T,this._thenViewRef=null,this._updateView()}set ngIfElse(T){Je("ngIfElse",T),this._elseTemplateRef=T,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(T,g){return!0}static#e=this.\u0275fac=function(g){return new(g||b)(o.rXU(o.c1b),o.rXU(o.C4Q))};static#t=this.\u0275dir=o.FsC({type:b,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return b})();class Xe{constructor(){this.$implicit=null,this.ngIf=null}}function Je(b,k){if(k&&!k.createEmbeddedView)throw new Error(`${b} must be a TemplateRef, but received '${(0,o.Tbb)(k)}'.`)}let xt=(()=>{class b{constructor(T){this._viewContainerRef=T,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(T){if(this._shouldRecreateView(T)){const g=this._viewContainerRef;if(this._viewRef&&g.remove(g.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const u=this._createContextForwardProxy();this._viewRef=g.createEmbeddedView(this.ngTemplateOutlet,u,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(T){return!!T.ngTemplateOutlet||!!T.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(T,g,u)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,g,u),get:(T,g,u)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,g,u)}})}static#e=this.\u0275fac=function(g){return new(g||b)(o.rXU(o.c1b))};static#t=this.\u0275dir=o.FsC({type:b,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[o.OA$]})}return b})();const ws=new o.nKC(""),Dr=new o.nKC("");let Kn=(()=>{class b{constructor(T,g,u){this.locale=T,this.defaultTimezone=g,this.defaultOptions=u}transform(T,g,u,f){if(null==T||""===T||T!=T)return null;try{return hn(T,g??this.defaultOptions?.dateFormat??"mediumDate",f||this.locale,u??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(D){throw function _n(b,k){return new o.wOt(2100,!1)}()}}static#e=this.\u0275fac=function(g){return new(g||b)(o.rXU(o.xe9,16),o.rXU(ws,24),o.rXU(Dr,24))};static#t=this.\u0275pipe=o.EJ8({name:"date",type:b,pure:!0,standalone:!0})}return b})(),_e=(()=>{class b{static#e=this.\u0275fac=function(g){return new(g||b)};static#t=this.\u0275mod=o.$C({type:b});static#n=this.\u0275inj=o.G2t({})}return b})();const tt="browser",Yt="server";function Ot(b){return b===Yt}let ui=(()=>{class b{static#e=this.\u0275prov=(0,o.jDH)({token:b,providedIn:"root",factory:()=>function qt(b){return b===tt}((0,o.WQX)(o.Agw))?new di((0,o.WQX)(Ne),window):new Ft})}return b})();class di{constructor(k,T){this.document=k,this.window=T,this.offset=()=>[0,0]}setOffset(k){this.offset=Array.isArray(k)?()=>k:k}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(k){this.window.scrollTo(k[0],k[1])}scrollToAnchor(k){const T=function Gt(b,k){const T=b.getElementById(k)||b.getElementsByName(k)[0];if(T)return T;if("function"==typeof b.createTreeWalker&&b.body&&"function"==typeof b.body.attachShadow){const g=b.createTreeWalker(b.body,NodeFilter.SHOW_ELEMENT);let u=g.currentNode;for(;u;){const f=u.shadowRoot;if(f){const D=f.getElementById(k)||f.querySelector(`[name="${k}"]`);if(D)return D}u=g.nextNode()}}return null}(this.document,k);T&&(this.scrollToElement(T),T.focus())}setHistoryScrollRestoration(k){this.window.history.scrollRestoration=k}scrollToElement(k){const T=k.getBoundingClientRect(),g=T.left+this.window.pageXOffset,u=T.top+this.window.pageYOffset,f=this.offset();this.window.scrollTo(g-f[0],u-f[1])}}class Ft{setOffset(k){}getScrollPosition(){return[0,0]}scrollToPosition(k){}scrollToAnchor(k){}setHistoryScrollRestoration(k){}}class Jn{}},1626:(yt,Se,x)=>{x.d(Se,{$R:()=>qe,$m:()=>sr,Qq:()=>oe,Sx:()=>yn,ZZ:()=>is});var o=x(467),S=x(4438),ge=x(7673),ce=x(1985),X=x(6648),le=x(274),Ne=x(5964),Pe=x(6354),Ie=x(980),Ae=x(5558),Me=x(8141),Be=x(177);class ct{}class He{}class We{constructor(ee){this.normalizedNames=new Map,this.lazyUpdate=null,ee?"string"==typeof ee?this.lazyInit=()=>{this.headers=new Map,ee.split("\n").forEach(q=>{const Te=q.indexOf(":");if(Te>0){const Ue=q.slice(0,Te),Xe=Ue.toLowerCase(),Je=q.slice(Te+1).trim();this.maybeSetNormalizedName(Ue,Xe),this.headers.has(Xe)?this.headers.get(Xe).push(Je):this.headers.set(Xe,[Je])}})}:typeof Headers<"u"&&ee instanceof Headers?(this.headers=new Map,ee.forEach((q,Te)=>{this.setHeaderEntries(Te,q)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(ee).forEach(([q,Te])=>{this.setHeaderEntries(q,Te)})}:this.headers=new Map}has(ee){return this.init(),this.headers.has(ee.toLowerCase())}get(ee){this.init();const q=this.headers.get(ee.toLowerCase());return q&&q.length>0?q[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(ee){return this.init(),this.headers.get(ee.toLowerCase())||null}append(ee,q){return this.clone({name:ee,value:q,op:"a"})}set(ee,q){return this.clone({name:ee,value:q,op:"s"})}delete(ee,q){return this.clone({name:ee,value:q,op:"d"})}maybeSetNormalizedName(ee,q){this.normalizedNames.has(q)||this.normalizedNames.set(q,ee)}init(){this.lazyInit&&(this.lazyInit instanceof We?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(ee=>this.applyUpdate(ee)),this.lazyUpdate=null))}copyFrom(ee){ee.init(),Array.from(ee.headers.keys()).forEach(q=>{this.headers.set(q,ee.headers.get(q)),this.normalizedNames.set(q,ee.normalizedNames.get(q))})}clone(ee){const q=new We;return q.lazyInit=this.lazyInit&&this.lazyInit instanceof We?this.lazyInit:this,q.lazyUpdate=(this.lazyUpdate||[]).concat([ee]),q}applyUpdate(ee){const q=ee.name.toLowerCase();switch(ee.op){case"a":case"s":let Te=ee.value;if("string"==typeof Te&&(Te=[Te]),0===Te.length)return;this.maybeSetNormalizedName(ee.name,q);const Ue=("a"===ee.op?this.headers.get(q):void 0)||[];Ue.push(...Te),this.headers.set(q,Ue);break;case"d":const Xe=ee.value;if(Xe){let Je=this.headers.get(q);if(!Je)return;Je=Je.filter(Xt=>-1===Xe.indexOf(Xt)),0===Je.length?(this.headers.delete(q),this.normalizedNames.delete(q)):this.headers.set(q,Je)}else this.headers.delete(q),this.normalizedNames.delete(q)}}setHeaderEntries(ee,q){const Te=(Array.isArray(q)?q:[q]).map(Xe=>Xe.toString()),Ue=ee.toLowerCase();this.headers.set(Ue,Te),this.maybeSetNormalizedName(ee,Ue)}forEach(ee){this.init(),Array.from(this.normalizedNames.keys()).forEach(q=>ee(this.normalizedNames.get(q),this.headers.get(q)))}}class jt{encodeKey(ee){return Ge(ee)}encodeValue(ee){return Ge(ee)}decodeKey(ee){return decodeURIComponent(ee)}decodeValue(ee){return decodeURIComponent(ee)}}const Kt=/%(\d[a-f0-9])/gi,Nn={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Ge(W){return encodeURIComponent(W).replace(Kt,(ee,q)=>Nn[q]??ee)}function $e(W){return`${W}`}class st{constructor(ee={}){if(this.updates=null,this.cloneFrom=null,this.encoder=ee.encoder||new jt,ee.fromString){if(ee.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Mt(W,ee){const q=new Map;return W.length>0&&W.replace(/^\?/,"").split("&").forEach(Ue=>{const Xe=Ue.indexOf("="),[Je,Xt]=-1==Xe?[ee.decodeKey(Ue),""]:[ee.decodeKey(Ue.slice(0,Xe)),ee.decodeValue(Ue.slice(Xe+1))],Nt=q.get(Je)||[];Nt.push(Xt),q.set(Je,Nt)}),q}(ee.fromString,this.encoder)}else ee.fromObject?(this.map=new Map,Object.keys(ee.fromObject).forEach(q=>{const Te=ee.fromObject[q],Ue=Array.isArray(Te)?Te.map($e):[$e(Te)];this.map.set(q,Ue)})):this.map=null}has(ee){return this.init(),this.map.has(ee)}get(ee){this.init();const q=this.map.get(ee);return q?q[0]:null}getAll(ee){return this.init(),this.map.get(ee)||null}keys(){return this.init(),Array.from(this.map.keys())}append(ee,q){return this.clone({param:ee,value:q,op:"a"})}appendAll(ee){const q=[];return Object.keys(ee).forEach(Te=>{const Ue=ee[Te];Array.isArray(Ue)?Ue.forEach(Xe=>{q.push({param:Te,value:Xe,op:"a"})}):q.push({param:Te,value:Ue,op:"a"})}),this.clone(q)}set(ee,q){return this.clone({param:ee,value:q,op:"s"})}delete(ee,q){return this.clone({param:ee,value:q,op:"d"})}toString(){return this.init(),this.keys().map(ee=>{const q=this.encoder.encodeKey(ee);return this.map.get(ee).map(Te=>q+"="+this.encoder.encodeValue(Te)).join("&")}).filter(ee=>""!==ee).join("&")}clone(ee){const q=new st({encoder:this.encoder});return q.cloneFrom=this.cloneFrom||this,q.updates=(this.updates||[]).concat(ee),q}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(ee=>this.map.set(ee,this.cloneFrom.map.get(ee))),this.updates.forEach(ee=>{switch(ee.op){case"a":case"s":const q=("a"===ee.op?this.map.get(ee.param):void 0)||[];q.push($e(ee.value)),this.map.set(ee.param,q);break;case"d":if(void 0===ee.value){this.map.delete(ee.param);break}{let Te=this.map.get(ee.param)||[];const Ue=Te.indexOf($e(ee.value));-1!==Ue&&Te.splice(Ue,1),Te.length>0?this.map.set(ee.param,Te):this.map.delete(ee.param)}}}),this.cloneFrom=this.updates=null)}}class lt{constructor(){this.map=new Map}set(ee,q){return this.map.set(ee,q),this}get(ee){return this.map.has(ee)||this.map.set(ee,ee.defaultValue()),this.map.get(ee)}delete(ee){return this.map.delete(ee),this}has(ee){return this.map.has(ee)}keys(){return this.map.keys()}}function Ct(W){return typeof ArrayBuffer<"u"&&W instanceof ArrayBuffer}function Et(W){return typeof Blob<"u"&&W instanceof Blob}function $t(W){return typeof FormData<"u"&&W instanceof FormData}class Wn{constructor(ee,q,Te,Ue){let Xe;if(this.url=q,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=ee.toUpperCase(),function it(W){switch(W){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||Ue?(this.body=void 0!==Te?Te:null,Xe=Ue):Xe=Te,Xe&&(this.reportProgress=!!Xe.reportProgress,this.withCredentials=!!Xe.withCredentials,Xe.responseType&&(this.responseType=Xe.responseType),Xe.headers&&(this.headers=Xe.headers),Xe.context&&(this.context=Xe.context),Xe.params&&(this.params=Xe.params),this.transferCache=Xe.transferCache),this.headers??=new We,this.context??=new lt,this.params){const Je=this.params.toString();if(0===Je.length)this.urlWithParams=q;else{const Xt=q.indexOf("?");this.urlWithParams=q+(-1===Xt?"?":XtPn.set(Jt,ee.setHeaders[Jt]),mt)),ee.setParams&&(Tn=Object.keys(ee.setParams).reduce((Pn,Jt)=>Pn.set(Jt,ee.setParams[Jt]),Tn)),new Wn(q,Te,Je,{params:Tn,headers:mt,context:Bn,reportProgress:Nt,responseType:Ue,withCredentials:Xt,transferCache:Xe})}}var Cn=function(W){return W[W.Sent=0]="Sent",W[W.UploadProgress=1]="UploadProgress",W[W.ResponseHeader=2]="ResponseHeader",W[W.DownloadProgress=3]="DownloadProgress",W[W.Response=4]="Response",W[W.User=5]="User",W}(Cn||{});class wi{constructor(ee,q=200,Te="OK"){this.headers=ee.headers||new We,this.status=void 0!==ee.status?ee.status:q,this.statusText=ee.statusText||Te,this.url=ee.url||null,this.ok=this.status>=200&&this.status<300}}class vi extends wi{constructor(ee={}){super(ee),this.type=Cn.ResponseHeader}clone(ee={}){return new vi({headers:ee.headers||this.headers,status:void 0!==ee.status?ee.status:this.status,statusText:ee.statusText||this.statusText,url:ee.url||this.url||void 0})}}class jn extends wi{constructor(ee={}){super(ee),this.type=Cn.Response,this.body=void 0!==ee.body?ee.body:null}clone(ee={}){return new jn({body:void 0!==ee.body?ee.body:this.body,headers:ee.headers||this.headers,status:void 0!==ee.status?ee.status:this.status,statusText:ee.statusText||this.statusText,url:ee.url||this.url||void 0})}}class be extends wi{constructor(ee){super(ee,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${ee.url||"(unknown url)"}`:`Http failure response for ${ee.url||"(unknown url)"}: ${ee.status} ${ee.statusText}`,this.error=ee.error||null}}function ne(W,ee){return{body:ee,headers:W.headers,context:W.context,observe:W.observe,params:W.params,reportProgress:W.reportProgress,responseType:W.responseType,withCredentials:W.withCredentials,transferCache:W.transferCache}}let oe=(()=>{class W{constructor(q){this.handler=q}request(q,Te,Ue={}){let Xe;if(q instanceof Wn)Xe=q;else{let Nt,mt;Nt=Ue.headers instanceof We?Ue.headers:new We(Ue.headers),Ue.params&&(mt=Ue.params instanceof st?Ue.params:new st({fromObject:Ue.params})),Xe=new Wn(q,Te,void 0!==Ue.body?Ue.body:null,{headers:Nt,context:Ue.context,params:mt,reportProgress:Ue.reportProgress,responseType:Ue.responseType||"json",withCredentials:Ue.withCredentials,transferCache:Ue.transferCache})}const Je=(0,ge.of)(Xe).pipe((0,le.H)(Nt=>this.handler.handle(Nt)));if(q instanceof Wn||"events"===Ue.observe)return Je;const Xt=Je.pipe((0,Ne.p)(Nt=>Nt instanceof jn));switch(Ue.observe||"body"){case"body":switch(Xe.responseType){case"arraybuffer":return Xt.pipe((0,Pe.T)(Nt=>{if(null!==Nt.body&&!(Nt.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return Nt.body}));case"blob":return Xt.pipe((0,Pe.T)(Nt=>{if(null!==Nt.body&&!(Nt.body instanceof Blob))throw new Error("Response is not a Blob.");return Nt.body}));case"text":return Xt.pipe((0,Pe.T)(Nt=>{if(null!==Nt.body&&"string"!=typeof Nt.body)throw new Error("Response is not a string.");return Nt.body}));default:return Xt.pipe((0,Pe.T)(Nt=>Nt.body))}case"response":return Xt;default:throw new Error(`Unreachable: unhandled observe type ${Ue.observe}}`)}}delete(q,Te={}){return this.request("DELETE",q,Te)}get(q,Te={}){return this.request("GET",q,Te)}head(q,Te={}){return this.request("HEAD",q,Te)}jsonp(q,Te){return this.request("JSONP",q,{params:(new st).append(Te,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(q,Te={}){return this.request("OPTIONS",q,Te)}patch(q,Te,Ue={}){return this.request("PATCH",q,ne(Ue,Te))}post(q,Te,Ue={}){return this.request("POST",q,ne(Ue,Te))}put(q,Te,Ue={}){return this.request("PUT",q,ne(Ue,Te))}static#e=this.\u0275fac=function(Te){return new(Te||W)(S.KVO(ct))};static#t=this.\u0275prov=S.jDH({token:W,factory:W.\u0275fac})}return W})();const Le=/^\)\]\}',?\n/;function vn(W){if(W.url)return W.url;const ee="X-Request-URL".toLocaleLowerCase();return W.headers.get(ee)}let gt=(()=>{class W{constructor(){this.fetchImpl=(0,S.WQX)(fn,{optional:!0})?.fetch??fetch.bind(globalThis),this.ngZone=(0,S.WQX)(S.SKi)}handle(q){return new ce.c(Te=>{const Ue=new AbortController;return this.doRequest(q,Ue.signal,Te).then(bn,Xe=>Te.error(new be({error:Xe}))),()=>Ue.abort()})}doRequest(q,Te,Ue){var Xe=this;return(0,o.A)(function*(){const Je=Xe.createRequestInit(q);let Xt;try{const Mn=Xe.fetchImpl(q.urlWithParams,{signal:Te,...Je});(function wn(W){W.then(bn,bn)})(Mn),Ue.next({type:Cn.Sent}),Xt=yield Mn}catch(Mn){return void Ue.error(new be({error:Mn,status:Mn.status??0,statusText:Mn.statusText,url:q.urlWithParams,headers:Mn.headers}))}const Nt=new We(Xt.headers),mt=Xt.statusText,Tn=vn(Xt)??q.urlWithParams;let Bn=Xt.status,Pn=null;if(q.reportProgress&&Ue.next(new vi({headers:Nt,status:Bn,statusText:mt,url:Tn})),Xt.body){const Mn=Xt.headers.get("content-length"),ln=[],Ze=Xt.body.getReader();let yr,_n,xt=0;const hr=typeof Zone<"u"&&Zone.current;yield Xe.ngZone.runOutsideAngular((0,o.A)(function*(){for(;;){const{done:Mi,value:pr}=yield Ze.read();if(Mi)break;if(ln.push(pr),xt+=pr.length,q.reportProgress){_n="text"===q.responseType?(_n??"")+(yr??=new TextDecoder).decode(pr,{stream:!0}):void 0;const en=()=>Ue.next({type:Cn.DownloadProgress,total:Mn?+Mn:void 0,loaded:xt,partialText:_n});hr?hr.run(en):en()}}}));const zr=Xe.concatChunks(ln,xt);try{const Mi=Xt.headers.get("Content-Type")??"";Pn=Xe.parseBody(q,zr,Mi)}catch(Mi){return void Ue.error(new be({error:Mi,headers:new We(Xt.headers),status:Xt.status,statusText:Xt.statusText,url:vn(Xt)??q.urlWithParams}))}}0===Bn&&(Bn=Pn?200:0),Bn>=200&&Bn<300?(Ue.next(new jn({body:Pn,headers:Nt,status:Bn,statusText:mt,url:Tn})),Ue.complete()):Ue.error(new be({error:Pn,headers:Nt,status:Bn,statusText:mt,url:Tn}))})()}parseBody(q,Te,Ue){switch(q.responseType){case"json":const Xe=(new TextDecoder).decode(Te).replace(Le,"");return""===Xe?null:JSON.parse(Xe);case"text":return(new TextDecoder).decode(Te);case"blob":return new Blob([Te],{type:Ue});case"arraybuffer":return Te.buffer}}createRequestInit(q){const Te={},Ue=q.withCredentials?"include":void 0;if(q.headers.forEach((Xe,Je)=>Te[Xe]=Je.join(",")),Te.Accept??="application/json, text/plain, */*",!Te["Content-Type"]){const Xe=q.detectContentTypeHeader();null!==Xe&&(Te["Content-Type"]=Xe)}return{body:q.serializeBody(),method:q.method,headers:Te,credentials:Ue}}concatChunks(q,Te){const Ue=new Uint8Array(Te);let Xe=0;for(const Je of q)Ue.set(Je,Xe),Xe+=Je.length;return Ue}static#e=this.\u0275fac=function(Te){return new(Te||W)};static#t=this.\u0275prov=S.jDH({token:W,factory:W.\u0275fac})}return W})();class fn{}function bn(){}function gn(W,ee){return ee(W)}function ti(W,ee){return(q,Te)=>ee.intercept(q,{handle:Ue=>W(Ue,Te)})}const mn=new S.nKC(""),yi=new S.nKC(""),Qe=new S.nKC(""),Ri=new S.nKC("",{providedIn:"root",factory:()=>!0});function dr(){let W=null;return(ee,q)=>{null===W&&(W=((0,S.WQX)(mn,{optional:!0})??[]).reduceRight(ti,gn));const Te=(0,S.WQX)(S.TgB);if((0,S.WQX)(Ri)){const Xe=Te.add();return W(ee,q).pipe((0,Ie.j)(()=>Te.remove(Xe)))}return W(ee,q)}}let xe=(()=>{class W extends ct{constructor(q,Te){super(),this.backend=q,this.injector=Te,this.chain=null,this.pendingTasks=(0,S.WQX)(S.TgB),this.contributeToStability=(0,S.WQX)(Ri)}handle(q){if(null===this.chain){const Te=Array.from(new Set([...this.injector.get(yi),...this.injector.get(Qe,[])]));this.chain=Te.reduceRight((Ue,Xe)=>function bt(W,ee,q){return(Te,Ue)=>(0,S.N4e)(q,()=>ee(Te,Xe=>W(Xe,Ue)))}(Ue,Xe,this.injector),gn)}if(this.contributeToStability){const Te=this.pendingTasks.add();return this.chain(q,Ue=>this.backend.handle(Ue)).pipe((0,Ie.j)(()=>this.pendingTasks.remove(Te)))}return this.chain(q,Te=>this.backend.handle(Te))}static#e=this.\u0275fac=function(Te){return new(Te||W)(S.KVO(He),S.KVO(S.uvJ))};static#t=this.\u0275prov=S.jDH({token:W,factory:W.\u0275fac})}return W})();const zt=/^\)\]\}',?\n/;let Wi=(()=>{class W{constructor(q){this.xhrFactory=q}handle(q){if("JSONP"===q.method)throw new S.wOt(-2800,!1);const Te=this.xhrFactory;return(Te.\u0275loadImpl?(0,X.H)(Te.\u0275loadImpl()):(0,ge.of)(null)).pipe((0,Ae.n)(()=>new ce.c(Xe=>{const Je=Te.build();if(Je.open(q.method,q.urlWithParams),q.withCredentials&&(Je.withCredentials=!0),q.headers.forEach((ln,Ze)=>Je.setRequestHeader(ln,Ze.join(","))),q.headers.has("Accept")||Je.setRequestHeader("Accept","application/json, text/plain, */*"),!q.headers.has("Content-Type")){const ln=q.detectContentTypeHeader();null!==ln&&Je.setRequestHeader("Content-Type",ln)}if(q.responseType){const ln=q.responseType.toLowerCase();Je.responseType="json"!==ln?ln:"text"}const Xt=q.serializeBody();let Nt=null;const mt=()=>{if(null!==Nt)return Nt;const ln=Je.statusText||"OK",Ze=new We(Je.getAllResponseHeaders()),xt=function ut(W){return"responseURL"in W&&W.responseURL?W.responseURL:/^X-Request-URL:/m.test(W.getAllResponseHeaders())?W.getResponseHeader("X-Request-URL"):null}(Je)||q.url;return Nt=new vi({headers:Ze,status:Je.status,statusText:ln,url:xt}),Nt},Tn=()=>{let{headers:ln,status:Ze,statusText:xt,url:yr}=mt(),_n=null;204!==Ze&&(_n=typeof Je.response>"u"?Je.responseText:Je.response),0===Ze&&(Ze=_n?200:0);let hr=Ze>=200&&Ze<300;if("json"===q.responseType&&"string"==typeof _n){const zr=_n;_n=_n.replace(zt,"");try{_n=""!==_n?JSON.parse(_n):null}catch(Mi){_n=zr,hr&&(hr=!1,_n={error:Mi,text:_n})}}hr?(Xe.next(new jn({body:_n,headers:ln,status:Ze,statusText:xt,url:yr||void 0})),Xe.complete()):Xe.error(new be({error:_n,headers:ln,status:Ze,statusText:xt,url:yr||void 0}))},Bn=ln=>{const{url:Ze}=mt(),xt=new be({error:ln,status:Je.status||0,statusText:Je.statusText||"Unknown Error",url:Ze||void 0});Xe.error(xt)};let Pn=!1;const Jt=ln=>{Pn||(Xe.next(mt()),Pn=!0);let Ze={type:Cn.DownloadProgress,loaded:ln.loaded};ln.lengthComputable&&(Ze.total=ln.total),"text"===q.responseType&&Je.responseText&&(Ze.partialText=Je.responseText),Xe.next(Ze)},Mn=ln=>{let Ze={type:Cn.UploadProgress,loaded:ln.loaded};ln.lengthComputable&&(Ze.total=ln.total),Xe.next(Ze)};return Je.addEventListener("load",Tn),Je.addEventListener("error",Bn),Je.addEventListener("timeout",Bn),Je.addEventListener("abort",Bn),q.reportProgress&&(Je.addEventListener("progress",Jt),null!==Xt&&Je.upload&&Je.upload.addEventListener("progress",Mn)),Je.send(Xt),Xe.next({type:Cn.Sent}),()=>{Je.removeEventListener("error",Bn),Je.removeEventListener("abort",Bn),Je.removeEventListener("load",Tn),Je.removeEventListener("timeout",Bn),q.reportProgress&&(Je.removeEventListener("progress",Jt),null!==Xt&&Je.upload&&Je.upload.removeEventListener("progress",Mn)),Je.readyState!==Je.DONE&&Je.abort()}})))}static#e=this.\u0275fac=function(Te){return new(Te||W)(S.KVO(Be.N0))};static#t=this.\u0275prov=S.jDH({token:W,factory:W.\u0275fac})}return W})();const rn=new S.nKC(""),li=new S.nKC("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),Rn=new S.nKC("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class vt{}let we=(()=>{class W{constructor(q,Te,Ue){this.doc=q,this.platform=Te,this.cookieName=Ue,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const q=this.doc.cookie||"";return q!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,Be._b)(q,this.cookieName),this.lastCookieString=q),this.lastToken}static#e=this.\u0275fac=function(Te){return new(Te||W)(S.KVO(Be.qQ),S.KVO(S.Agw),S.KVO(li))};static#t=this.\u0275prov=S.jDH({token:W,factory:W.\u0275fac})}return W})();function pe(W,ee){const q=W.url.toLowerCase();if(!(0,S.WQX)(rn)||"GET"===W.method||"HEAD"===W.method||q.startsWith("http://")||q.startsWith("https://"))return ee(W);const Te=(0,S.WQX)(vt).getToken(),Ue=(0,S.WQX)(Rn);return null!=Te&&!W.headers.has(Ue)&&(W=W.clone({headers:W.headers.set(Ue,Te)})),ee(W)}var ue=function(W){return W[W.Interceptors=0]="Interceptors",W[W.LegacyInterceptors=1]="LegacyInterceptors",W[W.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",W[W.NoXsrfProtection=3]="NoXsrfProtection",W[W.JsonpSupport=4]="JsonpSupport",W[W.RequestsMadeViaParent=5]="RequestsMadeViaParent",W[W.Fetch=6]="Fetch",W}(ue||{});function Ve(W,ee){return{\u0275kind:W,\u0275providers:ee}}function qe(...W){const ee=[oe,Wi,xe,{provide:ct,useExisting:xe},{provide:He,useFactory:()=>(0,S.WQX)(gt,{optional:!0})??(0,S.WQX)(Wi)},{provide:yi,useValue:pe,multi:!0},{provide:rn,useValue:!0},{provide:vt,useClass:we}];for(const q of W)ee.push(...q.\u0275providers);return(0,S.EmA)(ee)}const pn=new S.nKC("");function yn(){return Ve(ue.LegacyInterceptors,[{provide:pn,useFactory:dr},{provide:yi,useExisting:pn,multi:!0}])}function is(){return Ve(ue.Fetch,[gt,{provide:He,useExisting:gt}])}const Wr=new S.nKC(""),xs="b",Qn="h",zn="s",Pt="st",ir="u",ri="rt",ci=new S.nKC(""),vr=["GET","HEAD"];function qn(W,ee){const{isCacheActive:q,...Te}=(0,S.WQX)(ci),{transferCache:Ue,method:Xe}=W;if(!q||!1===Ue||"POST"===Xe&&!Te.includePostRequests&&!Ue||"POST"!==Xe&&!vr.includes(Xe)||!Te.includeRequestsWithAuthHeaders&&function si(W){return W.headers.has("authorization")||W.headers.has("proxy-authorization")}(W)||!1===Te.filter?.(W))return ee(W);const Je=(0,S.WQX)(S.pJN),Xt=(0,S.WQX)(Wr,{optional:!0}),Nt=(0,Be.Vy)((0,S.WQX)(S.Agw));if(Xt&&!Nt)throw new S.wOt(2803,!1);const mt=Nt&&Xt?function rs(W,ee){const q=new URL(W,"resolve://").origin,Te=ee[q];return Te?W.replace(q,Te):W}(W.url,Xt):W.url,Tn=function rr(W,ee){const{params:q,method:Te,responseType:Ue}=W,Xe=ki(q);let Je=W.serializeBody();Je instanceof URLSearchParams?Je=ki(Je):"string"!=typeof Je&&(Je="");const Nt=function fr(W){let ee=0;for(const q of W)ee=Math.imul(31,ee)+q.charCodeAt(0)|0;return ee+=2147483648,ee.toString()}([Te,Ue,ee,Je,Xe].join("|"));return(0,S.zw6)(Nt)}(W,mt),Bn=Je.get(Tn,null);let Pn=Te.includeHeaders;if("object"==typeof Ue&&Ue.includeHeaders&&(Pn=Ue.includeHeaders),Bn){const{[xs]:Jt,[ri]:Mn,[Qn]:ln,[zn]:Ze,[Pt]:xt,[ir]:yr}=Bn;let _n=Jt;switch(Mn){case"arraybuffer":_n=(new TextEncoder).encode(Jt).buffer;break;case"blob":_n=new Blob([Jt])}let hr=new We(ln);return(0,ge.of)(new jn({body:_n,headers:hr,status:Ze,statusText:xt,url:yr}))}return ee(W).pipe((0,Me.M)(Jt=>{Jt instanceof jn&&Nt&&Je.set(Tn,{[xs]:Jt.body,[Qn]:Zn(Jt.headers,Pn),[zn]:Jt.status,[Pt]:Jt.statusText,[ir]:mt,[ri]:W.responseType})}))}function Zn(W,ee){if(!ee)return{};const q={};for(const Te of ee){const Ue=W.getAll(Te);null!==Ue&&(q[Te]=Ue)}return q}function ki(W){return[...W.keys()].sort().map(ee=>`${ee}=${W.getAll(ee)}`).join("&")}function sr(W){return[{provide:ci,useFactory:()=>((0,S.ngT)("NgHttpTransferCache"),{isCacheActive:!0,...W})},{provide:Qe,useValue:qn,multi:!0,deps:[S.pJN,ci]},{provide:S.iLQ,multi:!0,useFactory:()=>{const ee=(0,S.WQX)(S.o8S),q=(0,S.WQX)(ci);return()=>{(0,S.zuW)(ee).then(()=>{q.isCacheActive=!1})}}}]}},4438:(yt,Se,x)=>{x.d(Se,{bc$:()=>sn,iLQ:()=>Uf,sZ2:()=>Oe,Hbi:()=>FI,o8S:()=>Ho,BIS:()=>Ln,gRc:()=>qD,Ql9:()=>cI,Ocv:()=>mI,abz:()=>$a,Z63:()=>Er,aKT:()=>vl,uvJ:()=>ls,zcH:()=>uo,bkB:()=>Bo,$GK:()=>en,nKC:()=>At,zZn:()=>jr,_q3:()=>cm,MKu:()=>um,xe9:()=>Gf,Co$:()=>Ay,Vns:()=>Il,SKi:()=>tr,Xx1:()=>et,Agw:()=>pt,PLl:()=>ot,sFG:()=>u1,_9s:()=>Hp,czy:()=>Xd,kdw:()=>di,C4Q:()=>Nu,NYb:()=>nI,giA:()=>BD,pJN:()=>Gn,RxE:()=>OD,c1b:()=>mf,gXe:()=>Cr,mal:()=>Wv,Af3:()=>g,L39:()=>_O,a0P:()=>TO,Ol2:()=>cg,w6W:()=>aT,SmG:()=>DI,Rfq:()=>Rn,oKB:()=>Oo,WQX:()=>$,QuC:()=>Ns,EmA:()=>vo,zw6:()=>Gi,N4e:()=>k,vPA:()=>fy,O8t:()=>yO,H3F:()=>AD,H8p:()=>ca,KH2:()=>xc,TgB:()=>Ol,wOt:()=>Qe,WHO:()=>kD,e01:()=>LD,H5H:()=>xg,Zy3:()=>Ri,mq5:()=>H0,JZv:()=>Rt,TL3:()=>YI,LfX:()=>vr,plB:()=>Za,jNT:()=>qg,zjR:()=>VD,ngT:()=>Js,TL$:()=>fe,Tbb:()=>rn,zUL:()=>li,zuW:()=>Jg,M8M:()=>pO,nM4:()=>My,Vt3:()=>og,GFd:()=>Oy,OA$:()=>Q,Jv_:()=>eD,aNF:()=>tD,R7$:()=>W_,BMQ:()=>Dg,HbH:()=>D0,ZvI:()=>N0,AVh:()=>Sg,vxM:()=>R0,wni:()=>Sb,VBU:()=>la,FsC:()=>Ls,jDH:()=>Pt,G2t:()=>ri,$C:()=>No,EJ8:()=>Qs,rXU:()=>cc,nrm:()=>Rg,bVm:()=>Pf,qex:()=>Rf,k0s:()=>Af,j41:()=>Of,RV6:()=>j0,xGo:()=>Od,Mr5:()=>Pg,pXf:()=>lb,KVO:()=>B,kS0:()=>Xl,QTQ:()=>K_,bIt:()=>Lg,lsd:()=>Ob,XpG:()=>gb,nI1:()=>fD,bMT:()=>hD,SdG:()=>_b,NAR:()=>mb,Y8G:()=>Tg,lJ4:()=>iD,eq3:()=>rD,l_i:()=>sD,sMw:()=>oD,mGM:()=>Ib,sdS:()=>Ab,Dyx:()=>k0,Z7z:()=>F0,fX1:()=>x0,Vm6:()=>P0,Njj:()=>uh,eBV:()=>ch,n$t:()=>E_,DNE:()=>dg,C5r:()=>pD,EFF:()=>Ub,JRh:()=>jg,SpI:()=>Lf,GBs:()=>Nb});let S=null,ge=!1,ce=1;const X=Symbol("SIGNAL");function le(e){const t=S;return S=e,t}const Ae={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Me(e){if(ge)throw new Error("");if(null===S)return;S.consumerOnSignalRead(e);const t=S.nextProducerIndex++;kt(S),t0}function kt(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function lt(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}let Cn=function Wn(){throw new Error};function wi(){Cn()}let jn=null;function U(e,t){We()||wi(),e.equal(e.value,t)||(e.value=t,function Le(e){e.version++,function Be(){ce++}(),He(e),jn?.()}(e))}const oe={...Ae,equal:function o(e,t){return Object.is(e,t)},value:void 0};var bn=x(1413),wn=x(8359),gn=x(4412),ti=x(6354),bt=x(1594);const yi="https://g.co/ng/security#xss";class Qe extends Error{constructor(t,n){super(Ri(t,n)),this.code=t}}function Ri(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}function Ht(e){return{toString:e}.toString()}const hn="__parameters__";function gi(e,t,n){return Ht(()=>{const i=function Mr(e){return function(...n){if(e){const i=e(...n);for(const r in i)this[r]=i[r]}}}(t);function r(...a){if(this instanceof r)return i.apply(this,a),this;const d=new r(...a);return h.annotation=d,h;function h(y,M,P){const G=y.hasOwnProperty(hn)?y[hn]:Object.defineProperty(y,hn,{value:[]})[hn];for(;G.length<=P;)G.push(null);return(G[P]=G[P]||[]).push(d),y}}return n&&(r.prototype=Object.create(n.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}const Rt=globalThis;function ut(e){for(let t in e)if(e[t]===ut)return t;throw Error("Could not find renamed property on target object.")}function Wi(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function rn(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(rn).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function In(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}function li(e,t=100){if(!e||t<1||e.length<=t)return e;if(1==t)return e.substring(0,1)+"...";const n=Math.round(t/2);return e.substring(0,n)+"..."+e.substring(e.length-n)}const Un=ut({__forward_ref__:ut});function Rn(e){return e.__forward_ref__=Rn,e.toString=function(){return rn(this())},e}function vt(e){return we(e)?e():e}function we(e){return"function"==typeof e&&e.hasOwnProperty(Un)&&e.__forward_ref__===Rn}function qe(e,t,n){e!=t&&function It(e,t,n,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${n} ${i} ${t} <=Actual]`))}(n,e,t,"==")}function Pt(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ri(e){return{providers:e.providers||[],imports:e.imports||[]}}function ci(e){return qn(e,ki)||qn(e,fr)}function vr(e){return null!==ci(e)}function qn(e,t){return e.hasOwnProperty(t)?e[t]:null}function Zn(e){return e&&(e.hasOwnProperty(rr)||e.hasOwnProperty(sr))?e[rr]:null}const ki=ut({\u0275prov:ut}),rr=ut({\u0275inj:ut}),fr=ut({ngInjectableDef:ut}),sr=ut({ngInjectorDef:ut});class At{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=Pt({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Nt(e){return e&&!!e.\u0275providers}const mt=ut({\u0275cmp:ut}),Tn=ut({\u0275dir:ut}),Bn=ut({\u0275pipe:ut}),Pn=ut({\u0275mod:ut}),Jt=ut({\u0275fac:ut}),Mn=ut({__NG_ELEMENT_ID__:ut}),ln=ut({__NG_ENV_ID__:ut});function Ze(e){return"string"==typeof e?e:null==e?"":String(e)}function pr(e,t){throw new Qe(-201,!1)}var en=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(en||{});let ss;function Kr(){return ss}function Li(e){const t=ss;return ss=e,t}function Cs(e,t,n){const i=ci(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:n&en.Optional?null:void 0!==t?t:void pr()}const Dr={},Kn="__NG_DI_FLAG__",ps="ngTempTokenPath",Qr=/\n/gm,Ts="__source";let mi;function Bi(e){const t=mi;return mi=e,t}function F(e,t=en.Default){if(void 0===mi)throw new Qe(-203,!1);return null===mi?Cs(e,void 0,t):mi.get(e,t&en.Optional?null:void 0,t)}function B(e,t=en.Default){return(Kr()||F)(vt(e),t)}function $(e,t=en.Default){return B(e,de(t))}function de(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ye(e){const t=[];for(let n=0;nArray.isArray(n)?qi(n,t):t(n))}function Vi(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function or(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Sr(e,t,n){let i=_s(e,t);return i>=0?e[1|i]=n:(i=~i,function Yr(e,t,n,i){let r=e.length;if(r==t)e.push(n,i);else if(1===r)e.push(i,e[0]),e[0]=n;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=n,e[t+1]=i}}(e,i,t,n)),i}function ar(e,t){const n=_s(e,t);if(n>=0)return e[1|n]}function _s(e,t){return function no(e,t,n){let i=0,r=e.length>>n;for(;r!==i;){const a=i+(r-i>>1),d=e[a<t?r=a:i=a+1}return~(r<t){d=a-1;break}}}for(;a-1){let a;for(;++ra?"":r[P+1].toLowerCase(),2&i&&M!==G){if(O(i))return!1;d=!0}}}}else{if(!d&&!O(i)&&!O(y))return!1;if(d&&O(y))continue;d=!1,i=y|1&i}}return O(i)||d}function O(e){return!(1&e)}function A(e,t,n,i){if(null===t)return-1;let r=0;if(i||!n){let a=!1;for(;r-1)for(n++;n0?'="'+h+'"':"")+"]"}else 8&i?r+="."+d:4&i&&(r+=" "+d);else""!==r&&!O(d)&&(t+=Nr(a,r),r=""),i=d,a=a||!O(i);n++}return""!==r&&(t+=Nr(a,r)),t}function la(e){return Ht(()=>{const t=Bs(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===io.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Cr.Emulated,styles:e.styles||Fn,_:null,schemas:e.schemas||null,tView:null,id:""};bs(n);const i=e.dependencies;return n.directiveDefs=_o(i,!1),n.pipeDefs=_o(i,!0),n.id=function Ko(e){let t=0;const n=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of n)t=Math.imul(31,t)+r.charCodeAt(0)|0;return t+=2147483648,"c"+t}(n),n})}function wa(e){return Dn(e)||Zi(e)}function Wo(e){return null!==e}function No(e){return Ht(()=>({type:e.type,bootstrap:e.bootstrap||Fn,declarations:e.declarations||Fn,imports:e.imports||Fn,exports:e.exports||Fn,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function zo(e,t){if(null==e)return Br;const n={};for(const i in e)if(e.hasOwnProperty(i)){const r=e[i];let a,d,h=zs.None;Array.isArray(r)?(h=r[0],a=r[1],d=r[2]??a):(a=r,d=r),t?(n[a]=h!==zs.None?[i,h]:i,t[a]=d):n[a]=i}return n}function Ls(e){return Ht(()=>{const t=Bs(e);return bs(t),t})}function Qs(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Dn(e){return e[mt]||null}function Zi(e){return e[Tn]||null}function ji(e){return e[Bn]||null}function Ns(e){const t=Dn(e)||Zi(e)||ji(e);return null!==t&&t.standalone}function cr(e,t){const n=e[Pn]||null;if(!n&&!0===t)throw new Error(`Type ${rn(e)} does not have '\u0275mod' property.`);return n}function Bs(e){const t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputTransforms:null,inputConfig:e.inputs||Br,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Fn,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:zo(e.inputs,t),outputs:zo(e.outputs),debugInfo:null}}function bs(e){e.features?.forEach(t=>t(e))}function _o(e,t){if(!e)return null;const n=t?ji:wa;return()=>("function"==typeof e?e():e).map(i=>n(i)).filter(Wo)}function vo(e){return{\u0275providers:e}}function Oo(...e){return{\u0275providers:Qo(0,e),\u0275fromNgModule:!0}}function Qo(e,...t){const n=[],i=new Set;let r;const a=d=>{n.push(d)};return qi(t,d=>{const h=d;Ro(h,a,[],i)&&(r||=[],r.push(h))}),void 0!==r&&Ao(r,a),n}function Ao(e,t){for(let n=0;n{t(a,i)})}}function Ro(e,t,n,i){if(!(e=vt(e)))return!1;let r=null,a=Zn(e);const d=!a&&Dn(e);if(a||d){if(d&&!d.standalone)return!1;r=e}else{const y=e.ngModule;if(a=Zn(y),!a)return!1;r=y}const h=i.has(r);if(d){if(h)return!1;if(i.add(r),d.dependencies){const y="function"==typeof d.dependencies?d.dependencies():d.dependencies;for(const M of y)Ro(M,t,n,i)}}else{if(!a)return!1;{if(null!=a.imports&&!h){let M;i.add(r);try{qi(a.imports,P=>{Ro(P,t,n,i)&&(M||=[],M.push(P))})}finally{}void 0!==M&&Ao(M,t)}if(!h){const M=Ft(r)||(()=>new r);t({provide:r,useFactory:M,deps:Fn},r),t({provide:Ws,useValue:r,multi:!0},r),t({provide:Er,useValue:()=>B(r),multi:!0},r)}const y=a.providers;if(null!=y&&!h){const M=e;so(y,P=>{t(P,M)})}}}return r!==e&&void 0!==e.providers}function so(e,t){for(let n of e)Nt(n)&&(n=n.\u0275providers),Array.isArray(n)?so(n,t):t(n)}const Xo=ut({provide:String,useValue:ut});function Po(e){return null!==e&&"object"==typeof e&&Xo in e}function Is(e){return"function"==typeof e}const ca=new At(""),Yo={},sl={};let xo;function qo(){return void 0===xo&&(xo=new xi),xo}class ls{}class Xs extends ls{get destroyed(){return this._destroyed}constructor(t,n,i,r){super(),this.parent=n,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,b(t,d=>this.processProvider(d)),this.records.set(go,Do(void 0,this)),r.has("environment")&&this.records.set(ls,Do(void 0,this));const a=this.records.get(ca);null!=a&&"string"==typeof a.value&&this.scopes.add(a.value),this.injectorDefTypes=new Set(this.get(Ws,Fn,en.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const t=le(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of n)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),le(t)}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const n=Bi(this),i=Li(void 0);try{return t()}finally{Bi(n),Li(i)}}get(t,n=Dr,i=en.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(ln))return t[ln](this);i=de(i);const a=Bi(this),d=Li(void 0);try{if(!(i&en.SkipSelf)){let y=this.records.get(t);if(void 0===y){const M=function ol(e){return"function"==typeof e||"object"==typeof e&&e instanceof At}(t)&&ci(t);y=M&&this.injectableDefInScope(M)?Do(Ta(t),Yo):null,this.records.set(t,y)}if(null!=y)return this.hydrate(t,y)}return(i&en.Self?qo():this.parent).get(t,n=i&en.Optional&&n===Dr?null:n)}catch(h){if("NullInjectorError"===h.name){if((h[ps]=h[ps]||[]).unshift(rn(t)),a)throw h;return function Yt(e,t,n,i){const r=e[ps];throw t[Ts]&&r.unshift(t[Ts]),e.message=function qt(e,t,n,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=rn(t);if(Array.isArray(t))r=t.map(rn).join(" -> ");else if("object"==typeof t){let a=[];for(let d in t)if(t.hasOwnProperty(d)){let h=t[d];a.push(d+":"+("string"==typeof h?JSON.stringify(h):rn(h)))}r=`{${a.join(", ")}}`}return`${n}${i?"("+i+")":""}[${r}]: ${e.replace(Qr,"\n ")}`}("\n"+e.message,r,n,i),e.ngTokenPath=r,e[ps]=null,e}(h,t,"R3InjectorError",this.source)}throw h}finally{Li(d),Bi(a)}}resolveInjectorInitializers(){const t=le(null),n=Bi(this),i=Li(void 0);try{const a=this.get(Er,Fn,en.Self);for(const d of a)d()}finally{Bi(n),Li(i),le(t)}}toString(){const t=[],n=this.records;for(const i of n.keys())t.push(rn(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Qe(205,!1)}processProvider(t){let n=Is(t=vt(t))?t:vt(t&&t.provide);const i=function Zo(e){return Po(e)?Do(void 0,e.useValue):Do(ua(e),Yo)}(t);if(!Is(t)&&!0===t.multi){let r=this.records.get(n);r||(r=Do(void 0,Yo,!0),r.factory=()=>ye(r.multi),this.records.set(n,r)),n=t,r.multi.push(t)}this.records.set(n,i)}hydrate(t,n){const i=le(null);try{return n.value===Yo&&(n.value=sl,n.value=n.factory()),"object"==typeof n.value&&n.value&&function Sa(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{le(i)}}injectableDefInScope(t){if(!t.providedIn)return!1;const n=vt(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function Ta(e){const t=ci(e),n=null!==t?t.factory:Ft(e);if(null!==n)return n;if(e instanceof At)throw new Qe(204,!1);if(e instanceof Function)return function Ma(e){if(e.length>0)throw new Qe(204,!1);const n=function si(e){return e&&(e[ki]||e[fr])||null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new Qe(204,!1)}function ua(e,t,n){let i;if(Is(e)){const r=vt(e);return Ft(r)||Ta(r)}if(Po(e))i=()=>vt(e.useValue);else if(function bo(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...ye(e.deps||[]));else if(function yo(e){return!(!e||!e.useExisting)}(e))i=()=>B(vt(e.useExisting));else{const r=vt(e&&(e.useClass||e.provide));if(!function oo(e){return!!e.deps}(e))return Ft(r)||Ta(r);i=()=>new r(...ye(e.deps))}return i}function Do(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function b(e,t){for(const n of e)Array.isArray(n)?b(n,t):n&&Nt(n)?b(n.\u0275providers,t):t(n)}function k(e,t){e instanceof Xs&&e.assertNotDestroyed();const i=Bi(e),r=Li(void 0);try{return t()}finally{Bi(i),Li(r)}}function T(){return void 0!==Kr()||null!=function Xr(){return mi}()}function g(e){if(!T())throw new Qe(-203,!1)}const wt=0,ke=1,dt=2,En=3,fi=4,hi=5,Xn=6,Ui=7,On=8,oi=9,Si=10,tn=11,Ir=12,Qi=13,ao=14,_i=15,Tt=16,Bt=17,Lt=18,An=19,Hi=20,Ji=21,gr=22,Or=23,rt=25,Os=1,Eo=6,Ni=7,mr=9,Di=10;var lo=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(lo||{});function wr(e){return Array.isArray(e)&&"object"==typeof e[Os]}function qr(e){return Array.isArray(e)&&!0===e[Os]}function al(e){return!!(4&e.flags)}function co(e){return e.componentOffset>-1}function da(e){return!(1&~e.flags)}function cs(e){return!!e.template}function ll(e){return!!(512&e[dt])}class R{constructor(t,n,i){this.previousValue=t,this.currentValue=n,this.firstChange=i}isFirstChange(){return this.firstChange}}function H(e,t,n,i){null!==t?t.applyValueToInputSignal(t,i):e[n]=i}function Q(){return Ee}function Ee(e){return e.type.prototype.ngOnChanges&&(e.setInput=nt),me}function me(){const e=nn(this),t=e?.current;if(t){const n=e.previous;if(n===Br)e.previous=t;else for(let i in t)n[i]=t[i];e.current=null,this.ngOnChanges(t)}}function nt(e,t,n,i,r){const a=this.declaredInputs[i],d=nn(e)||function Ii(e,t){return e[Vt]=t}(e,{previous:Br,current:null}),h=d.current||(d.current={}),y=d.previous,M=y[a];h[a]=new R(M&&M.currentValue,n,y===Br),H(e,t,r,n)}Q.ngInherit=!0;const Vt="__ngSimpleChanges__";function nn(e){return e[Vt]||null}const Ar=function(e,t,n){};function ei(e){for(;Array.isArray(e);)e=e[wt];return e}function Aa(e,t){return ei(t[e])}function Jr(e,t){return ei(t[e.index])}function Ra(e,t){return e.data[t]}function Pa(e,t){return e[t]}function Vs(e,t){const n=t[e];return wr(n)?n:n[wt]}function Vl(e){return!(128&~e[dt])}function js(e,t){return null==t?null:e[t]}function dd(e){e[Bt]=0}function ah(e){1024&e[dt]||(e[dt]|=1024,Vl(e)&&jl(e))}function ul(e){return!!(9216&e[dt]||e[Or]?.dirty)}function Uc(e){e[Si].changeDetectionScheduler?.notify(7),64&e[dt]&&(e[dt]|=1024),ul(e)&&jl(e)}function jl(e){e[Si].changeDetectionScheduler?.notify(0);let t=fa(e);for(;null!==t&&!(8192&t[dt])&&(t[dt]|=8192,Vl(t));)t=fa(t)}function Ul(e,t){if(!(256&~e[dt]))throw new Qe(911,!1);null===e[Ji]&&(e[Ji]=[]),e[Ji].push(t)}function fa(e){const t=e[En];return qr(t)?t[En]:t}const dn={lFrame:ga(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let $c=!1;function Gc(){return dn.bindingsEnabled}function ha(){return null!==dn.skipHydrationRootTNode}function Fe(){return dn.lFrame.lView}function Hn(){return dn.lFrame.tView}function ch(e){return dn.lFrame.contextLView=e,e[On]}function uh(e){return dn.lFrame.contextLView=null,e}function Ei(){let e=dh();for(;null!==e&&64===e.type;)e=e.parent;return e}function dh(){return dn.lFrame.currentTNode}function $l(){const e=dn.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function ko(e,t){const n=dn.lFrame;n.currentTNode=e,n.isParent=t}function Wc(){return dn.lFrame.isParent}function gd(){dn.lFrame.isParent=!1}function hh(){return $c}function zc(e){$c=e}function Ps(){const e=dn.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Us(){return dn.lFrame.bindingIndex++}function Co(e){const t=dn.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function md(e){dn.lFrame.inI18n=e}function ph(e,t){const n=dn.lFrame;n.bindingIndex=n.bindingRootIndex=e,_d(t)}function _d(e){dn.lFrame.currentDirectiveIndex=e}function xa(){return dn.lFrame.currentQueryIndex}function fl(e){dn.lFrame.currentQueryIndex=e}function gh(e){const t=e[ke];return 2===t.type?t.declTNode:1===t.type?e[hi]:null}function vd(e,t,n){if(n&en.SkipSelf){let r=t,a=e;for(;!(r=r.parent,null!==r||n&en.Host||(r=gh(a),null===r||(a=a[ao],10&r.type))););if(null===r)return!1;t=r,e=a}const i=dn.lFrame=yd();return i.currentTNode=t,i.lView=e,!0}function Xc(e){const t=yd(),n=e[ke];dn.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function yd(){const e=dn.lFrame,t=null===e?null:e.child;return null===t?ga(e):t}function ga(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function ea(){const e=dn.lFrame;return dn.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Fa=ea;function ka(){const e=ea();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Pr(){return dn.lFrame.selectedIndex}function Hs(e){dn.lFrame.selectedIndex=e}function Oi(){const e=dn.lFrame;return Ra(e.tView,e.selectedIndex)}function mh(){return dn.lFrame.currentNamespace}let _h=!0;function Gl(){return _h}function Lo(e){_h=e}function Yc(e,t){for(let n=t.directiveStart,i=t.directiveEnd;n=i)break}else t[y]<0&&(e[Bt]+=65536),(h>14>16&&(3&e[dt])===t&&(e[dt]+=16384,Ed(h,a)):Ed(h,a)}const hl=-1;class La{constructor(t,n,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=i}}function eu(e){return e!==hl}function Wl(e){return 32767&e}function zl(e,t){let n=function Rm(e){return e>>16}(e),i=t;for(;n>0;)i=i[ao],n--;return i}let wd=!0;function tu(e){const t=wd;return wd=e,t}const yh=255,Td=5;let bh=0;const Ys={};function Ba(e,t){const n=nu(e,t);if(-1!==n)return n;const i=t[ke];i.firstCreatePass&&(e.injectorIndex=t.length,Va(i.data,e),Va(t,null),Va(i.blueprint,null));const r=ma(e,t),a=e.injectorIndex;if(eu(r)){const d=Wl(r),h=zl(r,t),y=h[ke].data;for(let M=0;M<8;M++)t[a+M]=h[d+M]|y[d+M]}return t[a+8]=r,a}function Va(e,t){e.push(0,0,0,0,0,0,0,0,t)}function nu(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function ma(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,i=null,r=t;for(;null!==r;){if(i=iu(r),null===i)return hl;if(n++,r=r[ao],-1!==i.injectorIndex)return i.injectorIndex|n<<16}return hl}function Md(e,t,n){!function Dh(e,t,n){let i;"string"==typeof n?i=n.charCodeAt(0)||0:n.hasOwnProperty(Mn)&&(i=n[Mn]),null==i&&(i=n[Mn]=bh++);const r=i&yh;t.data[e+(r>>Td)]|=1<=0?t&yh:Mh:t}(n);if("function"==typeof a){if(!vd(t,e,i))return i&en.Host?Sd(r,0,i):ta(t,n,i,r);try{let d;if(d=a(i),null!=d||i&en.Optional)return d;pr()}finally{Fa()}}else if("number"==typeof a){let d=null,h=nu(e,t),y=hl,M=i&en.Host?t[_i][hi]:null;for((-1===h||i&en.SkipSelf)&&(y=-1===h?ma(e,t):t[h+8],y!==hl&&Kl(i,!1)?(d=t[ke],h=Wl(y),t=zl(y,t)):h=-1);-1!==h;){const P=t[ke];if(Id(a,h,P.data)){const G=wh(h,t,n,d,i,M);if(G!==Ys)return G}y=t[h+8],y!==hl&&Kl(i,t[ke].data[h+8]===M)&&Id(a,h,t)?(d=P,h=Wl(y),t=zl(y,t)):h=-1}}return r}function wh(e,t,n,i,r,a){const d=t[ke],h=d.data[e+8],P=gl(h,d,n,null==i?co(h)&&wd:i!=d&&!!(3&h.type),r&en.Host&&a===h);return null!==P?_a(t,d,P,h):Ys}function gl(e,t,n,i,r){const a=e.providerIndexes,d=t.data,h=1048575&a,y=e.directiveStart,P=a>>20,Y=r?h+P:e.directiveEnd;for(let se=i?h:h+P;se=y&&ve.type===n)return se}if(r){const se=d[y];if(se&&cs(se)&&se.type===n)return y}return null}function _a(e,t,n,i){let r=e[n];const a=t.data;if(function Sm(e){return e instanceof La}(r)){const d=r;d.resolving&&function hr(e,t){throw t&&t.join(" > "),new Qe(-200,e)}(function xt(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Ze(e)}(a[n]));const h=tu(d.canSeeViewProviders);d.resolving=!0;const M=d.injectImpl?Li(d.injectImpl):null;vd(e,i,en.Default);try{r=e[n]=d.factory(void 0,a,e,i),t.firstCreatePass&&n>=i.directiveStart&&function Mm(e,t,n){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:a}=t.type.prototype;if(i){const d=Ee(t);(n.preOrderHooks??=[]).push(e,d),(n.preOrderCheckHooks??=[]).push(e,d)}r&&(n.preOrderHooks??=[]).push(0-e,r),a&&((n.preOrderHooks??=[]).push(e,a),(n.preOrderCheckHooks??=[]).push(e,a))}(n,a[n],t)}finally{null!==M&&Li(M),tu(h),d.resolving=!1,Fa()}}return r}function Id(e,t,n){return!!(n[t+(e>>Td)]&1<{const t=e.prototype.constructor,n=t[Jt]||Ql(t),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const a=r[Jt]||Ql(r);if(a&&a!==n)return a;r=Object.getPrototypeOf(r)}return a=>new a})}function Ql(e){return we(e)?()=>{const t=Ql(vt(e));return t&&t()}:Ft(e)}function iu(e){const t=e[ke],n=t.type;return 2===n?t.declTNode:1===n?e[hi]:null}function Xl(e){return function Eh(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const i=n.length;let r=0;for(;rB(go)});static#i=this.__NG_ELEMENT_ID__=-1}new At("").__NG_ELEMENT_ID__=e=>{const t=Ei();if(null===t)throw new Qe(204,!1);if(2&t.type)return t.value;if(e&en.Optional)return null;throw new Qe(204,!1)};function lu(e){return e.ngOriginalError}class uo{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&lu(t);for(;n&&lu(n);)n=lu(n);return n||null}}const Fh=new At("",{providedIn:"root",factory:()=>$(uo).handleError.bind(void 0)});let $a=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=km;static#t=this.__NG_ENV_ID__=n=>n}return e})();class Fm extends $a{constructor(t){super(),this._lView=t}onDestroy(t){return Ul(this._lView,t),()=>function Hc(e,t){if(null===e[Ji])return;const n=e[Ji].indexOf(t);-1!==n&&e[Ji].splice(n,1)}(this._lView,t)}}function km(){return new Fm(Fe())}function Vm(){return _l(Ei(),Fe())}function _l(e,t){return new vl(Jr(e,t))}let vl=(()=>{class e{constructor(n){this.nativeElement=n}static#e=this.__NG_ELEMENT_ID__=Vm}return e})();function Fd(e){return e instanceof vl?e.nativeElement:e}function kd(e){return t=>{setTimeout(e,void 0,t)}}const Bo=class Lh extends bn.B{constructor(t=!1){super(),this.destroyRef=void 0,this.__isAsync=t,T()&&(this.destroyRef=$($a,{optional:!0})??void 0)}emit(t){const n=le(null);try{super.next(t)}finally{le(n)}}subscribe(t,n,i){let r=t,a=n||(()=>null),d=i;if(t&&"object"==typeof t){const y=t;r=y.next?.bind(y),a=y.error?.bind(y),d=y.complete?.bind(y)}this.__isAsync&&(a=kd(a),r&&(r=kd(r)),d&&(d=kd(d)));const h=super.subscribe({next:r,error:a,complete:d});return t instanceof wn.yU&&t.add(h),h}};function jm(){return this._results[Symbol.iterator]()}class Ld{static#e=Symbol.iterator;get changes(){return this._changes??=new Bo}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const n=Ld.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=jm)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){this.dirty=!1;const i=function xn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function Jn(e,t,n){if(e.length!==t.length)return!1;for(let i=0;iht}),ht="ng",ot=new At(""),pt=new At("",{providedIn:"platform",factory:()=>"unknown"}),sn=new At(""),Ln=new At("",{providedIn:"root",factory:()=>Ce().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});function Gi(e){return e}function Vn(){const e=new Gn;return"browser"===$(pt)&&(e.store=function ai(e,t){const n=e.getElementById(t+"-state");if(n?.textContent)try{return JSON.parse(n.textContent)}catch(i){console.warn("Exception while restoring TransferState for app "+t,i)}return{}}(Ce(),$(Oe))),e}let Gn=(()=>{class e{constructor(){this.store={},this.onSerializeCallbacks={}}static#e=this.\u0275prov=Pt({token:e,providedIn:"root",factory:Vn});get(n,i){return void 0!==this.store[n]?this.store[n]:i}set(n,i){this.store[n]=i}remove(n){delete this.store[n]}hasKey(n){return this.store.hasOwnProperty(n)}get isEmpty(){return 0===Object.keys(this.store).length}onSerialize(n,i){this.onSerializeCallbacks[n]=i}toJson(){for(const n in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(n))try{this.store[n]=this.onSerializeCallbacks[n]()}catch(i){console.warn("Exception in onSerialize callback: ",i)}return JSON.stringify(this.store).replace(/null;function Qa(e,t,n=!1){let i=e.getAttribute(va);if(null==i)return null;const[r,a]=i.split("|");if(i=n?a:r,!i)return null;const h=n?r:a?`|${a}`:"";let y={};if(""!==i){const P=t.get(Gn,null,{optional:!0});null!==P&&(y=P.get(Ka,[])[Number(i)])}const M={data:y,firstChild:e.firstChild??null};return n&&(M.firstChild=e,tc(M,0,e.nextSibling)),h?e.setAttribute(va,h):e.removeAttribute(va),M}function ya(e,t,n=!1){return bl(e,t,n)}function Dl(e){let t=e._lView;return 2===t[ke].type?null:(ll(t)&&(t=t[rt]),t)}function tc(e,t,n){e.segmentHeads??={},e.segmentHeads[t]=n}function pu(e,t){return e.segmentHeads?.[t]??null}function gu(e,t){return e.data[Ds]?.[t]??null}function ic(e,t){const n=gu(e,t)??[];let i=0;for(let r of n)i+=r[qs]*(r[Hr]??1);return i}function Ya(e,t){if(typeof e.disconnectedNodes>"u"){const n=e.data[Es];e.disconnectedNodes=n?new Set(n):null}return!!function rc(e){if(typeof e.disconnectedNodes>"u"){const t=e.data[Es];e.disconnectedNodes=t?new Set(t):null}return e.disconnectedNodes}(e)?.has(t)}const Cl=new At(""),s_=new At("",{providedIn:"root",factory:()=>!1});let Gd,Wd;function sc(e){return function tp(){if(void 0===Gd&&(Gd=null,Rt.trustedTypes))try{Gd=Rt.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Gd}()?.createHTML(e)||e}function u_(e){return function np(){if(void 0===Wd&&(Wd=null,Rt.trustedTypes))try{Wd=Rt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Wd}()?.createScriptURL(e)||e}class d_{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${yi})`}}function qa(e){return e instanceof d_?e.changingThisBreaksApplicationSecurity:e}function vu(e,t){const n=function $E(e){return e instanceof d_&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${yi})`)}return n===t}class GE{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const n=(new window.DOMParser).parseFromString(sc(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class WE{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const n=this.inertDocument.createElement("template");return n.innerHTML=sc(t),n}}const KE=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function ip(e){return(e=String(e)).match(KE)?e:"unsafe:"+e}function Da(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function yu(...e){const t={};for(const n of e)for(const i in n)n.hasOwnProperty(i)&&(t[i]=!0);return t}const h_=Da("area,br,col,hr,img,wbr"),p_=Da("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),g_=Da("rp,rt"),rp=yu(h_,yu(p_,Da("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),yu(g_,Da("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),yu(g_,p_)),sp=Da("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),m_=yu(sp,Da("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Da("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"));var oc=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(oc||{});function b_(e){const t=bu();return t?t.sanitize(oc.URL,e)||"":vu(e,"URL")?qa(e):ip(Ze(e))}function D_(e){const t=bu();if(t)return u_(t.sanitize(oc.RESOURCE_URL,e)||"");if(vu(e,"ResourceURL"))return u_(qa(e));throw new Qe(904,!1)}function E_(e,t,n){return function lC(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?D_:b_}(t,n)(e)}function bu(){const e=Fe();return e&&e[Si].sanitizer}const cC=/^>|^->||--!>|)/g,dC="\u200b$1\u200b";function fo(e){return e instanceof Function?e():e}function wo(e){return"browser"===(e??$(jr)).get(pt)}var Xd=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(Xd||{});let up;function dp(e,t){return up(e,t)}function lc(e,t,n,i,r){if(null!=i){let a,d=!1;qr(i)?a=i:wr(i)&&(d=!0,i=i[wt]);const h=ei(i);0===e&&null!==n?null==r?x_(t,n,h):wl(t,n,h,r||null,!0):1===e&&null!==n?wl(t,n,h,r||null,!0):2===e?Cu(t,h,d):3===e&&t.destroyNode(h),null!=a&&function RC(e,t,n,i,r){const a=n[Ni];a!==ei(n)&&lc(t,e,i,a,r);for(let h=Di;ht.replace(uC,dC))}(t))}function Yd(e,t,n){return e.createElement(t,n)}function A_(e,t){t[Si].changeDetectionScheduler?.notify(8),ef(e,t,t[tn],2,null,null)}function R_(e,t){const n=e[mr],i=t[En];(wr(i)||t[_i]!==i[En][_i])&&(e[dt]|=lo.HasTransplantedViews),null===n?e[mr]=[t]:n.push(t)}function pp(e,t){const n=e[mr],i=n.indexOf(t);n.splice(i,1)}function Du(e,t){if(e.length<=Di)return;const n=Di+t,i=e[n];if(i){const r=i[Tt];null!==r&&r!==e&&pp(r,i),t>0&&(e[n-1][fi]=i[fi]);const a=or(e,Di+t);!function CC(e,t){A_(e,t),t[wt]=null,t[hi]=null}(i[ke],i);const d=a[Lt];null!==d&&d.detachView(a[ke]),i[En]=null,i[fi]=null,i[dt]&=-129}return i}function qd(e,t){if(!(256&t[dt])){const n=t[tn];n.destroyNode&&ef(e,t,n,3,null,null),function TC(e){let t=e[Ir];if(!t)return gp(e[ke],e);for(;t;){let n=null;if(wr(t))n=t[Ir];else{const i=t[Di];i&&(n=i)}if(!n){for(;t&&!t[fi]&&t!==e;)wr(t)&&gp(t[ke],t),t=t[En];null===t&&(t=e),wr(t)&&gp(t[ke],t),n=t&&t[fi]}t=n}}(t)}}function gp(e,t){if(256&t[dt])return;const n=le(null);try{t[dt]&=-129,t[dt]|=256,t[Or]&&function Nn(e){if(kt(e),st(e))for(let t=0;t=0?i[d]():i[-d].unsubscribe(),a+=2}else n[a].call(i[n[a+1]]);null!==i&&(t[Ui]=null);const r=t[Ji];if(null!==r){t[Ji]=null;for(let a=0;a-1){const{encapsulation:a}=e.data[i.directiveStart+r];if(a===Cr.None||a===Cr.Emulated)return null}return Jr(i,n)}}function wl(e,t,n,i,r){e.insertBefore(t,n,i,r)}function x_(e,t,n){e.appendChild(t,n)}function F_(e,t,n,i,r){null!==i?wl(e,t,n,i,r):x_(e,t,n)}function Zd(e,t){return e.parentNode(t)}function k_(e,t,n){return B_(e,t,n)}function L_(e,t,n){return 40&e.type?Jr(e,n):null}let _p,B_=L_;function V_(e,t){B_=e,_p=t}function Jd(e,t,n,i){const r=mp(e,i,t),a=t[tn],h=k_(i.parent||t[hi],i,t);if(null!=r)if(Array.isArray(n))for(let y=0;yrt&&z_(e,t,rt,!1),Ar(d?2:0,r),n(i,r)}finally{Hs(a),Ar(d?3:1,r)}}function Dp(e,t,n){if(al(t)){const i=le(null);try{const a=t.directiveEnd;for(let d=t.directiveStart;dnull;function VC(e){Vh(e)?U_(e):function fu(e){const t=Ce(),n=t.createNodeIterator(e,NodeFilter.SHOW_COMMENT,{acceptNode(a){const d=function ba(e){return e.textContent?.replace(/\s/gm,"")}(a);return"ngetn"===d||"ngtns"===d?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let i;const r=[];for(;i=n.nextNode();)r.push(i);for(const a of r)"ngetn"===a.textContent?a.replaceWith(t.createTextNode("")):a.remove()}(e)}function Z_(e,t,n,i,r){for(let a in t){if(!t.hasOwnProperty(a))continue;const d=t[a];if(void 0===d)continue;i??={};let h,y=zs.None;Array.isArray(d)?(h=d[0],y=d[1]):h=d;let M=a;if(null!==r){if(!r.hasOwnProperty(a))continue;M=r[a]}0===e?J_(i,n,M,h,y):J_(i,n,M,h)}return i}function J_(e,t,n,i,r){let a;e.hasOwnProperty(n)?(a=e[n]).push(t,i):a=e[n]=[t,i],void 0!==r&&a.push(r)}function Zs(e,t,n,i,r,a,d,h){const y=Jr(t,n);let P,M=t.inputs;!h&&null!=M&&(P=M[i])?(Ip(e,n,P,i,r),co(t)&&function WC(e,t){const n=Vs(t,e);16&n[dt]||(n[dt]|=64)}(n,t.index)):3&t.type&&(i=function GC(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=d?d(r,t.value||"",i):r,a.setProperty(y,i,r))}function Tp(e,t,n,i){if(Gc()){const r=null===i?null:{"":-1},a=function qC(e,t){const n=e.directiveRegistry;let i=null,r=null;if(n)for(let a=0;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(d)!=h&&d.push(h),d.push(n,i,a)}}(e,t,i,wu(e,n,r.hostVars,Sn),r)}function ra(e,t,n,i,r,a){const d=Jr(e,t);!function Sp(e,t,n,i,r,a,d){if(null==a)e.removeAttribute(t,r,n);else{const h=null==d?Ze(a):d(a,i||"",r);e.setAttribute(t,r,h,n)}}(t[tn],d,a,e.value,n,i,r)}function iw(e,t,n,i,r,a){const d=a[t];if(null!==d)for(let h=0;h0&&(n[r-1][fi]=t),i{jl(e.lView)},consumerOnSignalRead(){this.lView[Or]=this}},fw=100;function sf(e,t=!0,n=0){const i=e[Si],r=i.rendererFactory;r.begin?.();try{!function hw(e,t){const n=hh();try{zc(!0),Rp(e,t);let i=0;for(;ul(e);){if(i===fw)throw new Qe(103,!1);i++,Rp(e,1)}}finally{zc(n)}}(e,n)}catch(d){throw t&&rf(e,d),d}finally{r.end?.(),i.inlineEffectRunner?.flush()}}function pw(e,t,n,i){const r=t[dt];if(!(256&~r))return;t[Si].inlineEffectRunner?.flush(),Xc(t);let h=null,y=null;(function gw(e){return 2!==e.type})(e)&&(y=function lw(e){return e[Or]??function cw(e){const t=cv.pop()??Object.create(dw);return t.lView=e,t}(e)}(t),h=function jt(e){return e&&(e.nextProducerIndex=0),le(e)}(y));try{dd(t),function $i(e){return dn.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==n&&X_(e,t,n,2,i);const M=!(3&~r);if(M){const Y=e.preOrderCheckHooks;null!==Y&&qc(t,Y,null)}else{const Y=e.preOrderHooks;null!==Y&&Zc(t,Y,0,null),Dd(t,0)}if(function mw(e){for(let t=Xh(e);null!==t;t=jd(t)){if(!(t[dt]&lo.HasTransplantedViews))continue;const n=t[mr];for(let i=0;ie.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(y,h),function uw(e){e.lView[Or]!==e&&(e.lView=null,cv.push(e))}(y)),ka()}}function dv(e,t){for(let n=Xh(e);null!==n;n=jd(n))for(let i=Di;i-1&&(Du(t,i),or(n,i))}this._attachedToViewContainer=!1}qd(this._lView[ke],this._lView)}onDestroy(t){Ul(this._lView,t)}markForCheck(){Mu(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[dt]&=-129}reattach(){Uc(this._lView),this._lView[dt]|=128}detectChanges(){this._lView[dt]|=1024,sf(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Qe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const t=ll(this._lView),n=this._lView[Tt];null!==n&&!t&&pp(n,this._lView),A_(this._lView[ke],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Qe(902,!1);this._appRef=t;const n=ll(this._lView),i=this._lView[Tt];null!==i&&!n&&R_(i,this._lView),Uc(this._lView)}}let Nu=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=bw}return e})();const vw=Nu,yw=class extends vw{constructor(t,n,i){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n)}createEmbeddedViewImpl(t,n,i){const r=dc(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:n,dehydratedView:i});return new Su(r)}};function bw(){return af(Ei(),Fe())}function af(e,t){return 4&e.type?new yw(t,e,_l(e,t)):null}function mv(e,t,n){const i=t.insertBeforeIndex,r=Array.isArray(i)?i[0]:i;return null===r?L_(e,0,n):ei(n[r])}function _v(e,t,n,i,r){const a=t.insertBeforeIndex;if(Array.isArray(a)){let d=i,h=null;if(3&t.type||(h=d,d=r),null!==d&&-1===t.componentOffset)for(let y=1;y1)for(let n=e.length-2;n>=0;n--){const i=e[n];yv(i)||Iw(i,t)&&null===Ow(i)&&Aw(i,t.index)}}function yv(e){return!(64&e.type)}function Iw(e,t){return yv(t)||e.index>t.index}function Ow(e){const t=e.insertBeforeIndex;return Array.isArray(t)?t[0]:t}function Aw(e,t){const n=e.insertBeforeIndex;Array.isArray(n)?n[0]=t:(V_(mv,_v),e.insertBeforeIndex=t)}function xw(e,t,n){const i=bp(e,n,64,null,null);return vv(t,i),i}const kw=new RegExp(`^(\\d+)*(${Ci}|${Ai})*(.*)`);function kp(e){return e.index-rt}function xu(e,t,n,i){const r=kp(i);let a=function wv(e,t){const n=e.i18nNodes;if(n)return n.get(t)}(e,r);if(void 0===a){const d=e.data[fs];if(d?.[r])a=function Tv(e,t){const[n,...i]=function Bw(e){const t=e.match(kw),[n,i,r,a]=t,d=i?parseInt(i,10):r,h=[];for(const[y,M,P]of a.matchAll(/(f|n)(\d*)/g)){const G=parseInt(P,10)||1;h.push(M,G)}return[d,...h]}(e);let r;r=n===Ai?t[_i][wt]:n===Ci?function M_(e){return e.ownerDocument.body}(t[_i][wt]):ei(t[Number(n)+rt]);return function Uw(e,t){let n=e;for(let i=0;i{};function t1(e,t,n){for(const i of n.node.cases[n.case]){const r=t.get(i.index-rt);r&&Cu(e,r,!1)}}function Av(e){const t=e[Eo]??[],i=e[En][tn];for(const r of t)n1(r,i);e[Eo]=Fn}function n1(e,t){let n=0,i=e.firstChild;if(i){const r=e.data[qs];for(;nnull;function s1(e,t){const n=e[Eo];return t&&null!==n&&0!==n.length?n[0].data[Vo]===t?n.shift():(Av(e),null):null}function Sl(e,t){return Pv(e,t)}class pc{}const ku=new At("",{providedIn:"root",factory:()=>!1}),xv=new At("");class a1{}class Fv{}class c1{resolveComponentFactory(t){throw function l1(e){const t=Error(`No component factory found for ${rn(e)}.`);return t.ngComponent=e,t}(t)}}class ff{static#e=this.NULL=new c1}class Hp{}let u1=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function d1(){const e=Fe(),n=Vs(Ei().index,e);return(wr(n)?n:e)[tn]}()}return e})(),f1=(()=>{class e{static#e=this.\u0275prov=Pt({token:e,providedIn:"root",factory:()=>null})}return e})();const $p={},Lv=new Set;function Js(e){Lv.has(e)||(Lv.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function Bv(e){let t=!0;return setTimeout(()=>{t&&(t=!1,e())}),"function"==typeof Rt.requestAnimationFrame&&Rt.requestAnimationFrame(()=>{t&&(t=!1,e())}),()=>{t=!1}}function Vv(e){let t=!0;return queueMicrotask(()=>{t&&e()}),()=>{t=!1}}function jv(...e){}class tr{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Bo(!1),this.onMicrotaskEmpty=new Bo(!1),this.onStable=new Bo(!1),this.onError=new Bo(!1),typeof Zone>"u")throw new Qe(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&n,r.shouldCoalesceRunChangeDetection=i,r.callbackScheduled=!1,function g1(e){const t=()=>{!function p1(e){e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,Zone.root.run(()=>{Bv(()=>{e.callbackScheduled=!1,Wp(e),e.isCheckStableRunning=!0,Gp(e),e.isCheckStableRunning=!1})}),Wp(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,i,r,a,d,h)=>{if(function m1(e){return $v(e,"__ignore_ng_zone__")}(h))return n.invokeTask(r,a,d,h);try{return Uv(e),n.invokeTask(r,a,d,h)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===a.type||e.shouldCoalesceRunChangeDetection)&&t(),Hv(e)}},onInvoke:(n,i,r,a,d,h,y)=>{try{return Uv(e),n.invoke(r,a,d,h,y)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function _1(e){return $v(e,"__scheduler_tick__")}(h)&&t(),Hv(e)}},onHasTask:(n,i,r,a)=>{n.hasTask(r,a),i===r&&("microTask"==a.change?(e._hasPendingMicrotasks=a.microTask,Wp(e),Gp(e)):"macroTask"==a.change&&(e.hasPendingMacrotasks=a.macroTask))},onHandleError:(n,i,r,a)=>(n.handleError(r,a),e.runOutsideAngular(()=>e.onError.emit(a)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!tr.isInAngularZone())throw new Qe(909,!1)}static assertNotInAngularZone(){if(tr.isInAngularZone())throw new Qe(909,!1)}run(t,n,i){return this._inner.run(t,n,i)}runTask(t,n,i,r){const a=this._inner,d=a.scheduleEventTask("NgZoneEvent: "+r,t,h1,jv,jv);try{return a.runTask(d,n,i)}finally{a.cancelTask(d)}}runGuarded(t,n,i){return this._inner.runGuarded(t,n,i)}runOutsideAngular(t){return this._outer.run(t)}}const h1={};function Gp(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Wp(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function Uv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Hv(e){e._nesting--,Gp(e)}class zp{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Bo,this.onMicrotaskEmpty=new Bo,this.onStable=new Bo,this.onError=new Bo}run(t,n,i){return t.apply(n,i)}runGuarded(t,n,i){return t.apply(n,i)}runOutsideAngular(t){return t()}runTask(t,n,i,r){return t.apply(n,i)}}function $v(e,t){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[t]}var Nl=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(Nl||{});const Gv={destroy(){}};function Wv(e,t){!t&&g();const n=t?.injector??$(jr);if(!wo(n))return Gv;Js("NgAfterNextRender");const i=n.get(Lu),r=i.handler??=new Kv,a=t?.phase??Nl.MixedReadWrite,d=()=>{r.unregister(y),h()},h=n.get($a).onDestroy(d),y=k(n,()=>new zv(a,()=>{d(),e()}));return r.register(y),{destroy:d}}class zv{constructor(t,n){this.phase=t,this.callbackFn=n,this.zone=$(tr),this.errorHandler=$(uo,{optional:!0}),$(pc,{optional:!0})?.notify(6)}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(t){this.errorHandler?.handleError(t)}}}class Kv{constructor(){this.executingCallbacks=!1,this.buckets={[Nl.EarlyRead]:new Set,[Nl.Write]:new Set,[Nl.MixedReadWrite]:new Set,[Nl.Read]:new Set},this.deferredCallbacks=new Set}register(t){(this.executingCallbacks?this.deferredCallbacks:this.buckets[t.phase]).add(t)}unregister(t){this.buckets[t.phase].delete(t),this.deferredCallbacks.delete(t)}execute(){this.executingCallbacks=!0;for(const t of Object.values(this.buckets))for(const n of t)n.invoke();this.executingCallbacks=!1;for(const t of this.deferredCallbacks)this.buckets[t.phase].add(t);this.deferredCallbacks.clear()}destroy(){for(const t of Object.values(this.buckets))t.clear();this.deferredCallbacks.clear()}}let Lu=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){this.executeInternalCallbacks(),this.handler?.execute()}executeInternalCallbacks(){const n=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const i of n)i()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=Pt({token:e,providedIn:"root",factory:()=>new e})}return e})();function Za(e){return!!cr(e)}function pf(e,t,n){let i=n?e.styles:null,r=n?e.classes:null,a=0;if(null!==t)for(let d=0;d0&&$_(e,n,a.join(" "))}}(se,ns,Re,i),void 0!==n&&function I1(e,t,n){const i=e.projection=[];for(let r=0;r{class e{static#e=this.__NG_ELEMENT_ID__=A1}return e})();function A1(){return ey(Ei(),Fe())}const R1=mf,Zv=class extends R1{constructor(t,n,i){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=i}get element(){return _l(this._hostTNode,this._hostLView)}get injector(){return new xr(this._hostTNode,this._hostLView)}get parentInjector(){const t=ma(this._hostTNode,this._hostLView);if(eu(t)){const n=zl(t,this._hostLView),i=Wl(t);return new xr(n[ke].data[i+8],n)}return new xr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=Jv(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-Di}createEmbeddedView(t,n,i){let r,a;"number"==typeof i?r=i:null!=i&&(r=i.index,a=i.injector);const d=Sl(this._lContainer,t.ssrId),h=t.createEmbeddedViewImpl(n||{},a,d);return this.insertImpl(h,r,Tl(this._hostTNode,d)),h}createComponent(t,n,i,r,a){const d=t&&!function J(e){return"function"==typeof e}(t);let h;if(d)h=n;else{const ve=n||{};h=ve.index,i=ve.injector,r=ve.projectableNodes,a=ve.environmentInjector||ve.ngModuleRef}const y=d?t:new ju(Dn(t)),M=i||this.parentInjector;if(!a&&null==y.ngModule){const Re=(d?M:this.parentInjector).get(ls,null);Re&&(a=Re)}const P=Dn(y.componentType??{}),G=Sl(this._lContainer,P?.id??null),se=y.create(M,r,G?.firstChild??null,a);return this.insertImpl(se.hostView,h,Tl(this._hostTNode,G)),se}insert(t,n){return this.insertImpl(t,n,!0)}insertImpl(t,n,i){const r=t._lView;if(function ud(e){return qr(e[En])}(r)){const h=this.indexOf(t);if(-1!==h)this.detach(h);else{const y=r[En],M=new Zv(y,y[hi],y[En]);M.detach(M.indexOf(t))}}const a=this._adjustIndex(n),d=this._lContainer;return fc(d,r,a,i),t.attachToViewContainerRef(),Vi(Yp(d),a,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=Jv(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),i=Du(this._lContainer,n);i&&(or(Yp(this._lContainer),n),qd(i[ke],i))}detach(t){const n=this._adjustIndex(t,-1),i=Du(this._lContainer,n);return i&&null!=or(Yp(this._lContainer),n)?new Su(i):null}_adjustIndex(t,n=0){return t??this.length+n}};function Jv(e){return e[8]}function Yp(e){return e[8]||(e[8]=[])}function ey(e,t){let n;const i=t[e.index];return qr(i)?n=i:(n=nv(i,t,null,e),t[e.index]=n,nf(t,n)),ty(n,t,e,i),new Zv(n,e,t)}let ty=iy,qp=()=>!1;function iy(e,t,n,i){if(e[Ni])return;let r;r=8&n.type?ei(i):function P1(e,t){const n=e[tn],i=n.createComment(""),r=Jr(t,e);return wl(n,Zd(n,r),i,function OC(e,t){return e.nextSibling(t)}(n,r),!1),i}(t,n),e[Ni]=r}function x1(e,t,n){if(e[Ni]&&e[Eo])return!0;const i=n[Xn],r=t.index-rt;if(!i||function cu(e){if(Zl(e))return!0;let t=e.parent;for(;t;){if(Zl(e)||Bh(t))return!0;t=t.parent}return!1}(t)||Ya(i,r))return!1;const d=pu(i,r),h=i.data[Ds]?.[r],[y,M]=function r1(e,t){const n=[];for(const i of t)for(let r=0;r<(i[Hr]??1);r++){const a={data:i,firstChild:null};i[qs]>0&&(a.firstChild=e,e=uf(i[qs],e)),n.push(a)}return[e,n]}(d,h);return e[Ni]=y,e[Eo]=M,!0}function F1(e,t,n,i){qp(e,n,t)||iy(e,t,n,i)}class Zp{constructor(t){this.queryList=t,this.matches=null}clone(){return new Zp(this.queryList)}setDirty(){this.queryList.setDirty()}}class Jp{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const i=null!==t.contentQueries?t.contentQueries[0]:n.length,r=[];for(let a=0;at.trim())}(t):t}}class eg{constructor(t=[]){this.queries=t}elementStart(t,n){for(let i=0;i0)i.push(d[h/2]);else{const M=a[h+1],P=t[-y];for(let G=Di;G(Me(t),t.value);return n[X]=t,n}(e),i=n[X];return t?.equal&&(i.equal=t.equal),n.set=r=>U(i,r),n.update=r=>function ne(e,t){We()||wi(),U(e,t(e.value))}(i,r),n.asReadonly=hy.bind(n),n}function hy(){const e=this[X];if(void 0===e.readonlyFn){const t=()=>this();t[X]=e,e.readonlyFn=t}return e.readonlyFn}function og(e){let t=function Ty(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),n=!0;const i=[e];for(;t;){let r;if(cs(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new Qe(903,!1);r=t.\u0275dir}if(r){if(n){i.push(r);const d=e;d.inputs=vf(e.inputs),d.inputTransforms=vf(e.inputTransforms),d.declaredInputs=vf(e.declaredInputs),d.outputs=vf(e.outputs);const h=r.hostBindings;h&&nT(e,h);const y=r.viewQuery,M=r.contentQueries;if(y&&eT(e,y),M&&tT(e,M),Z1(e,r),Wi(e.outputs,r.outputs),cs(r)&&r.data.animation){const P=e.data;P.animation=(P.animation||[]).concat(r.data.animation)}}const a=r.features;if(a)for(let d=0;d=0;i--){const r=e[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ro(r.hostAttrs,n=ro(n,r.hostAttrs))}}(i)}function Z1(e,t){for(const n in t.inputs){if(!t.inputs.hasOwnProperty(n)||e.inputs.hasOwnProperty(n))continue;const i=t.inputs[n];if(void 0!==i&&(e.inputs[n]=i,e.declaredInputs[n]=t.declaredInputs[n],null!==t.inputTransforms)){const r=Array.isArray(i)?i[0]:i;if(!t.inputTransforms.hasOwnProperty(r))continue;e.inputTransforms??={},e.inputTransforms[r]=t.inputTransforms[r]}}}function vf(e){return e===Br?{}:e===Fn?[]:e}function eT(e,t){const n=e.viewQuery;e.viewQuery=n?(i,r)=>{t(i,r),n(i,r)}:t}function tT(e,t){const n=e.contentQueries;e.contentQueries=n?(i,r,a)=>{t(i,r,a),n(i,r,a)}:t}function nT(e,t){const n=e.hostBindings;e.hostBindings=n?(i,r)=>{t(i,r),n(i,r)}:t}function My(e){const t=n=>{const i=(Array.isArray(e)?e:e()).map(r=>"function"==typeof r?{directive:vt(r),inputs:Br,outputs:Br}:{directive:vt(r.directive),inputs:Ny(r.inputs),outputs:Ny(r.outputs)});null===n.hostDirectives?(n.findHostDirectiveDefs=Sy,n.hostDirectives=i):n.hostDirectives.unshift(...i)};return t.ngInherit=!0,t}function Sy(e,t,n){if(null!==e.hostDirectives)for(const i of e.hostDirectives){const r=Zi(i.directive);oT(r.declaredInputs,i.inputs),Sy(r,t,n),n.set(r,i),t.push(r)}}function Ny(e){if(void 0===e||0===e.length)return Br;const t={};for(let n=0;nn()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class lg extends Ay{constructor(t){super(),this.moduleType=t}create(t){return new ag(this.moduleType,t,[])}}class Ry extends Il{constructor(t){super(),this.componentFactoryResolver=new Yv(this),this.instance=null;const n=new Xs([...t.providers,{provide:Il,useValue:this},{provide:ff,useValue:this.componentFactoryResolver}],t.parent||qo(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function cg(e,t,n=null){return new Ry({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let Ol=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new gn.t(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function bf(e){return!!ug(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function ug(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function sa(e,t,n){return e[t]=n}function Fr(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function Al(e,t,n,i){const r=Fr(e,t,n);return Fr(e,t+1,i)||r}function mc(e){return!(32&~e.flags)}function $u(e,t,n,i,r,a,d,h,y,M){const P=n+rt,G=t.firstCreatePass?function pT(e,t,n,i,r,a,d,h,y){const M=t.consts,P=uc(t,e,4,d||null,h||null);Tp(t,n,P,js(M,y)),Yc(t,P);const G=P.tView=wp(2,P,i,r,a,t.directiveRegistry,t.pipeRegistry,null,t.schemas,M,null);return null!==t.queries&&(t.queries.template(t,P),G.queries=t.queries.embeddedTView(P)),P}(P,t,e,i,r,a,d,h,y):t.data[P];ko(G,!1);const Y=xy(t,e,G,n);Gl()&&Jd(t,e,Y,G),ds(Y,e);const se=nv(Y,e,Y,G);return e[P]=se,nf(e,se),function ny(e,t,n){return qp(e,t,n)}(se,G,e),da(G)&&Ep(t,e,G),null!=y&&Cp(e,G,M),G}function dg(e,t,n,i,r,a,d,h){const y=Fe(),M=Hn();return $u(y,M,e,t,n,i,r,js(M.consts,a),d,h),dg}let xy=Fy;function Fy(e,t,n,i){return Lo(!0),t[tn].createComment("")}function gT(e,t,n,i){const r=t[Xn],a=!r||ha()||mc(n)||Ya(r,i);if(Lo(a),a)return Fy(0,t);const d=r.data[Ur]?.[i]??null;null!==d&&null!==n.tView&&null===n.tView.ssrId&&(n.tView.ssrId=d);const h=xu(r,e,t,n);return tc(r,i,h),uf(ic(r,i),h)}function Dg(e,t,n,i){const r=Fe();return Fr(r,Us(),t)&&(Hn(),ra(Oi(),r,e,t,n,i)),Dg}function wc(e,t,n,i){return Fr(e,Us(),n)?t+Ze(n)+i:Sn}function Sf(e,t){return e<<17|t<<2}function tl(e){return e>>17&32767}function Eg(e){return 2|e}function Pl(e){return(131068&e)>>2}function Cg(e,t){return-131069&e|t<<2}function wg(e){return 1|e}function h0(e,t,n,i){const r=e[n+1],a=null===t;let d=i?tl(r):Pl(r),h=!1;for(;0!==d&&(!1===h||a);){const M=e[d+1];eM(e[d],t)&&(h=!0,e[d+1]=i?wg(M):Eg(M)),d=i?tl(M):Pl(M)}h&&(e[n+1]=i?Eg(r):wg(r))}function eM(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&_s(e,t)>=0}const es={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function p0(e){return e.substring(es.key,es.keyEnd)}function g0(e,t){const n=es.textEnd;return n===t?-1:(t=es.keyEnd=function rM(e,t,n){for(;t32;)t++;return t}(e,es.key=t,n),Rc(e,t,n))}function Rc(e,t,n){for(;t=0;n=g0(t,n))Sr(e,p0(t),!0)}function Uo(e,t,n,i){const r=Hn(),a=Co(2);r.firstUpdatePass&&C0(r,null,a,i);const d=Fe();if(n!==Sn&&Fr(d,a,n)){const h=r.data[Pr()];if(S0(h,i)&&!E0(r,a)){let y=i?h.classesWithoutHost:h.stylesWithoutHost;null!==y&&(n=In(y,n||"")),Mg(r,h,d,n,i)}else!function pM(e,t,n,i,r,a,d,h){r===Sn&&(r=Fn);let y=0,M=0,P=0=e.expandoStartIndex}function C0(e,t,n,i){const r=e.data;if(null===r[n+1]){const a=r[Pr()],d=E0(e,n);S0(a,i)&&null===t&&!d&&(t=!1),t=function lM(e,t,n,i){const r=function pa(e){const t=dn.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let a=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(n=Ku(n=Ng(null,e,t,n,i),t.attrs,i),a=null);else{const d=t.directiveStylingLast;if(-1===d||e[d]!==r)if(n=Ng(r,e,t,n,i),null===a){let y=function cM(e,t,n){const i=n?t.classBindings:t.styleBindings;if(0!==Pl(i))return e[tl(i)]}(e,t,i);void 0!==y&&Array.isArray(y)&&(y=Ng(null,e,t,y[1],i),y=Ku(y,t.attrs,i),function uM(e,t,n,i){e[tl(n?t.classBindings:t.styleBindings)]=i}(e,t,i,y))}else a=function dM(e,t,n){let i;const r=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0)&&(M=!0)):P=n,r)if(0!==y){const Y=tl(e[h+1]);e[i+1]=Sf(Y,h),0!==Y&&(e[Y+1]=Cg(e[Y+1],i)),e[h+1]=function YT(e,t){return 131071&e|t<<17}(e[h+1],i)}else e[i+1]=Sf(h,0),0!==h&&(e[h+1]=Cg(e[h+1],i)),h=i;else e[i+1]=Sf(y,0),0===h?h=i:e[y+1]=Cg(e[y+1],i),y=i;M&&(e[i+1]=Eg(e[i+1])),h0(e,P,i,!0),h0(e,P,i,!1),function JT(e,t,n,i,r){const a=r?e.residualClasses:e.residualStyles;null!=a&&"string"==typeof t&&_s(a,t)>=0&&(n[i+1]=wg(n[i+1]))}(t,P,e,i,a),d=Sf(h,y),a?t.classBindings=d:t.styleBindings=d}(r,a,t,n,d,i)}}function Ng(e,t,n,i,r){let a=null;const d=n.directiveEnd;let h=n.directiveStylingLast;for(-1===h?h=n.directiveStart:h++;h0;){const y=e[r],M=Array.isArray(y),P=M?y[1]:y,G=null===P;let Y=n[r+1];Y===Sn&&(Y=G?Fn:void 0);let se=G?ar(Y,i):P===i?Y:void 0;if(M&&!Nf(se)&&(se=ar(y,i)),Nf(se)&&(h=se,d))return h;const ve=e[r+1];r=d?tl(ve):Pl(ve)}if(null!==t){let y=a?t.residualClasses:t.residualStyles;null!=y&&(h=ar(y,i))}return h}function Nf(e){return void 0!==e}function S0(e,t){return!!(e.flags&(t?8:16))}function N0(e,t,n){Uo(Sr,aa,wc(Fe(),e,t,n),!0)}class TM{destroy(t){}updateValue(t,n){}swap(t,n){const i=Math.min(t,n),r=Math.max(t,n),a=this.detach(r);if(r-i>1){const d=this.detach(i);this.attach(i,a),this.attach(r,d)}else this.attach(i,a)}move(t,n){this.attach(n,this.detach(t))}}function Ig(e,t,n,i,r){return e===n&&Object.is(t,i)?1:Object.is(r(e,t),r(n,i))?-1:0}function Og(e,t,n,i){return!(void 0===t||!t.has(i)||(e.attach(n,t.get(i)),t.delete(i),0))}function I0(e,t,n,i,r){if(Og(e,t,i,n(i,r)))e.updateValue(i,r);else{const a=e.create(i,r);e.attach(i,a)}}function O0(e,t,n,i){const r=new Set;for(let a=t;a<=n;a++)r.add(i(a,e.at(a)));return r}class A0{constructor(){this.kvMap=new Map,this._vMap=void 0}has(t){return this.kvMap.has(t)}delete(t){if(!this.has(t))return!1;const n=this.kvMap.get(t);return void 0!==this._vMap&&this._vMap.has(n)?(this.kvMap.set(t,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(t),!0}get(t){return this.kvMap.get(t)}set(t,n){if(this.kvMap.has(t)){let i=this.kvMap.get(t);void 0===this._vMap&&(this._vMap=new Map);const r=this._vMap;for(;r.has(i);)i=r.get(i);r.set(i,n)}else this.kvMap.set(t,n)}forEach(t){for(let[n,i]of this.kvMap)if(t(i,n),void 0!==this._vMap){const r=this._vMap;for(;r.has(i);)i=r.get(i),t(i,n)}}}function R0(e,t){Js("NgControlFlow");const n=Fe(),i=Us(),r=n[i]!==Sn?n[i]:-1,a=-1!==r?If(n,rt+r):void 0;if(Fr(n,i,e)){const h=le(null);try{if(void 0!==a&&Ap(a,0),-1!==e){const y=rt+e,M=If(n,y),P=Ag(n[ke],y),G=Sl(M,P.tView.ssrId);fc(M,dc(n,P,t,{dehydratedView:G}),0,Tl(P,G))}}finally{le(h)}}else if(void 0!==a){const h=av(a,0);void 0!==h&&(h[On]=t)}}class SM{constructor(t,n,i){this.lContainer=t,this.$implicit=n,this.$index=i}get $count(){return this.lContainer.length-Di}}function P0(e){return e}function x0(e,t){return t}class NM{constructor(t,n,i){this.hasEmptyBlock=t,this.trackByFn=n,this.liveCollection=i}}function F0(e,t,n,i,r,a,d,h,y,M,P,G,Y){Js("NgControlFlow");const se=Fe(),ve=Hn(),Re=void 0!==y,Ye=Fe(),at=h?d.bind(Ye[_i][On]):d,je=new NM(Re,at);Ye[rt+e]=je,$u(se,ve,e+1,t,n,i,r,js(ve.consts,a)),Re&&$u(se,ve,e+2,y,M,P,G,js(ve.consts,Y))}class IM extends TM{constructor(t,n,i){super(),this.lContainer=t,this.hostLView=n,this.templateTNode=i,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-Di}at(t){return this.getLView(t)[On].$implicit}attach(t,n){const i=n[Xn];this.needsIndexUpdate||=t!==this.length,fc(this.lContainer,n,t,Tl(this.templateTNode,i))}detach(t){return this.needsIndexUpdate||=t!==this.length-1,function OM(e,t){return Du(e,t)}(this.lContainer,t)}create(t,n){const i=Sl(this.lContainer,this.templateTNode.tView.ssrId),r=dc(this.hostLView,this.templateTNode,new SM(this.lContainer,n,t),{dehydratedView:i});return this.operationsCounter?.recordCreate(),r}destroy(t){qd(t[ke],t),this.operationsCounter?.recordDestroy()}updateValue(t,n){this.getLView(t)[On].$implicit=n}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let t=0;t{e.destroy(y)})}(y,e,a.trackByFn),y.updateIndexes(),a.hasEmptyBlock){const M=Us(),P=0===y.length;if(Fr(i,M,P)){const G=n+2,Y=If(i,G);if(P){const se=Ag(r,G),ve=Sl(Y,se.tView.ssrId);fc(Y,dc(i,se,void 0,{dehydratedView:ve}),0,Tl(se,ve))}else Ap(Y,0)}}}finally{le(t)}}function If(e,t){return e[t]}function Ag(e,t){return Ra(e,t)}function Of(e,t,n,i){const r=Fe(),a=Hn(),d=rt+e,h=r[tn],y=a.firstCreatePass?function RM(e,t,n,i,r,a){const d=t.consts,y=uc(t,e,2,i,js(d,r));return Tp(t,n,y,js(d,a)),null!==y.attrs&&pf(y,y.attrs,!1),null!==y.mergedAttrs&&pf(y,y.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,y),y}(d,a,r,t,n,i):a.data[d],M=L0(a,r,y,h,t,e);r[d]=M;const P=da(y);return ko(y,!0),G_(h,M,y),!mc(y)&&Gl()&&Jd(a,r,M,y),0===function hd(){return dn.lFrame.elementDepthCount}()&&ds(M,r),function lh(){dn.lFrame.elementDepthCount++}(),P&&(Ep(a,r,y),Dp(a,y,r)),null!==i&&Cp(r,y),Of}function Af(){let e=Ei();Wc()?gd():(e=e.parent,ko(e,!1));const t=e;(function mm(e){return dn.skipHydrationRootTNode===e})(t)&&function bm(){dn.skipHydrationRootTNode=null}(),function pd(){dn.lFrame.elementDepthCount--}();const n=Hn();return n.firstCreatePass&&(Yc(n,e),al(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function Im(e){return!!(8&e.flags)}(t)&&Mg(n,t,Fe(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function Cd(e){return!!(16&e.flags)}(t)&&Mg(n,t,Fe(),t.stylesWithoutHost,!1),Af}function Rg(e,t,n,i){return Of(e,t,n,i),Af(),Rg}let L0=(e,t,n,i,r,a)=>(Lo(!0),Yd(i,r,mh()));function PM(e,t,n,i,r,a){const d=t[Xn],h=!d||ha()||mc(n)||Ya(d,a);if(Lo(h),h)return Yd(i,r,mh());const y=xu(d,e,t,n);return gu(d,a)&&tc(d,a,y.nextSibling),d&&(Bh(n)||Vh(y))&&co(n)&&(function vm(e){dn.skipHydrationRootTNode=e}(n),U_(y)),y}function Rf(e,t,n){const i=Fe(),r=Hn(),a=e+rt,d=r.firstCreatePass?function FM(e,t,n,i,r){const a=t.consts,d=js(a,i),h=uc(t,e,8,"ng-container",d);return null!==d&&pf(h,d,!0),Tp(t,n,h,js(a,r)),null!==t.queries&&t.queries.elementStart(t,h),h}(a,r,i,t,n):r.data[a];ko(d,!0);const h=V0(r,i,d,e);return i[a]=h,Gl()&&Jd(r,i,h,d),ds(h,i),da(d)&&(Ep(r,i,d),Dp(r,d,i)),null!=n&&Cp(i,d),Rf}function Pf(){let e=Ei();const t=Hn();return Wc()?gd():(e=e.parent,ko(e,!1)),t.firstCreatePass&&(Yc(t,e),al(e)&&t.queries.elementEnd(e)),Pf}let V0=(e,t,n,i)=>(Lo(!0),hp(t[tn],""));function kM(e,t,n,i){let r;const a=t[Xn],d=!a||ha()||mc(n);if(Lo(d),d)return hp(t[tn],"");const h=xu(a,e,t,n),y=function ia(e,t){const n=e.data;let i=n[ur]?.[t]??null;return null===i&&n[Ds]?.[t]&&(i=ic(e,t)),i}(a,i);return tc(a,i,h),r=uf(y,h),r}function j0(){return Fe()}function Pg(e,t,n){const i=Fe();return Fr(i,Us(),t)&&Zs(Hn(),Oi(),i,e,t,i[tn],n,!0),Pg}const xl=void 0;var VM=["en",[["a","p"],["AM","PM"],xl],[["AM","PM"],xl,xl],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],xl,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],xl,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",xl,"{1} 'at' {0}",xl],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function BM(e){const n=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===i?1:5}];let Pc={};function xg(e){const t=function jM(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=$0(t);if(n)return n;const i=t.split("-")[0];if(n=$0(i),n)return n;if("en"===i)return VM;throw new Qe(701,!1)}function H0(e){return xg(e)[xc.PluralCase]}function $0(e){return e in Pc||(Pc[e]=Rt.ng&&Rt.ng.common&&Rt.ng.common.locales&&Rt.ng.common.locales[e]),Pc[e]}var xc=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(xc||{});const Fc="en-US",xf={marker:"element"},Ff={marker:"ICU"};var eo=function(e){return e[e.SHIFT=2]="SHIFT",e[e.APPEND_EAGERLY=1]="APPEND_EAGERLY",e[e.COMMENT=2]="COMMENT",e}(eo||{});let G0=Fc;let Yu=(e,t,n,i)=>(Lo(!0),function z0(e,t,n){const i=e[tn];switch(n){case Node.COMMENT_NODE:return hp(i,t);case Node.TEXT_NODE:return fp(i,t);case Node.ELEMENT_NODE:return Yd(i,t,null)}}(e,n,i));function ZM(){const e=[];let n,i,t=-1;function a(h,y){t=0;const M=function cf(e,t){const n=t[e.currentCaseLViewIndex];return null===n?n:n<0?~n:n}(h,y);i=null!==M?h.remove[M]:Fn}function d(){if(t0?n[h]:(e.push(t,i),a(n[ke].data[~h],n),d())}return 0===e.length?null:(i=e.pop(),t=e.pop(),d())}return function r(h,y){for(n=y;e.length;)e.pop();return a(h.value,y),d}}const kf=/\ufffd(\d+):?\d*\ufffd/gi,eS=/\ufffd(\d+)\ufffd/,Z0=/^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,qu="\ufffd",tS=/\ufffd\/?\*(\d+:\d+)\ufffd/gi,nS=/\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,iS=/\uE500/g;function J0(e,t,n,i,r,a,d){const h=wu(e,i,1,null);let y=h<n.length&&n.push(y)}return{type:i,mainBinding:r,cases:t,values:n}}function Fg(e){if(!e)return[];let t=0;const n=[],i=[],r=/[{}]/g;let a;for(r.lastIndex=0;a=r.exec(e);){const h=a.index;if("}"==a[0]){if(n.pop(),0==n.length){const y=e.substring(t,h);Z0.test(y)?i.push(uS(y)):i.push(y),t=h+1}}else{if(0==n.length){const y=e.substring(t,h);i.push(y),t=h+1}n.push("{")}}const d=e.substring(t);return i.push(d),i}function dS(e,t,n,i,r,a,d,h,y){const M=[],P=[],G=[];n.cases.push(d),n.create.push(M),n.remove.push(P),n.update.push(G);const se=function f_(e){const t=new WE(e);return function zE(){try{return!!(new window.DOMParser).parseFromString(sc(""),"text/html")}catch{return!1}}()?new GE(t):t}(Ce()).getInertBodyElement(h),ve=function op(e){return"content"in e&&function nC(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}(se)||se;return ve?ib(e,t,n,i,r,M,P,G,ve,a,y,0):0}function ib(e,t,n,i,r,a,d,h,y,M,P,G){let Y=0,se=y.firstChild;for(;se;){const ve=wu(t,i,1,null);switch(se.nodeType){case Node.ELEMENT_NODE:const Re=se,Ye=Re.tagName.toLowerCase();if(rp.hasOwnProperty(Ye)){kg(a,xf,Ye,M,ve),t.data[ve]=Ye;const ii=Re.attributes;for(let ns=0;ns>>eo.SHIFT;let G=e[P],Y=!1;null===G&&(G=e[P]=Yu(e,P,t[a],(d&eo.COMMENT)===eo.COMMENT?Node.COMMENT_NODE:Node.TEXT_NODE),Y=Gl()),M&&null!==n&&Y&&wl(r,n,G,i,!1)}}(r,y.create,P,G),md(!0)}function lb(e,t,n){ob(e,t,n),function ab(){md(!1)}()}let ub=(e,t,n)=>{};function Lg(e,t,n,i){const r=Fe(),a=Hn(),d=Ei();return function Bg(e,t,n,i,r,a,d){const h=da(i),M=e.firstCreatePass&&sv(e),P=t[On],G=rv(t);let Y=!0;if(3&i.type||d){const Re=Jr(i,t),Ye=d?d(Re):Re,at=G.length,je=d?ii=>d(ei(ii[i.index])):i.index;ub(Re,r,a);let an=null;if(!d&&h&&(an=function SS(e,t,n,i){const r=e.cleanup;if(null!=r)for(let a=0;ay?h[y]:null}"string"==typeof d&&(a+=2)}return null}(e,t,r,i.index)),null!==an)(an.__ngLastListenerFn__||an).__ngNextListenerFn__=a,an.__ngLastListenerFn__=a,Y=!1;else{a=pb(i,t,P,a);const ii=n.listen(Ye,r,a);G.push(a,ii),M&&M.push(r,je,at,at+1)}}else a=pb(i,t,P,a);const se=i.outputs;let ve;if(Y&&null!==se&&(ve=se[r])){const Re=ve.length;if(Re)for(let Ye=0;Ye-1?Vs(e.index,t):t,5);let h=hb(t,n,i,a),y=r.__ngNextListenerFn__;for(;y;)h=hb(t,n,y,a)&&h,y=y.__ngNextListenerFn__;return h}}function gb(e=1){return function bd(e){return(dn.lFrame.contextLView=function fd(e,t){for(;e>0;)t=t[ao],e--;return t}(e,dn.lFrame.contextLView))[On]}(e)}function NS(e,t){let n=null;const i=function V(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(!(1&n))return t[n+1]}return null}(e);for(let r=0;r(Lo(!0),fp(t[tn],i));function $S(e,t,n,i,r){const a=t[Xn],d=!a||ha()||mc(n)||Ya(a,r);return Lo(d),d?fp(t[tn],i):xu(a,e,t,n)}function jg(e){return Lf("",e,""),jg}function Lf(e,t,n){const i=Fe(),r=wc(i,e,t,n);return r!==Sn&&function Ea(e,t,n){const i=Aa(t,e);!function O_(e,t,n){e.setValue(t,n)}(e[tn],i,n)}(i,Pr(),r),Lf}function Ug(e,t,n,i,r){if(e=vt(e),Array.isArray(e))for(let a=0;a>20;if(Is(e)||!e.multi){const se=new La(M,r,cc),ve=$g(y,t,r?P:P+Y,G);-1===ve?(Md(Ba(h,d),a,y),Hg(a,e,t.length),t.push(y),h.directiveStart++,h.directiveEnd++,r&&(h.providerIndexes+=1048576),n.push(se),d.push(se)):(n[ve]=se,d[ve]=se)}else{const se=$g(y,t,P+Y,G),ve=$g(y,t,P,P+Y),Ye=ve>=0&&n[ve];if(r&&!Ye||!r&&!(se>=0&&n[se])){Md(Ba(h,d),a,y);const at=function XS(e,t,n,i,r){const a=new La(e,n,cc);return a.multi=[],a.index=t,a.componentProviders=0,Jb(a,r,i&&!n),a}(r?QS:KS,n.length,r,i,M);!r&&Ye&&(n[ve].providerFactory=at),Hg(a,e,t.length,0),t.push(y),h.directiveStart++,h.directiveEnd++,r&&(h.providerIndexes+=1048576),n.push(at),d.push(at)}else Hg(a,e,se>-1?se:ve,Jb(n[r?ve:se],M,!r&&i));!r&&i&&Ye&&n[ve].componentProviders++}}}function Hg(e,t,n,i){const r=Is(t),a=function rl(e){return!!e.useClass}(t);if(r||a){const y=(a?vt(t.useClass):t).prototype.ngOnDestroy;if(y){const M=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const P=M.indexOf(n);-1===P?M.push(n,[i,y]):M[P+1].push(i,y)}else M.push(n,y)}}}function Jb(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function $g(e,t,n,i){for(let r=n;r{n.providersResolver=(i,r)=>function zS(e,t,n){const i=Hn();if(i.firstCreatePass){const r=cs(e);Ug(n,i.data,i.blueprint,r,!0),Ug(t,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,t)}}let YS=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const i=Qo(0,n.type),r=i.length>0?cg([i],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,r)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=Pt({token:e,providedIn:"environment",factory:()=>new e(B(ls))})}return e})();function tD(e){Js("NgStandalone"),e.getStandaloneInjector=t=>t.get(YS).getOrCreateStandaloneInjector(e)}function iD(e,t,n){const i=Ps()+e,r=Fe();return r[i]===Sn?sa(r,i,n?t.call(n):t()):function Hu(e,t){return e[t]}(r,i)}function rD(e,t,n,i){return aD(Fe(),Ps(),e,t,n,i)}function sD(e,t,n,i,r){return function lD(e,t,n,i,r,a,d){const h=t+n;return Al(e,h,r,a)?sa(e,h+2,d?i.call(d,r,a):i(r,a)):Ju(e,h+2)}(Fe(),Ps(),e,t,n,i,r)}function oD(e,t,n,i,r,a){return function cD(e,t,n,i,r,a,d,h){const y=t+n;return function Df(e,t,n,i,r){const a=Al(e,t,n,i);return Fr(e,t+2,r)||a}(e,y,r,a,d)?sa(e,y+3,h?i.call(h,r,a,d):i(r,a,d)):Ju(e,y+3)}(Fe(),Ps(),e,t,n,i,r,a)}function Ju(e,t){const n=e[t];return n===Sn?void 0:n}function aD(e,t,n,i,r,a){const d=t+n;return Fr(e,d,r)?sa(e,d+1,a?i.call(a,r):i(r)):Ju(e,d+1)}function fD(e,t){const n=Hn();let i;const r=e+rt;n.firstCreatePass?(i=function sN(e,t){if(t)for(let n=t.length-1;n>=0;n--){const i=t[n];if(e===i.name)return i}}(t,n.pipeRegistry),n.data[r]=i,i.onDestroy&&(n.destroyHooks??=[]).push(r,i.onDestroy)):i=n.data[r];const a=i.factory||(i.factory=Ft(i.type)),h=Li(cc);try{const y=tu(!1),M=a();return tu(y),function PS(e,t,n,i){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=i}(n,Fe(),r,M),M}finally{Li(h)}}function hD(e,t,n){const i=e+rt,r=Fe(),a=Pa(r,i);return function ed(e,t){return e[ke].data[t].pure}(r,i)?aD(r,Ps(),t,a.transform,n,a):a.transform(n)}function pD(e,t){return af(e,t)}class OD{constructor(t){this.full=t;const n=t.split(".");this.major=n[0],this.minor=n[1],this.patch=n.slice(2).join(".")}}let AD=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const kD=new At(""),LD=new At("");let Yg,nI=(()=>{class e{constructor(n,i,r){this._ngZone=n,this.registry=i,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,Yg||(function iI(e){Yg=e}(r),r.addToWindow(i)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{tr.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb()}});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(n)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,i,r){let a=-1;i&&i>0&&(a=setTimeout(()=>{this._callbacks=this._callbacks.filter(d=>d.timeoutId!==a),n()},i)),this._callbacks.push({doneCb:n,timeoutId:a,updateCb:r})}whenStable(n,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,i,r),this._runCallbacksIfReady()}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,i,r){return[]}static#e=this.\u0275fac=function(i){return new(i||e)(B(tr),B(BD),B(LD))};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac})}return e})(),BD=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,i){this._applications.set(n,i)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,i=!0){return Yg?.findTestabilityInTree(this,n,i)??null}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function qg(e){return!!e&&"function"==typeof e.then}function VD(e){return!!e&&"function"==typeof e.subscribe}const rI=new At("");let Zg=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,i)=>{this.resolve=n,this.reject=i}),this.appInits=$(rI,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const r of this.appInits){const a=r();if(qg(a))n.push(a);else if(VD(a)){const d=new Promise((h,y)=>{a.subscribe({complete:h,error:y})});n.push(d)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{i()}).catch(r=>{this.reject(r)}),0===n.length&&i(),this.initialized=!0}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Uf=new At("");let $f,Ho=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=$(Fh),this.afterRenderEffectManager=$(Lu),this.zonelessEnabled=$(ku),this.externalTestViews=new Set,this.beforeRender=new bn.B,this.afterTick=new bn.B,this.componentTypes=[],this.components=[],this.isStable=$(Ol).hasPendingTasks.pipe((0,ti.T)(n=>!n)),this._injector=$(ls)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,i){const r=n instanceof Fv;if(!this._injector.get(Zg).done)throw!r&&Ns(n),new Qe(405,!1);let d;d=r?n:this._injector.get(ff).resolveComponentFactory(n),this.componentTypes.push(d.componentType);const h=function sI(e){return e.isBoundToModule}(d)?void 0:this._injector.get(Il),M=d.create(jr.NULL,[],i||d.selector,h),P=M.location.nativeElement,G=M.injector.get(kD,null);return G?.registerApplication(P),M.onDestroy(()=>{this.detachView(M.hostView),Hf(this.components,M),G?.unregisterApplication(P)}),this._loadComponent(M),M}tick(){this._tick(!0)}_tick(n){if(this._runningTick)throw new Qe(101,!1);const i=le(null);try{this._runningTick=!0,this.detectChangesInAttachedViews(n)}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,le(i),this.afterTick.next()}}detectChangesInAttachedViews(n){let i=null;this._injector.destroyed||(i=this._injector.get(Hp,null,{optional:!0}));let r=0;const a=this.afterRenderEffectManager;for(;r<10;){const d=0===r;if(n||!d){this.beforeRender.next(d);for(let{_lView:h,notifyErrorHandler:y}of this._views)aI(h,y,d,this.zonelessEnabled)}else i?.begin?.(),i?.end?.();if(r++,a.executeInternalCallbacks(),!this.allViews.some(({_lView:h})=>ul(h))&&(a.execute(),!this.allViews.some(({_lView:h})=>ul(h))))break}}attachView(n){const i=n;this._views.push(i),i.attachToAppRef(this)}detachView(n){const i=n;Hf(this._views,i),i.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const i=this._injector.get(Uf,[]);[...this._bootstrapListeners,...i].forEach(r=>r(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Hf(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new Qe(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Hf(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function Jg(e){$f??=new WeakMap;const t=$f.get(e);if(t)return t;const n=e.isStable.pipe((0,bt.$)(i=>i)).toPromise().then(()=>{});return $f.set(e,n),e.onDestroy(()=>$f?.delete(e)),n}function aI(e,t,n,i){(n||ul(e))&&sf(e,t,n&&!i?0:1)}class lI{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let cI=(()=>{class e{compileModuleSync(n){return new lg(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const i=this.compileModuleSync(n),a=fo(cr(n).declarations).reduce((d,h)=>{const y=Dn(h);return y&&d.push(new ju(y)),d},[]);return new lI(i,a)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),fI=(()=>{class e{constructor(){this.zone=$(tr),this.changeDetectionScheduler=$(pc),this.applicationRef=$(Ho)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function em({ngZoneFactory:e,ignoreChangesOutsideZone:t}){return e??=()=>new tr(function tm(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}()),[{provide:tr,useFactory:e},{provide:Er,multi:!0,useFactory:()=>{const n=$(fI,{optional:!0});return()=>n.initialize()}},{provide:Er,multi:!0,useFactory:()=>{const n=$(pI);return()=>{n.initialize()}}},{provide:Fh,useFactory:hI},!0===t?{provide:xv,useValue:!0}:[]]}function hI(){const e=$(tr),t=$(uo);return n=>e.runOutsideAngular(()=>t.handleError(n))}let pI=(()=>{class e{constructor(){this.subscription=new wn.yU,this.initialized=!1,this.zone=$(tr),this.pendingTasks=$(Ol)}initialize(){if(this.initialized)return;this.initialized=!0;let n=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(n=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{tr.assertNotInAngularZone(),queueMicrotask(()=>{null!==n&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(n),n=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{tr.assertInAngularZone(),n??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),id=(()=>{class e{constructor(){this.appRef=$(Ho),this.taskService=$(Ol),this.ngZone=$(tr),this.zonelessEnabled=$(ku),this.disableScheduling=$(xv,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new wn.yU,this.cancelScheduledCallback=null,this.shouldRefreshViews=!1,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof zp||!this.zoneIsDefined)}notify(n){if(!this.zonelessEnabled&&5===n)return;switch(n){case 3:case 2:case 0:case 4:case 5:case 1:this.shouldRefreshViews=!0}if(!this.shouldScheduleTick())return;const i=this.useMicrotaskScheduler?Vv:Bv;this.pendingRenderTaskId=this.taskService.add(),this.zoneIsDefined?Zone.root.run(()=>{this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}):this.cancelScheduledCallback=i(()=>{this.tick(this.shouldRefreshViews)})}shouldScheduleTick(){return!(this.disableScheduling||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&tr.isInAngularZone())}tick(n){if(this.runningTick||this.appRef.destroyed)return;const i=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick(n)},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(i),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Vv(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(i)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.shouldRefreshViews=!1,this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static#e=this.\u0275fac=function(i){return new(i||e)};static#t=this.\u0275prov=Pt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Gf=new At("",{providedIn:"root",factory:()=>$(Gf,en.Optional|en.SkipSelf)||function gI(){return typeof $localize<"u"&&$localize.locale||Fc}()}),mI=new At("",{providedIn:"root",factory:()=>"USD"}),im=new At("");let nl=null;function DI(){}let qD=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=EI}return e})();function EI(e){return function CI(e,t,n){if(co(e)&&!n){const i=Vs(e.index,t);return new Su(i,i)}return 47&e.type?new Su(t[_i],t):null}(Ei(),Fe(),!(16&~e))}class tE{constructor(){}supports(t){return bf(t)}create(t){return new NI(t)}}const SI=(e,t)=>t;class NI{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||SI}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,i=this._removalsHead,r=0,a=null;for(;n||i;){const d=!i||n&&n.currentIndex{d=this._trackByFn(r,h),null!==n&&Object.is(n.trackById,d)?(i&&(n=this._verifyReinsertion(n,h,d,r)),Object.is(n.item,h)||this._addIdentityChange(n,h)):(n=this._mismatch(n,h,d,r),i=!0),n=n._next,r++}),this.length=r;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,i,r){let a;return null===t?a=this._itTail:(a=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,a,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,a,r)):t=this._addAfter(new II(n,i),a,r),t}_verifyReinsertion(t,n,i,r){let a=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==a?t=this._reinsertAfter(a,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,a=t._nextRemoved;return null===r?this._removalsHead=a:r._nextRemoved=a,null===a?this._removalsTail=r:a._prevRemoved=r,this._insertAfter(t,n,i),this._addToMoves(t,i),t}_moveAfter(t,n,i){return this._unlink(t),this._insertAfter(t,n,i),this._addToMoves(t,i),t}_addAfter(t,n,i){return this._insertAfter(t,n,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,i){const r=null===n?this._itHead:n._next;return t._next=r,t._prev=n,null===r?this._itTail=t:r._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new nE),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,i=t._next;return null===n?this._itHead=i:n._next=i,null===i?this._itTail=n:i._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new nE),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class II{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class OI{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===n||n<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const n=t._prevDup,i=t._nextDup;return null===n?this._head=i:n._nextDup=i,null===i?this._tail=n:i._prevDup=n,null===this._head}}class nE{constructor(){this.map=new Map}put(t){const n=t.trackById;let i=this.map.get(n);i||(i=new OI,this.map.set(n,i)),i.add(t)}get(t,n){const r=this.map.get(t);return r?r.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function iE(e,t,n){const i=e.previousIndex;if(null===i)return i;let r=0;return n&&i{if(n&&n.key===r)this._maybeAddToChanges(n,i),this._appendAfter=n,n=n._next;else{const a=this._getOrCreateRecordForKey(r,i);n=this._insertBeforeOrAppend(n,a)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let i=n;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const i=t._prev;return n._next=t,n._prev=i,t._prev=n,i&&(i._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,n);const a=r._prev,d=r._next;return a&&(a._next=d),d&&(d._prev=a),r._next=null,r._prev=null,r}const i=new RI(t);return this._records.set(t,i),i.currentValue=n,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(i=>n(t[i],i))}}class RI{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function sE(){return new cm([new tE])}let cm=(()=>{class e{static#e=this.\u0275prov=Pt({token:e,providedIn:"root",factory:sE});constructor(n){this.factories=n}static create(n,i){if(null!=i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||sE()),deps:[[e,new di,new et]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(null!=i)return i;throw new Qe(901,!1)}}return e})();function oE(){return new um([new rE])}let um=(()=>{class e{static#e=this.\u0275prov=Pt({token:e,providedIn:"root",factory:oE});constructor(n){this.factories=n}static create(n,i){if(i){const r=i.factories.slice();n=n.concat(r)}return new e(n)}static extend(n){return{provide:e,useFactory:i=>e.create(n,i||oE()),deps:[[e,new di,new et]]}}find(n){const i=this.factories.find(r=>r.supports(n));if(i)return i;throw new Qe(901,!1)}}return e})(),FI=(()=>{class e{constructor(n){}static#e=this.\u0275fac=function(i){return new(i||e)(B(Ho))};static#t=this.\u0275mod=No({type:e});static#n=this.\u0275inj=ri({})}return e})();function YI(e){try{const{rootComponent:t,appProviders:n,platformProviders:i}=e,r=function bI(e=[]){if(nl)return nl;const t=function QD(e=[],t){return jr.create({name:t,providers:[{provide:ca,useValue:"platform"},{provide:im,useValue:new Set([()=>nl=null])},...e]})}(e);return nl=t,function jD(){!function vi(e){Cn=e}(()=>{throw new Qe(600,!1)})}(),function XD(e){e.get(ot,null)?.forEach(n=>n())}(t),t}(i),a=[em({}),{provide:pc,useExisting:id},...n||[]],h=new Ry({providers:a,parent:r,debugName:"",runEnvironmentInitializers:!1}).injector,y=h.get(tr);return y.run(()=>{h.resolveInjectorInitializers();const M=h.get(uo,null);let P;y.runOutsideAngular(()=>{P=y.onError.subscribe({next:se=>{M.handleError(se)}})});const G=()=>h.destroy(),Y=r.get(im);return Y.add(G),h.onDestroy(()=>{P.unsubscribe(),Y.delete(G)}),function UD(e,t,n){try{const i=n();return qg(i)?i.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>e.handleError(i)),i}}(M,y,()=>{const se=h.get(Zg);return se.runInitializers(),se.donePromise.then(()=>{!function W0(e){"string"==typeof e&&(G0=e.toLowerCase().replace(/_/g,"-"))}(h.get(Gf,Fc)||Fc);const Re=h.get(Ho);return void 0!==t&&Re.bootstrap(t),Re})})})}catch(t){return Promise.reject(t)}}let ME=!1;function pO(){return vo([{provide:Cl,useFactory:()=>{let e=!0;return wo()&&(e=!!$(Gn,{optional:!0})?.get(Ka,null)),e&&Js("NgHydration"),e}},{provide:Er,useValue:()=>{(function Iv(e){Sv=e})(!1),wo()&&$(Cl)&&(function gO(){const e=Ce();let t;for(const n of e.body.childNodes)if(n.nodeType===Node.COMMENT_NODE&&n.textContent?.trim()===yl){t=n;break}if(!t)throw new Qe(-507,!1)}(),function dO(){ME||(ME=!0,function na(){bl=Qa}(),function xM(){L0=PM}(),function GS(){Hb=$S}(),function LM(){V0=kM}(),function mT(){xy=gT}(),function k1(){ty=F1,qp=x1}(),function o1(){Pv=s1}(),function jC(){q_=VC}())}())},multi:!0},{provide:s_,useFactory:()=>wo()&&$(Cl)},{provide:Uf,useFactory:()=>{if(wo()&&$(Cl)){const e=$(Ho);return $(jr),()=>{(function hO(e,t){return Jg(e)})(e).then(()=>{!function i1(e){const t=e._views;for(const n of t){const i=Dl(n);null!==i&&null!==i[wt]&&(wr(i)?df(i):(df(i[wt]),Rv(i)))}}(e)})}}return()=>{}},multi:!0}])}function _O(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}function yO(e){const t=le(null);try{return e()}finally{le(t)}}function TO(e,t){const n=Dn(e),i=t.elementInjector||qo();return new ju(n).create(i,t.projectableNodes,t.hostElement,t.environmentInjector)}},9417:(yt,Se,x)=>{x.d(Se,{BC:()=>Qe,JD:()=>_e,MJ:()=>Mn,X1:()=>Vr,YN:()=>Go,cb:()=>Ri,cz:()=>Mt,gE:()=>is,j4:()=>Bi,k0:()=>Ge,kq:()=>Ie,me:()=>We,qT:()=>Li});var o=x(4438),S=x(177),ge=x(6648),ce=x(7468),X=x(1413),le=x(6354);let Ne=(()=>{class O{constructor(w,V){this._renderer=w,this._elementRef=V,this.onChange=ie=>{},this.onTouched=()=>{}}setProperty(w,V){this._renderer.setProperty(this._elementRef.nativeElement,w,V)}registerOnTouched(w){this.onTouched=w}registerOnChange(w){this.onChange=w}setDisabledState(w){this.setProperty("disabled",w)}static#e=this.\u0275fac=function(V){return new(V||O)(o.rXU(o.sFG),o.rXU(o.aKT))};static#t=this.\u0275dir=o.FsC({type:O})}return O})(),Pe=(()=>{class O extends Ne{static#e=this.\u0275fac=(()=>{let w;return function(ie){return(w||(w=o.xGo(O)))(ie||O)}})();static#t=this.\u0275dir=o.FsC({type:O,features:[o.Vt3]})}return O})();const Ie=new o.nKC(""),Be={provide:Ie,useExisting:(0,o.Rfq)(()=>We),multi:!0},He=new o.nKC("");let We=(()=>{class O extends Ne{constructor(w,V,ie){super(w,V),this._compositionMode=ie,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function ct(){const O=(0,S.QT)()?(0,S.QT)().getUserAgent():"";return/android (\d+)/.test(O.toLowerCase())}())}writeValue(w){this.setProperty("value",w??"")}_handleInput(w){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(w)}_compositionStart(){this._composing=!0}_compositionEnd(w){this._composing=!1,this._compositionMode&&this.onChange(w)}static#e=this.\u0275fac=function(V){return new(V||O)(o.rXU(o.sFG),o.rXU(o.aKT),o.rXU(He,8))};static#t=this.\u0275dir=o.FsC({type:O,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(V,ie){1&V&&o.bIt("input",function(cn){return ie._handleInput(cn.target.value)})("blur",function(){return ie.onTouched()})("compositionstart",function(){return ie._compositionStart()})("compositionend",function(cn){return ie._compositionEnd(cn.target.value)})},features:[o.Jv_([Be]),o.Vt3]})}return O})();function St(O){return null==O||("string"==typeof O||Array.isArray(O))&&0===O.length}function jt(O){return null!=O&&"number"==typeof O.length}const Mt=new o.nKC(""),Kt=new o.nKC(""),Nn=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class Ge{static min(A){return function $e(O){return A=>{if(St(A.value)||St(O))return null;const w=parseFloat(A.value);return!isNaN(w)&&w{if(St(A.value)||St(O))return null;const w=parseFloat(A.value);return!isNaN(w)&&w>O?{max:{max:O,actual:A.value}}:null}}(A)}static required(A){return function kt(O){return St(O.value)?{required:!0}:null}(A)}static requiredTrue(A){return function lt(O){return!0===O.value?null:{required:!0}}(A)}static email(A){return function it(O){return St(O.value)||Nn.test(O.value)?null:{email:!0}}(A)}static minLength(A){return function Ct(O){return A=>St(A.value)||!jt(A.value)?null:A.value.lengthjt(A.value)&&A.value.length>O?{maxlength:{requiredLength:O,actualLength:A.value.length}}:null}(A)}static pattern(A){return function $t(O){if(!O)return Qt;let A,w;return"string"==typeof O?(w="","^"!==O.charAt(0)&&(w+="^"),w+=O,"$"!==O.charAt(O.length-1)&&(w+="$"),A=new RegExp(w)):(w=O.toString(),A=O),V=>{if(St(V.value))return null;const ie=V.value;return A.test(ie)?null:{pattern:{requiredPattern:w,actualValue:ie}}}}(A)}static nullValidator(A){return null}static compose(A){return te(A)}static composeAsync(A){return U(A)}}function Qt(O){return null}function Wn(O){return null!=O}function Cn(O){return(0,o.jNT)(O)?(0,ge.H)(O):O}function wi(O){let A={};return O.forEach(w=>{A=null!=w?{...A,...w}:A}),0===Object.keys(A).length?null:A}function vi(O,A){return A.map(w=>w(O))}function be(O){return O.map(A=>function jn(O){return!O.validate}(A)?A:w=>A.validate(w))}function te(O){if(!O)return null;const A=O.filter(Wn);return 0==A.length?null:function(w){return wi(vi(w,A))}}function he(O){return null!=O?te(be(O)):null}function U(O){if(!O)return null;const A=O.filter(Wn);return 0==A.length?null:function(w){const V=vi(w,A).map(Cn);return(0,ce.p)(V).pipe((0,le.T)(wi))}}function ne(O){return null!=O?U(be(O)):null}function oe(O,A){return null===O?[A]:Array.isArray(O)?[...O,A]:[O,A]}function Le(O){return O._rawValidators}function ft(O){return O._rawAsyncValidators}function vn(O){return O?Array.isArray(O)?O:[O]:[]}function gt(O,A){return Array.isArray(O)?O.includes(A):O===A}function fn(O,A){const w=vn(A);return vn(O).forEach(ie=>{gt(w,ie)||w.push(ie)}),w}function bn(O,A){return vn(A).filter(w=>!gt(O,w))}class wn{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(A){this._rawValidators=A||[],this._composedValidatorFn=he(this._rawValidators)}_setAsyncValidators(A){this._rawAsyncValidators=A||[],this._composedAsyncValidatorFn=ne(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(A){this._onDestroyCallbacks.push(A)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(A=>A()),this._onDestroyCallbacks=[]}reset(A=void 0){this.control&&this.control.reset(A)}hasError(A,w){return!!this.control&&this.control.hasError(A,w)}getError(A,w){return this.control?this.control.getError(A,w):null}}class gn extends wn{get formDirective(){return null}get path(){return null}}class ti extends wn{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class bt{constructor(A){this._cd=A}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Qe=(()=>{class O extends bt{constructor(w){super(w)}static#e=this.\u0275fac=function(V){return new(V||O)(o.rXU(ti,2))};static#t=this.\u0275dir=o.FsC({type:O,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(V,ie){2&V&&o.AVh("ng-untouched",ie.isUntouched)("ng-touched",ie.isTouched)("ng-pristine",ie.isPristine)("ng-dirty",ie.isDirty)("ng-valid",ie.isValid)("ng-invalid",ie.isInvalid)("ng-pending",ie.isPending)},features:[o.Vt3]})}return O})(),Ri=(()=>{class O extends bt{constructor(w){super(w)}static#e=this.\u0275fac=function(V){return new(V||O)(o.rXU(gn,10))};static#t=this.\u0275dir=o.FsC({type:O,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(V,ie){2&V&&o.AVh("ng-untouched",ie.isUntouched)("ng-touched",ie.isTouched)("ng-pristine",ie.isPristine)("ng-dirty",ie.isDirty)("ng-valid",ie.isValid)("ng-invalid",ie.isInvalid)("ng-pending",ie.isPending)("ng-submitted",ie.isSubmitted)},features:[o.Vt3]})}return O})();const rn="VALID",In="INVALID",li="PENDING",Un="DISABLED";class Rn{}class vt extends Rn{constructor(A,w){super(),this.value=A,this.source=w}}class we extends Rn{constructor(A,w){super(),this.pristine=A,this.source=w}}class pe extends Rn{constructor(A,w){super(),this.touched=A,this.source=w}}class Z extends Rn{constructor(A,w){super(),this.status=A,this.source=w}}class ue extends Rn{constructor(A){super(),this.source=A}}class Ve extends Rn{constructor(A){super(),this.source=A}}function qe(O){return(ni(O)?O.validators:O)||null}function pn(O,A){return(ni(A)?A.asyncValidators:O)||null}function ni(O){return null!=O&&!Array.isArray(O)&&"object"==typeof O}class Gr{constructor(A,w){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._events=new X.B,this.events=this._events.asObservable(),this._onDisabledChange=[],this._assignValidators(A),this._assignAsyncValidators(w)}get validator(){return this._composedValidatorFn}set validator(A){this._rawValidators=this._composedValidatorFn=A}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(A){this._rawAsyncValidators=this._composedAsyncValidatorFn=A}get parent(){return this._parent}get valid(){return this.status===rn}get invalid(){return this.status===In}get pending(){return this.status==li}get disabled(){return this.status===Un}get enabled(){return this.status!==Un}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(A){this._assignValidators(A)}setAsyncValidators(A){this._assignAsyncValidators(A)}addValidators(A){this.setValidators(fn(A,this._rawValidators))}addAsyncValidators(A){this.setAsyncValidators(fn(A,this._rawAsyncValidators))}removeValidators(A){this.setValidators(bn(A,this._rawValidators))}removeAsyncValidators(A){this.setAsyncValidators(bn(A,this._rawAsyncValidators))}hasValidator(A){return gt(this._rawValidators,A)}hasAsyncValidator(A){return gt(this._rawAsyncValidators,A)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(A={}){const w=!1===this.touched;this.touched=!0;const V=A.sourceControl??this;this._parent&&!A.onlySelf&&this._parent.markAsTouched({...A,sourceControl:V}),w&&!1!==A.emitEvent&&this._events.next(new pe(!0,V))}markAllAsTouched(A={}){this.markAsTouched({onlySelf:!0,emitEvent:A.emitEvent,sourceControl:this}),this._forEachChild(w=>w.markAllAsTouched(A))}markAsUntouched(A={}){const w=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const V=A.sourceControl??this;this._forEachChild(ie=>{ie.markAsUntouched({onlySelf:!0,emitEvent:A.emitEvent,sourceControl:V})}),this._parent&&!A.onlySelf&&this._parent._updateTouched(A,V),w&&!1!==A.emitEvent&&this._events.next(new pe(!1,V))}markAsDirty(A={}){const w=!0===this.pristine;this.pristine=!1;const V=A.sourceControl??this;this._parent&&!A.onlySelf&&this._parent.markAsDirty({...A,sourceControl:V}),w&&!1!==A.emitEvent&&this._events.next(new we(!1,V))}markAsPristine(A={}){const w=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const V=A.sourceControl??this;this._forEachChild(ie=>{ie.markAsPristine({onlySelf:!0,emitEvent:A.emitEvent})}),this._parent&&!A.onlySelf&&this._parent._updatePristine(A,V),w&&!1!==A.emitEvent&&this._events.next(new we(!0,V))}markAsPending(A={}){this.status=li;const w=A.sourceControl??this;!1!==A.emitEvent&&(this._events.next(new Z(this.status,w)),this.statusChanges.emit(this.status)),this._parent&&!A.onlySelf&&this._parent.markAsPending({...A,sourceControl:w})}disable(A={}){const w=this._parentMarkedDirty(A.onlySelf);this.status=Un,this.errors=null,this._forEachChild(ie=>{ie.disable({...A,onlySelf:!0})}),this._updateValue();const V=A.sourceControl??this;!1!==A.emitEvent&&(this._events.next(new vt(this.value,V)),this._events.next(new Z(this.status,V)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...A,skipPristineCheck:w},this),this._onDisabledChange.forEach(ie=>ie(!0))}enable(A={}){const w=this._parentMarkedDirty(A.onlySelf);this.status=rn,this._forEachChild(V=>{V.enable({...A,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:A.emitEvent}),this._updateAncestors({...A,skipPristineCheck:w},this),this._onDisabledChange.forEach(V=>V(!1))}_updateAncestors(A,w){this._parent&&!A.onlySelf&&(this._parent.updateValueAndValidity(A),A.skipPristineCheck||this._parent._updatePristine({},w),this._parent._updateTouched({},w))}setParent(A){this._parent=A}getRawValue(){return this.value}updateValueAndValidity(A={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const V=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===rn||this.status===li)&&this._runAsyncValidator(V,A.emitEvent)}const w=A.sourceControl??this;!1!==A.emitEvent&&(this._events.next(new vt(this.value,w)),this._events.next(new Z(this.status,w)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!A.onlySelf&&this._parent.updateValueAndValidity({...A,sourceControl:w})}_updateTreeValidity(A={emitEvent:!0}){this._forEachChild(w=>w._updateTreeValidity(A)),this.updateValueAndValidity({onlySelf:!0,emitEvent:A.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Un:rn}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(A,w){if(this.asyncValidator){this.status=li,this._hasOwnPendingAsyncValidator={emitEvent:!1!==w};const V=Cn(this.asyncValidator(this));this._asyncValidationSubscription=V.subscribe(ie=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(ie,{emitEvent:w,shouldHaveEmitted:A})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const A=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,A}return!1}setErrors(A,w={}){this.errors=A,this._updateControlsErrors(!1!==w.emitEvent,this,w.shouldHaveEmitted)}get(A){let w=A;return null==w||(Array.isArray(w)||(w=w.split(".")),0===w.length)?null:w.reduce((V,ie)=>V&&V._find(ie),this)}getError(A,w){const V=w?this.get(w):this;return V&&V.errors?V.errors[A]:null}hasError(A,w){return!!this.getError(A,w)}get root(){let A=this;for(;A._parent;)A=A._parent;return A}_updateControlsErrors(A,w,V){this.status=this._calculateStatus(),A&&this.statusChanges.emit(this.status),(A||V)&&this._events.next(new Z(this.status,w)),this._parent&&this._parent._updateControlsErrors(A,w,V)}_initObservables(){this.valueChanges=new o.bkB,this.statusChanges=new o.bkB}_calculateStatus(){return this._allControlsDisabled()?Un:this.errors?In:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(li)?li:this._anyControlsHaveStatus(In)?In:rn}_anyControlsHaveStatus(A){return this._anyControls(w=>w.status===A)}_anyControlsDirty(){return this._anyControls(A=>A.dirty)}_anyControlsTouched(){return this._anyControls(A=>A.touched)}_updatePristine(A,w){const V=!this._anyControlsDirty(),ie=this.pristine!==V;this.pristine=V,this._parent&&!A.onlySelf&&this._parent._updatePristine(A,w),ie&&this._events.next(new we(this.pristine,w))}_updateTouched(A={},w){this.touched=this._anyControlsTouched(),this._events.next(new pe(this.touched,w)),this._parent&&!A.onlySelf&&this._parent._updateTouched(A,w)}_registerOnCollectionChange(A){this._onCollectionChange=A}_setUpdateStrategy(A){ni(A)&&null!=A.updateOn&&(this._updateOn=A.updateOn)}_parentMarkedDirty(A){return!A&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(A){return null}_assignValidators(A){this._rawValidators=Array.isArray(A)?A.slice():A,this._composedValidatorFn=function Zt(O){return Array.isArray(O)?he(O):O||null}(this._rawValidators)}_assignAsyncValidators(A){this._rawAsyncValidators=Array.isArray(A)?A.slice():A,this._composedAsyncValidatorFn=function yn(O){return Array.isArray(O)?ne(O):O||null}(this._rawAsyncValidators)}}class is extends Gr{constructor(A,w,V){super(qe(w),pn(V,w)),this.controls=A,this._initObservables(),this._setUpdateStrategy(w),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(A,w){return this.controls[A]?this.controls[A]:(this.controls[A]=w,w.setParent(this),w._registerOnCollectionChange(this._onCollectionChange),w)}addControl(A,w,V={}){this.registerControl(A,w),this.updateValueAndValidity({emitEvent:V.emitEvent}),this._onCollectionChange()}removeControl(A,w={}){this.controls[A]&&this.controls[A]._registerOnCollectionChange(()=>{}),delete this.controls[A],this.updateValueAndValidity({emitEvent:w.emitEvent}),this._onCollectionChange()}setControl(A,w,V={}){this.controls[A]&&this.controls[A]._registerOnCollectionChange(()=>{}),delete this.controls[A],w&&this.registerControl(A,w),this.updateValueAndValidity({emitEvent:V.emitEvent}),this._onCollectionChange()}contains(A){return this.controls.hasOwnProperty(A)&&this.controls[A].enabled}setValue(A,w={}){(function Ki(O,A,w){O._forEachChild((V,ie)=>{if(void 0===w[ie])throw new o.wOt(1002,"")})})(this,0,A),Object.keys(A).forEach(V=>{(function zi(O,A,w){const V=O.controls;if(!(A?Object.keys(V):V).length)throw new o.wOt(1e3,"");if(!V[w])throw new o.wOt(1001,"")})(this,!0,V),this.controls[V].setValue(A[V],{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w)}patchValue(A,w={}){null!=A&&(Object.keys(A).forEach(V=>{const ie=this.controls[V];ie&&ie.patchValue(A[V],{onlySelf:!0,emitEvent:w.emitEvent})}),this.updateValueAndValidity(w))}reset(A={},w={}){this._forEachChild((V,ie)=>{V.reset(A?A[ie]:null,{onlySelf:!0,emitEvent:w.emitEvent})}),this._updatePristine(w,this),this._updateTouched(w,this),this.updateValueAndValidity(w)}getRawValue(){return this._reduceChildren({},(A,w,V)=>(A[V]=w.getRawValue(),A))}_syncPendingControls(){let A=this._reduceChildren(!1,(w,V)=>!!V._syncPendingControls()||w);return A&&this.updateValueAndValidity({onlySelf:!0}),A}_forEachChild(A){Object.keys(this.controls).forEach(w=>{const V=this.controls[w];V&&A(V,w)})}_setUpControls(){this._forEachChild(A=>{A.setParent(this),A._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(A){for(const[w,V]of Object.entries(this.controls))if(this.contains(w)&&A(V))return!0;return!1}_reduceValue(){return this._reduceChildren({},(w,V,ie)=>((V.enabled||this.disabled)&&(w[ie]=V.value),w))}_reduceChildren(A,w){let V=A;return this._forEachChild((ie,Ut)=>{V=w(V,ie,Ut)}),V}_allControlsDisabled(){for(const A of Object.keys(this.controls))if(this.controls[A].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(A){return this.controls.hasOwnProperty(A)?this.controls[A]:null}}const Qn=new o.nKC("CallSetDisabledState",{providedIn:"root",factory:()=>zn}),zn="always";function ir(O,A,w=zn){qn(O,A),A.valueAccessor.writeValue(O.value),(O.disabled||"always"===w)&&A.valueAccessor.setDisabledState?.(O.disabled),function Zn(O,A){A.valueAccessor.registerOnChange(w=>{O._pendingValue=w,O._pendingChange=!0,O._pendingDirty=!0,"change"===O.updateOn&&rr(O,A)})}(O,A),function fr(O,A){const w=(V,ie)=>{A.valueAccessor.writeValue(V),ie&&A.viewToModelUpdate(V)};O.registerOnChange(w),A._registerOnDestroy(()=>{O._unregisterOnChange(w)})}(O,A),function ki(O,A){A.valueAccessor.registerOnTouched(()=>{O._pendingTouched=!0,"blur"===O.updateOn&&O._pendingChange&&rr(O,A),"submit"!==O.updateOn&&O.markAsTouched()})}(O,A),function vr(O,A){if(A.valueAccessor.setDisabledState){const w=V=>{A.valueAccessor.setDisabledState(V)};O.registerOnDisabledChange(w),A._registerOnDestroy(()=>{O._unregisterOnDisabledChange(w)})}}(O,A)}function ri(O,A,w=!0){const V=()=>{};A.valueAccessor&&(A.valueAccessor.registerOnChange(V),A.valueAccessor.registerOnTouched(V)),si(O,A),O&&(A._invokeOnDestroyCallbacks(),O._registerOnCollectionChange(()=>{}))}function ci(O,A){O.forEach(w=>{w.registerOnValidatorChange&&w.registerOnValidatorChange(A)})}function qn(O,A){const w=Le(O);null!==A.validator?O.setValidators(oe(w,A.validator)):"function"==typeof w&&O.setValidators([w]);const V=ft(O);null!==A.asyncValidator?O.setAsyncValidators(oe(V,A.asyncValidator)):"function"==typeof V&&O.setAsyncValidators([V]);const ie=()=>O.updateValueAndValidity();ci(A._rawValidators,ie),ci(A._rawAsyncValidators,ie)}function si(O,A){let w=!1;if(null!==O){if(null!==A.validator){const ie=Le(O);if(Array.isArray(ie)&&ie.length>0){const Ut=ie.filter(cn=>cn!==A.validator);Ut.length!==ie.length&&(w=!0,O.setValidators(Ut))}}if(null!==A.asyncValidator){const ie=ft(O);if(Array.isArray(ie)&&ie.length>0){const Ut=ie.filter(cn=>cn!==A.asyncValidator);Ut.length!==ie.length&&(w=!0,O.setAsyncValidators(Ut))}}}const V=()=>{};return ci(A._rawValidators,V),ci(A._rawAsyncValidators,V),w}function rr(O,A){O._pendingDirty&&O.markAsDirty(),O.setValue(O._pendingValue,{emitModelToViewChange:!1}),A.viewToModelUpdate(O._pendingValue),O._pendingChange=!1}function Pn(O,A){const w=O.indexOf(A);w>-1&&O.splice(w,1)}function Jt(O){return"object"==typeof O&&null!==O&&2===Object.keys(O).length&&"value"in O&&"disabled"in O}Promise.resolve();const Mn=class extends Gr{constructor(A=null,w,V){super(qe(w),pn(V,w)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(A),this._setUpdateStrategy(w),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),ni(w)&&(w.nonNullable||w.initialValueIsDefault)&&(this.defaultValue=Jt(A)?A.value:A)}setValue(A,w={}){this.value=this._pendingValue=A,this._onChange.length&&!1!==w.emitModelToViewChange&&this._onChange.forEach(V=>V(this.value,!1!==w.emitViewToModelChange)),this.updateValueAndValidity(w)}patchValue(A,w={}){this.setValue(A,w)}reset(A=this.defaultValue,w={}){this._applyFormState(A),this.markAsPristine(w),this.markAsUntouched(w),this.setValue(this.value,w),this._pendingChange=!1}_updateValue(){}_anyControls(A){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(A){this._onChange.push(A)}_unregisterOnChange(A){Pn(this._onChange,A)}registerOnDisabledChange(A){this._onDisabledChange.push(A)}_unregisterOnDisabledChange(A){Pn(this._onDisabledChange,A)}_forEachChild(A){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(A){Jt(A)?(this.value=this._pendingValue=A.value,A.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=A}};Promise.resolve();let Li=(()=>{class O{static#e=this.\u0275fac=function(V){return new(V||O)};static#t=this.\u0275dir=o.FsC({type:O,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return O})();const ms=new o.nKC(""),Xr={provide:gn,useExisting:(0,o.Rfq)(()=>Bi)};let Bi=(()=>{class O extends gn{constructor(w,V,ie){super(),this.callSetDisabledState=ie,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new o.bkB,this._setValidators(w),this._setAsyncValidators(V)}ngOnChanges(w){this._checkFormPresent(),w.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(si(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(w){const V=this.form.get(w.path);return ir(V,w,this.callSetDisabledState),V.updateValueAndValidity({emitEvent:!1}),this.directives.push(w),V}getControl(w){return this.form.get(w.path)}removeControl(w){ri(w.control||null,w,!1),function Xt(O,A){const w=O.indexOf(A);w>-1&&O.splice(w,1)}(this.directives,w)}addFormGroup(w){this._setUpFormContainer(w)}removeFormGroup(w){this._cleanUpFormContainer(w)}getFormGroup(w){return this.form.get(w.path)}addFormArray(w){this._setUpFormContainer(w)}removeFormArray(w){this._cleanUpFormContainer(w)}getFormArray(w){return this.form.get(w.path)}updateModel(w,V){this.form.get(w.path).setValue(V)}onSubmit(w){return this.submitted=!0,function Xe(O,A){O._syncPendingControls(),A.forEach(w=>{const V=w.control;"submit"===V.updateOn&&V._pendingChange&&(w.viewToModelUpdate(V._pendingValue),V._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(w),this.form._events.next(new ue(this.control)),"dialog"===w?.target?.method}onReset(){this.resetForm()}resetForm(w=void 0){this.form.reset(w),this.submitted=!1,this.form._events.next(new Ve(this.form))}_updateDomValue(){this.directives.forEach(w=>{const V=w.control,ie=this.form.get(w.path);V!==ie&&(ri(V||null,w),(O=>O instanceof Mn)(ie)&&(ir(ie,w,this.callSetDisabledState),w.control=ie))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(w){const V=this.form.get(w.path);(function sr(O,A){qn(O,A)})(V,w),V.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(w){if(this.form){const V=this.form.get(w.path);V&&function At(O,A){return si(O,A)}(V,w)&&V.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){qn(this.form,this),this._oldForm&&si(this._oldForm,this)}_checkFormPresent(){}static#e=this.\u0275fac=function(V){return new(V||O)(o.rXU(Mt,10),o.rXU(Kt,10),o.rXU(Qn,8))};static#t=this.\u0275dir=o.FsC({type:O,selectors:[["","formGroup",""]],hostBindings:function(V,ie){1&V&&o.bIt("submit",function(cn){return ie.onSubmit(cn)})("reset",function(){return ie.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[o.Jv_([Xr]),o.Vt3,o.OA$]})}return O})();const ye={provide:ti,useExisting:(0,o.Rfq)(()=>_e)};let _e=(()=>{class O extends ti{set isDisabled(w){}static#e=this._ngModelWarningSentOnce=!1;constructor(w,V,ie,Ut,cn){super(),this._ngModelWarningConfig=cn,this._added=!1,this.name=null,this.update=new o.bkB,this._ngModelWarningSent=!1,this._parent=w,this._setValidators(V),this._setAsyncValidators(ie),this.valueAccessor=function Je(O,A){if(!A)return null;let w,V,ie;return Array.isArray(A),A.forEach(Ut=>{Ut.constructor===We?w=Ut:function Ue(O){return Object.getPrototypeOf(O.constructor)===Pe}(Ut)?V=Ut:ie=Ut}),ie||V||w||null}(0,Ut)}ngOnChanges(w){this._added||this._setUpControl(),function Te(O,A){if(!O.hasOwnProperty("model"))return!1;const w=O.model;return!!w.isFirstChange()||!Object.is(A,w.currentValue)}(w,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(w){this.viewModel=w,this.update.emit(w)}get path(){return function Pt(O,A){return[...A.path,O]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static#t=this.\u0275fac=function(V){return new(V||O)(o.rXU(gn,13),o.rXU(Mt,10),o.rXU(Kt,10),o.rXU(Ie,10),o.rXU(ms,8))};static#n=this.\u0275dir=o.FsC({type:O,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[o.Jv_([ye]),o.Vt3,o.OA$]})}return O})(),mo=(()=>{class O{static#e=this.\u0275fac=function(V){return new(V||O)};static#t=this.\u0275mod=o.$C({type:O});static#n=this.\u0275inj=o.G2t({})}return O})(),Go=(()=>{class O{static withConfig(w){return{ngModule:O,providers:[{provide:Qn,useValue:w.callSetDisabledState??zn}]}}static#e=this.\u0275fac=function(V){return new(V||O)};static#t=this.\u0275mod=o.$C({type:O});static#n=this.\u0275inj=o.G2t({imports:[mo]})}return O})(),Vr=(()=>{class O{static withConfig(w){return{ngModule:O,providers:[{provide:ms,useValue:w.warnOnNgModelWithFormControl??"always"},{provide:Qn,useValue:w.callSetDisabledState??zn}]}}static#e=this.\u0275fac=function(V){return new(V||O)};static#t=this.\u0275mod=o.$C({type:O});static#n=this.\u0275inj=o.G2t({imports:[mo]})}return O})()},345:(yt,Se,x)=>{x.d(Se,{$x:()=>Rn,B7:()=>it,B8:()=>U,Bb:()=>bt,hE:()=>Qe});var o=x(177),S=x(4438),ge=x(1626);class ce extends o.VF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class X extends ce{static makeCurrent(){(0,o.ZD)(new X)}onAndCancel(pe,Z,ue){return pe.addEventListener(Z,ue),()=>{pe.removeEventListener(Z,ue)}}dispatchEvent(pe,Z){pe.dispatchEvent(Z)}remove(pe){pe.parentNode&&pe.parentNode.removeChild(pe)}createElement(pe,Z){return(Z=Z||this.getDefaultDocument()).createElement(pe)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(pe){return pe.nodeType===Node.ELEMENT_NODE}isShadowRoot(pe){return pe instanceof DocumentFragment}getGlobalEventTarget(pe,Z){return"window"===Z?window:"document"===Z?pe:"body"===Z?pe.body:null}getBaseHref(pe){const Z=function Ne(){return le=le||document.querySelector("base"),le?le.getAttribute("href"):null}();return null==Z?null:function Pe(we){return new URL(we,document.baseURI).pathname}(Z)}resetBaseElement(){le=null}getUserAgent(){return window.navigator.userAgent}getCookie(pe){return(0,o._b)(document.cookie,pe)}}let le=null,Ae=(()=>{class we{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(ue){return new(ue||we)};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();const Me=new S.nKC("");let Be=(()=>{class we{constructor(Z,ue){this._zone=ue,this._eventNameToPlugin=new Map,Z.forEach(Ve=>{Ve.manager=this}),this._plugins=Z.slice().reverse()}addEventListener(Z,ue,Ve){return this._findPluginFor(ue).addEventListener(Z,ue,Ve)}getZone(){return this._zone}_findPluginFor(Z){let ue=this._eventNameToPlugin.get(Z);if(ue)return ue;if(ue=this._plugins.find(qe=>qe.supports(Z)),!ue)throw new S.wOt(5101,!1);return this._eventNameToPlugin.set(Z,ue),ue}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(Me),S.KVO(S.SKi))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();class ct{constructor(pe){this._doc=pe}}const He="ng-app-id";let We=(()=>{class we{constructor(Z,ue,Ve,qe={}){this.doc=Z,this.appId=ue,this.nonce=Ve,this.platformId=qe,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=(0,o.Vy)(qe),this.resetHostNodes()}addStyles(Z){for(const ue of Z)1===this.changeUsageCount(ue,1)&&this.onStyleAdded(ue)}removeStyles(Z){for(const ue of Z)this.changeUsageCount(ue,-1)<=0&&this.onStyleRemoved(ue)}ngOnDestroy(){const Z=this.styleNodesInDOM;Z&&(Z.forEach(ue=>ue.remove()),Z.clear());for(const ue of this.getAllStyles())this.onStyleRemoved(ue);this.resetHostNodes()}addHost(Z){this.hostNodes.add(Z);for(const ue of this.getAllStyles())this.addStyleToHost(Z,ue)}removeHost(Z){this.hostNodes.delete(Z)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(Z){for(const ue of this.hostNodes)this.addStyleToHost(ue,Z)}onStyleRemoved(Z){const ue=this.styleRef;ue.get(Z)?.elements?.forEach(Ve=>Ve.remove()),ue.delete(Z)}collectServerRenderedStyles(){const Z=this.doc.head?.querySelectorAll(`style[${He}="${this.appId}"]`);if(Z?.length){const ue=new Map;return Z.forEach(Ve=>{null!=Ve.textContent&&ue.set(Ve.textContent,Ve)}),ue}return null}changeUsageCount(Z,ue){const Ve=this.styleRef;if(Ve.has(Z)){const qe=Ve.get(Z);return qe.usage+=ue,qe.usage}return Ve.set(Z,{usage:ue,elements:[]}),ue}getStyleElement(Z,ue){const Ve=this.styleNodesInDOM,qe=Ve?.get(ue);if(qe?.parentNode===Z)return Ve.delete(ue),qe.removeAttribute(He),qe;{const Zt=this.doc.createElement("style");return this.nonce&&Zt.setAttribute("nonce",this.nonce),Zt.textContent=ue,this.platformIsServer&&Zt.setAttribute(He,this.appId),Z.appendChild(Zt),Zt}}addStyleToHost(Z,ue){const Ve=this.getStyleElement(Z,ue),qe=this.styleRef,Zt=qe.get(ue)?.elements;Zt?Zt.push(Ve):qe.set(ue,{elements:[Ve],usage:1})}resetHostNodes(){const Z=this.hostNodes;Z.clear(),Z.add(this.doc.head)}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(o.qQ),S.KVO(S.sZ2),S.KVO(S.BIS,8),S.KVO(S.Agw))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();const St={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},jt=/%COMP%/g,$e=new S.nKC("",{providedIn:"root",factory:()=>!0});function lt(we,pe){return pe.map(Z=>Z.replace(jt,we))}let it=(()=>{class we{constructor(Z,ue,Ve,qe,Zt,pn,yn,ni=null){this.eventManager=Z,this.sharedStylesHost=ue,this.appId=Ve,this.removeStylesOnCompDestroy=qe,this.doc=Zt,this.platformId=pn,this.ngZone=yn,this.nonce=ni,this.rendererByCompId=new Map,this.platformIsServer=(0,o.Vy)(pn),this.defaultRenderer=new Ct(Z,Zt,yn,this.platformIsServer)}createRenderer(Z,ue){if(!Z||!ue)return this.defaultRenderer;this.platformIsServer&&ue.encapsulation===S.gXe.ShadowDom&&(ue={...ue,encapsulation:S.gXe.Emulated});const Ve=this.getOrCreateRenderer(Z,ue);return Ve instanceof wi?Ve.applyToHost(Z):Ve instanceof Cn&&Ve.applyStyles(),Ve}getOrCreateRenderer(Z,ue){const Ve=this.rendererByCompId;let qe=Ve.get(ue.id);if(!qe){const Zt=this.doc,pn=this.ngZone,yn=this.eventManager,ni=this.sharedStylesHost,zi=this.removeStylesOnCompDestroy,Ki=this.platformIsServer;switch(ue.encapsulation){case S.gXe.Emulated:qe=new wi(yn,ni,ue,this.appId,zi,Zt,pn,Ki);break;case S.gXe.ShadowDom:return new Wn(yn,ni,Z,ue,Zt,pn,this.nonce,Ki);default:qe=new Cn(yn,ni,ue,zi,Zt,pn,Ki)}Ve.set(ue.id,qe)}return qe}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(Be),S.KVO(We),S.KVO(S.sZ2),S.KVO($e),S.KVO(o.qQ),S.KVO(S.Agw),S.KVO(S.SKi),S.KVO(S.BIS))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();class Ct{constructor(pe,Z,ue,Ve){this.eventManager=pe,this.doc=Z,this.ngZone=ue,this.platformIsServer=Ve,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(pe,Z){return Z?this.doc.createElementNS(St[Z]||Z,pe):this.doc.createElement(pe)}createComment(pe){return this.doc.createComment(pe)}createText(pe){return this.doc.createTextNode(pe)}appendChild(pe,Z){(Qt(pe)?pe.content:pe).appendChild(Z)}insertBefore(pe,Z,ue){pe&&(Qt(pe)?pe.content:pe).insertBefore(Z,ue)}removeChild(pe,Z){pe&&pe.removeChild(Z)}selectRootElement(pe,Z){let ue="string"==typeof pe?this.doc.querySelector(pe):pe;if(!ue)throw new S.wOt(-5104,!1);return Z||(ue.textContent=""),ue}parentNode(pe){return pe.parentNode}nextSibling(pe){return pe.nextSibling}setAttribute(pe,Z,ue,Ve){if(Ve){Z=Ve+":"+Z;const qe=St[Ve];qe?pe.setAttributeNS(qe,Z,ue):pe.setAttribute(Z,ue)}else pe.setAttribute(Z,ue)}removeAttribute(pe,Z,ue){if(ue){const Ve=St[ue];Ve?pe.removeAttributeNS(Ve,Z):pe.removeAttribute(`${ue}:${Z}`)}else pe.removeAttribute(Z)}addClass(pe,Z){pe.classList.add(Z)}removeClass(pe,Z){pe.classList.remove(Z)}setStyle(pe,Z,ue,Ve){Ve&(S.czy.DashCase|S.czy.Important)?pe.style.setProperty(Z,ue,Ve&S.czy.Important?"important":""):pe.style[Z]=ue}removeStyle(pe,Z,ue){ue&S.czy.DashCase?pe.style.removeProperty(Z):pe.style[Z]=""}setProperty(pe,Z,ue){null!=pe&&(pe[Z]=ue)}setValue(pe,Z){pe.nodeValue=Z}listen(pe,Z,ue){if("string"==typeof pe&&!(pe=(0,o.QT)().getGlobalEventTarget(this.doc,pe)))throw new Error(`Unsupported event target ${pe} for event ${Z}`);return this.eventManager.addEventListener(pe,Z,this.decoratePreventDefault(ue))}decoratePreventDefault(pe){return Z=>{if("__ngUnwrap__"===Z)return pe;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>pe(Z)):pe(Z))&&Z.preventDefault()}}}function Qt(we){return"TEMPLATE"===we.tagName&&void 0!==we.content}class Wn extends Ct{constructor(pe,Z,ue,Ve,qe,Zt,pn,yn){super(pe,qe,Zt,yn),this.sharedStylesHost=Z,this.hostEl=ue,this.shadowRoot=ue.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const ni=lt(Ve.id,Ve.styles);for(const zi of ni){const Ki=document.createElement("style");pn&&Ki.setAttribute("nonce",pn),Ki.textContent=zi,this.shadowRoot.appendChild(Ki)}}nodeOrShadowRoot(pe){return pe===this.hostEl?this.shadowRoot:pe}appendChild(pe,Z){return super.appendChild(this.nodeOrShadowRoot(pe),Z)}insertBefore(pe,Z,ue){return super.insertBefore(this.nodeOrShadowRoot(pe),Z,ue)}removeChild(pe,Z){return super.removeChild(this.nodeOrShadowRoot(pe),Z)}parentNode(pe){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(pe)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cn extends Ct{constructor(pe,Z,ue,Ve,qe,Zt,pn,yn){super(pe,qe,Zt,pn),this.sharedStylesHost=Z,this.removeStylesOnCompDestroy=Ve,this.styles=yn?lt(yn,ue.styles):ue.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class wi extends Cn{constructor(pe,Z,ue,Ve,qe,Zt,pn,yn){const ni=Ve+"-"+ue.id;super(pe,Z,ue,qe,Zt,pn,yn,ni),this.contentAttr=function st(we){return"_ngcontent-%COMP%".replace(jt,we)}(ni),this.hostAttr=function kt(we){return"_nghost-%COMP%".replace(jt,we)}(ni)}applyToHost(pe){this.applyStyles(),this.setAttribute(pe,this.hostAttr,"")}createElement(pe,Z){const ue=super.createElement(pe,Z);return super.setAttribute(ue,this.contentAttr,""),ue}}let vi=(()=>{class we extends ct{constructor(Z){super(Z)}supports(Z){return!0}addEventListener(Z,ue,Ve){return Z.addEventListener(ue,Ve,!1),()=>this.removeEventListener(Z,ue,Ve)}removeEventListener(Z,ue,Ve){return Z.removeEventListener(ue,Ve)}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(o.qQ))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();const jn=["alt","control","meta","shift"],be={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},te={alt:we=>we.altKey,control:we=>we.ctrlKey,meta:we=>we.metaKey,shift:we=>we.shiftKey};let he=(()=>{class we extends ct{constructor(Z){super(Z)}supports(Z){return null!=we.parseEventName(Z)}addEventListener(Z,ue,Ve){const qe=we.parseEventName(ue),Zt=we.eventCallback(qe.fullKey,Ve,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,o.QT)().onAndCancel(Z,qe.domEventName,Zt))}static parseEventName(Z){const ue=Z.toLowerCase().split("."),Ve=ue.shift();if(0===ue.length||"keydown"!==Ve&&"keyup"!==Ve)return null;const qe=we._normalizeKey(ue.pop());let Zt="",pn=ue.indexOf("code");if(pn>-1&&(ue.splice(pn,1),Zt="code."),jn.forEach(ni=>{const zi=ue.indexOf(ni);zi>-1&&(ue.splice(zi,1),Zt+=ni+".")}),Zt+=qe,0!=ue.length||0===qe.length)return null;const yn={};return yn.domEventName=Ve,yn.fullKey=Zt,yn}static matchEventFullKeyCode(Z,ue){let Ve=be[Z.key]||Z.key,qe="";return ue.indexOf("code.")>-1&&(Ve=Z.code,qe="code."),!(null==Ve||!Ve)&&(Ve=Ve.toLowerCase()," "===Ve?Ve="space":"."===Ve&&(Ve="dot"),jn.forEach(Zt=>{Zt!==Ve&&(0,te[Zt])(Z)&&(qe+=Zt+".")}),qe+=Ve,qe===ue)}static eventCallback(Z,ue,Ve){return qe=>{we.matchEventFullKeyCode(qe,Z)&&Ve.runGuarded(()=>ue(qe))}}static _normalizeKey(Z){return"esc"===Z?"escape":Z}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(o.qQ))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac})}return we})();function U(we,pe){return(0,S.TL3)({rootComponent:we,...oe(pe)})}function oe(we){return{appProviders:[...ti,...we?.providers??[]],platformProviders:fn}}const fn=[{provide:S.Agw,useValue:o.AJ},{provide:S.PLl,useValue:function ft(){X.makeCurrent()},multi:!0},{provide:o.qQ,useFactory:function gt(){return(0,S.TL$)(document),document},deps:[]}],wn=new S.nKC(""),gn=[{provide:S.e01,useClass:class Ie{addToWindow(pe){S.JZv.getAngularTestability=(ue,Ve=!0)=>{const qe=pe.findTestabilityInTree(ue,Ve);if(null==qe)throw new S.wOt(5103,!1);return qe},S.JZv.getAllAngularTestabilities=()=>pe.getAllTestabilities(),S.JZv.getAllAngularRootElements=()=>pe.getAllRootElements(),S.JZv.frameworkStabilizers||(S.JZv.frameworkStabilizers=[]),S.JZv.frameworkStabilizers.push(ue=>{const Ve=S.JZv.getAllAngularTestabilities();let qe=Ve.length;const Zt=function(){qe--,0==qe&&ue()};Ve.forEach(pn=>{pn.whenStable(Zt)})})}findTestabilityInTree(pe,Z,ue){return null==Z?null:pe.getTestability(Z)??(ue?(0,o.QT)().isShadowRoot(Z)?this.findTestabilityInTree(pe,Z.host,!0):this.findTestabilityInTree(pe,Z.parentElement,!0):null)}},deps:[]},{provide:S.WHO,useClass:S.NYb,deps:[S.SKi,S.giA,S.e01]},{provide:S.NYb,useClass:S.NYb,deps:[S.SKi,S.giA,S.e01]}],ti=[{provide:S.H8p,useValue:"root"},{provide:S.zcH,useFactory:function vn(){return new S.zcH},deps:[]},{provide:Me,useClass:vi,multi:!0,deps:[o.qQ,S.SKi,S.Agw]},{provide:Me,useClass:he,multi:!0,deps:[o.qQ]},it,We,Be,{provide:S._9s,useExisting:it},{provide:o.N0,useClass:Ae,deps:[]},[]];let bt=(()=>{class we{constructor(Z){}static withServerTransition(Z){return{ngModule:we,providers:[{provide:S.sZ2,useValue:Z.appId}]}}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(wn,12))};static#t=this.\u0275mod=S.$C({type:we});static#n=this.\u0275inj=S.G2t({providers:[...ti,...gn],imports:[o.MD,S.Hbi]})}return we})(),Qe=(()=>{class we{constructor(Z){this._doc=Z}getTitle(){return this._doc.title}setTitle(Z){this._doc.title=Z||""}static#e=this.\u0275fac=function(ue){return new(ue||we)(S.KVO(o.qQ))};static#t=this.\u0275prov=S.jDH({token:we,factory:we.\u0275fac,providedIn:"root"})}return we})();var zt=function(we){return we[we.NoHttpTransferCache=0]="NoHttpTransferCache",we[we.HttpTransferCacheOptions=1]="HttpTransferCacheOptions",we[we.I18nSupport=2]="I18nSupport",we[we.EventReplay=3]="EventReplay",we}(zt||{});function Rn(...we){const pe=[],Z=new Set,ue=Z.has(zt.HttpTransferCacheOptions);for(const{\u0275providers:Ve,\u0275kind:qe}of we)Z.add(qe),Ve.length&&pe.push(Ve);return(0,S.EmA)([[],(0,S.M8M)(),Z.has(zt.NoHttpTransferCache)||ue?[]:(0,ge.$m)({}),pe])}},4550:(yt,Se,x)=>{x.d(Se,{nX:()=>z,Ix:()=>Si,Wk:()=>Qi,wQ:()=>ao,n3:()=>et,lh:()=>gr,oH:()=>As,Ii:()=>cs});var o=x(467),S=x(4438),ge=x(4402),ce=x(6648),X=x(7673),le=x(4412),Ne=x(9350),Pe=x(1985),Ie=x(3073),Ae=x(3669),Me=x(6450),Be=x(9326),ct=x(8496),He=x(4360),We=x(5225);function St(..._){const E=(0,Be.lI)(_),v=(0,Be.ms)(_),{args:C,keys:R}=(0,Ie.D)(_);if(0===C.length)return(0,ce.H)([],E);const H=new Pe.c(function jt(_,E,v=Ae.D){return C=>{Mt(E,()=>{const{length:R}=_,H=new Array(R);let Q=R,Ee=R;for(let me=0;me{const nt=(0,ce.H)(_[me],E);let Vt=!1;nt.subscribe((0,He._)(C,nn=>{H[me]=nn,Vt||(Vt=!0,Ee--),Ee||C.next(v(H.slice()))},()=>{--Q||C.complete()}))},C)},C)}}(C,E,R?Q=>(0,ct.e)(R,Q):Ae.D));return v?H.pipe((0,Me.I)(v)):H}function Mt(_,E,v){_?(0,We.N)(v,_,E):E()}var Kt=x(8793),Nn=x(9030),Ge=x(1203),$e=x(8810),st=x(983),kt=x(8359),lt=x(9974);function it(){return(0,lt.N)((_,E)=>{let v=null;_._refCount++;const C=(0,He._)(E,void 0,void 0,void 0,()=>{if(!_||_._refCount<=0||0<--_._refCount)return void(v=null);const R=_._connection,H=v;v=null,R&&(!H||R===H)&&R.unsubscribe(),E.unsubscribe()});_.subscribe(C),C.closed||(v=_.connect())})}class Ct extends Pe.c{constructor(E,v){super(),this.source=E,this.subjectFactory=v,this._subject=null,this._refCount=0,this._connection=null,(0,lt.S)(E)&&(this.lift=E.lift)}_subscribe(E){return this.getSubject().subscribe(E)}getSubject(){const E=this._subject;return(!E||E.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:E}=this;this._subject=this._connection=null,E?.unsubscribe()}connect(){let E=this._connection;if(!E){E=this._connection=new kt.yU;const v=this.getSubject();E.add(this.source.subscribe((0,He._)(v,void 0,()=>{this._teardown(),v.complete()},C=>{this._teardown(),v.error(C)},()=>this._teardown()))),E.closed&&(this._connection=null,E=kt.yU.EMPTY)}return E}refCount(){return it()(this)}}var Et=x(1413),$t=x(177),Qt=x(6354),Wn=x(5558),Cn=x(6697),wi=x(9172),vi=x(5964),jn=x(1397),be=x(1594),te=x(274),he=x(8141),U=x(9437);var Le=x(9901);function ft(_){return _<=0?()=>st.w:(0,lt.N)((E,v)=>{let C=[];E.subscribe((0,He._)(v,R=>{C.push(R),_{for(const R of C)v.next(R);v.complete()},void 0,()=>{C=null}))})}var vn=x(3774),fn=x(3703),bn=x(980),wn=x(6977),gn=x(6365),ti=x(345);const bt="primary",mn=Symbol("RouteTitle");class yi{constructor(E){this.params=E||{}}has(E){return Object.prototype.hasOwnProperty.call(this.params,E)}get(E){if(this.has(E)){const v=this.params[E];return Array.isArray(v)?v[0]:v}return null}getAll(E){if(this.has(E)){const v=this.params[E];return Array.isArray(v)?v:[v]}return[]}get keys(){return Object.keys(this.params)}}function Qe(_){return new yi(_)}function Ri(_,E,v){const C=v.path.split("/");if(C.length>_.length||"full"===v.pathMatch&&(E.hasChildren()||C.length<_.length))return null;const R={};for(let H=0;HC[H]===R)}return _===E}function bi(_){return _.length>0?_[_.length-1]:null}function Ht(_){return(0,ge.A)(_)?_:(0,S.jNT)(_)?(0,ce.H)(Promise.resolve(_)):(0,X.of)(_)}const on={exact:function Mr(_,E,v){if(!In(_.segments,E.segments)||!$r(_.segments,E.segments,v)||_.numberOfChildren!==E.numberOfChildren)return!1;for(const C in E.children)if(!_.children[C]||!Mr(_.children[C],E.children[C],v))return!1;return!0},subset:Pi},hn={exact:function Xi(_,E){return pi(_,E)},subset:function gi(_,E){return Object.keys(E).length<=Object.keys(_).length&&Object.keys(E).every(v=>xe(_[v],E[v]))},ignored:()=>!0};function nr(_,E,v){return on[v.paths](_.root,E.root,v.matrixParams)&&hn[v.queryParams](_.queryParams,E.queryParams)&&!("exact"===v.fragment&&_.fragment!==E.fragment)}function Pi(_,E,v){return Rt(_,E,E.segments,v)}function Rt(_,E,v,C){if(_.segments.length>v.length){const R=_.segments.slice(0,v.length);return!(!In(R,v)||E.hasChildren()||!$r(R,v,C))}if(_.segments.length===v.length){if(!In(_.segments,v)||!$r(_.segments,v,C))return!1;for(const R in E.children)if(!_.children[R]||!Pi(_.children[R],E.children[R],C))return!1;return!0}{const R=v.slice(0,_.segments.length),H=v.slice(_.segments.length);return!!(In(_.segments,R)&&$r(_.segments,R,C)&&_.children[bt])&&Rt(_.children[bt],E,H,C)}}function $r(_,E,v){return E.every((C,R)=>hn[v](_[R].parameters,C.parameters))}class zt{constructor(E=new ut([],{}),v={},C=null){this.root=E,this.queryParams=v,this.fragment=C}get queryParamMap(){return this._queryParamMap??=Qe(this.queryParams),this._queryParamMap}toString(){return vt.serialize(this)}}class ut{constructor(E,v){this.segments=E,this.children=v,this.parent=null,Object.values(v).forEach(C=>C.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return we(this)}}class Wi{constructor(E,v){this.path=E,this.parameters=v}get parameterMap(){return this._parameterMap??=Qe(this.parameters),this._parameterMap}toString(){return yn(this)}}function In(_,E){return _.length===E.length&&_.every((v,C)=>v.path===E[C].path)}let Un=(()=>{class _{static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:()=>new Rn,providedIn:"root"})}return _})();class Rn{parse(E){const v=new Qn(E);return new zt(v.parseRootSegment(),v.parseQueryParams(),v.parseFragment())}serialize(E){const v=`/${pe(E.root,!0)}`,C=function zi(_){const E=Object.entries(_).map(([v,C])=>Array.isArray(C)?C.map(R=>`${ue(v)}=${ue(R)}`).join("&"):`${ue(v)}=${ue(C)}`).filter(v=>v);return E.length?`?${E.join("&")}`:""}(E.queryParams);return`${v}${C}${"string"==typeof E.fragment?`#${function Ve(_){return encodeURI(_)}(E.fragment)}`:""}`}}const vt=new Rn;function we(_){return _.segments.map(E=>yn(E)).join("/")}function pe(_,E){if(!_.hasChildren())return we(_);if(E){const v=_.children[bt]?pe(_.children[bt],!1):"",C=[];return Object.entries(_.children).forEach(([R,H])=>{R!==bt&&C.push(`${R}:${pe(H,!1)}`)}),C.length>0?`${v}(${C.join("//")})`:v}{const v=function li(_,E){let v=[];return Object.entries(_.children).forEach(([C,R])=>{C===bt&&(v=v.concat(E(R,C)))}),Object.entries(_.children).forEach(([C,R])=>{C!==bt&&(v=v.concat(E(R,C)))}),v}(_,(C,R)=>R===bt?[pe(_.children[bt],!1)]:[`${R}:${pe(C,!1)}`]);return 1===Object.keys(_.children).length&&null!=_.children[bt]?`${we(_)}/${v[0]}`:`${we(_)}/(${v.join("//")})`}}function Z(_){return encodeURIComponent(_).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function ue(_){return Z(_).replace(/%3B/gi,";")}function qe(_){return Z(_).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Zt(_){return decodeURIComponent(_)}function pn(_){return Zt(_.replace(/\+/g,"%20"))}function yn(_){return`${qe(_.path)}${function ni(_){return Object.entries(_).map(([E,v])=>`;${qe(E)}=${qe(v)}`).join("")}(_.parameters)}`}const Ki=/^[^\/()?;#]+/;function Gr(_){const E=_.match(Ki);return E?E[0]:""}const is=/^[^\/()?;=#]+/,It=/^[^=?&#]+/,Wr=/^[^&#]+/;class Qn{constructor(E){this.url=E,this.remaining=E}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ut([],{}):new ut([],this.parseChildren())}parseQueryParams(){const E={};if(this.consumeOptional("?"))do{this.parseQueryParam(E)}while(this.consumeOptional("&"));return E}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const E=[];for(this.peekStartsWith("(")||E.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),E.push(this.parseSegment());let v={};this.peekStartsWith("/(")&&(this.capture("/"),v=this.parseParens(!0));let C={};return this.peekStartsWith("(")&&(C=this.parseParens(!1)),(E.length>0||Object.keys(v).length>0)&&(C[bt]=new ut(E,v)),C}parseSegment(){const E=Gr(this.remaining);if(""===E&&this.peekStartsWith(";"))throw new S.wOt(4009,!1);return this.capture(E),new Wi(Zt(E),this.parseMatrixParams())}parseMatrixParams(){const E={};for(;this.consumeOptional(";");)this.parseParam(E);return E}parseParam(E){const v=function Ti(_){const E=_.match(is);return E?E[0]:""}(this.remaining);if(!v)return;this.capture(v);let C="";if(this.consumeOptional("=")){const R=Gr(this.remaining);R&&(C=R,this.capture(C))}E[Zt(v)]=Zt(C)}parseQueryParam(E){const v=function hs(_){const E=_.match(It);return E?E[0]:""}(this.remaining);if(!v)return;this.capture(v);let C="";if(this.consumeOptional("=")){const Q=function xs(_){const E=_.match(Wr);return E?E[0]:""}(this.remaining);Q&&(C=Q,this.capture(C))}const R=pn(v),H=pn(C);if(E.hasOwnProperty(R)){let Q=E[R];Array.isArray(Q)||(Q=[Q],E[R]=Q),Q.push(H)}else E[R]=H}parseParens(E){const v={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const C=Gr(this.remaining),R=this.remaining[C.length];if("/"!==R&&")"!==R&&";"!==R)throw new S.wOt(4010,!1);let H;C.indexOf(":")>-1?(H=C.slice(0,C.indexOf(":")),this.capture(H),this.capture(":")):E&&(H=bt);const Q=this.parseChildren();v[H]=1===Object.keys(Q).length?Q[bt]:new ut([],Q),this.consumeOptional("//")}return v}peekStartsWith(E){return this.remaining.startsWith(E)}consumeOptional(E){return!!this.peekStartsWith(E)&&(this.remaining=this.remaining.substring(E.length),!0)}capture(E){if(!this.consumeOptional(E))throw new S.wOt(4011,!1)}}function zn(_){return _.segments.length>0?new ut([],{[bt]:_}):_}function Pt(_){const E={};for(const[C,R]of Object.entries(_.children)){const H=Pt(R);if(C===bt&&0===H.segments.length&&H.hasChildren())for(const[Q,Ee]of Object.entries(H.children))E[Q]=Ee;else(H.segments.length>0||H.hasChildren())&&(E[C]=H)}return function ir(_){if(1===_.numberOfChildren&&_.children[bt]){const E=_.children[bt];return new ut(_.segments.concat(E.segments),E.children)}return _}(new ut(_.segments,E))}function ri(_){return _ instanceof zt}function vr(_){let E;const R=zn(function v(H){const Q={};for(const me of H.children){const nt=v(me);Q[me.outlet]=nt}const Ee=new ut(H.url,Q);return H===_&&(E=Ee),Ee}(_.root));return E??R}function qn(_,E,v,C){let R=_;for(;R.parent;)R=R.parent;if(0===E.length)return ki(R,R,R,v,C);const H=function sr(_){if("string"==typeof _[0]&&1===_.length&&"/"===_[0])return new fr(!0,0,_);let E=0,v=!1;const C=_.reduce((R,H,Q)=>{if("object"==typeof H&&null!=H){if(H.outlets){const Ee={};return Object.entries(H.outlets).forEach(([me,nt])=>{Ee[me]="string"==typeof nt?nt.split("/"):nt}),[...R,{outlets:Ee}]}if(H.segmentPath)return[...R,H.segmentPath]}return"string"!=typeof H?[...R,H]:0===Q?(H.split("/").forEach((Ee,me)=>{0==me&&"."===Ee||(0==me&&""===Ee?v=!0:".."===Ee?E++:""!=Ee&&R.push(Ee))}),R):[...R,H]},[]);return new fr(v,E,C)}(E);if(H.toRoot())return ki(R,R,new ut([],{}),v,C);const Q=function rs(_,E,v){if(_.isAbsolute)return new At(E,!0,0);if(!v)return new At(E,!1,NaN);if(null===v.parent)return new At(v,!0,0);const C=si(_.commands[0])?0:1;return function Yi(_,E,v){let C=_,R=E,H=v;for(;H>R;){if(H-=R,C=C.parent,!C)throw new S.wOt(4005,!1);R=C.segments.length}return new At(C,!1,R-H)}(v,v.segments.length-1+C,_.numberOfDoubleDots)}(H,R,_),Ee=Q.processChildren?q(Q.segmentGroup,Q.index,H.commands):ee(Q.segmentGroup,Q.index,H.commands);return ki(R,Q.segmentGroup,Ee,v,C)}function si(_){return"object"==typeof _&&null!=_&&!_.outlets&&!_.segmentPath}function Zn(_){return"object"==typeof _&&null!=_&&_.outlets}function ki(_,E,v,C,R){let Q,H={};C&&Object.entries(C).forEach(([me,nt])=>{H[me]=Array.isArray(nt)?nt.map(Vt=>`${Vt}`):`${nt}`}),Q=_===E?v:rr(_,E,v);const Ee=zn(Pt(Q));return new zt(Ee,H,R)}function rr(_,E,v){const C={};return Object.entries(_.children).forEach(([R,H])=>{C[R]=H===E?v:rr(H,E,v)}),new ut(_.segments,C)}class fr{constructor(E,v,C){if(this.isAbsolute=E,this.numberOfDoubleDots=v,this.commands=C,E&&C.length>0&&si(C[0]))throw new S.wOt(4003,!1);const R=C.find(Zn);if(R&&R!==bi(C))throw new S.wOt(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class At{constructor(E,v,C){this.segmentGroup=E,this.processChildren=v,this.index=C}}function ee(_,E,v){if(_??=new ut([],{}),0===_.segments.length&&_.hasChildren())return q(_,E,v);const C=function Te(_,E,v){let C=0,R=E;const H={match:!1,pathIndex:0,commandIndex:0};for(;R<_.segments.length;){if(C>=v.length)return H;const Q=_.segments[R],Ee=v[C];if(Zn(Ee))break;const me=`${Ee}`,nt=C0&&void 0===me)break;if(me&&nt&&"object"==typeof nt&&void 0===nt.outlets){if(!Xt(me,nt,Q))return H;C+=2}else{if(!Xt(me,{},Q))return H;C++}R++}return{match:!0,pathIndex:R,commandIndex:C}}(_,E,v),R=v.slice(C.commandIndex);if(C.match&&C.pathIndex<_.segments.length){const H=new ut(_.segments.slice(0,C.pathIndex),{});return H.children[bt]=new ut(_.segments.slice(C.pathIndex),_.children),q(H,0,R)}return C.match&&0===R.length?new ut(_.segments,{}):C.match&&!_.hasChildren()?Ue(_,E,v):C.match?q(_,0,R):Ue(_,E,v)}function q(_,E,v){if(0===v.length)return new ut(_.segments,{});{const C=function W(_){return Zn(_[0])?_[0].outlets:{[bt]:_}}(v),R={};if(Object.keys(C).some(H=>H!==bt)&&_.children[bt]&&1===_.numberOfChildren&&0===_.children[bt].segments.length){const H=q(_.children[bt],E,v);return new ut(_.segments,H.children)}return Object.entries(C).forEach(([H,Q])=>{"string"==typeof Q&&(Q=[Q]),null!==Q&&(R[H]=ee(_.children[H],E,Q))}),Object.entries(_.children).forEach(([H,Q])=>{void 0===C[H]&&(R[H]=Q)}),new ut(_.segments,R)}}function Ue(_,E,v){const C=_.segments.slice(0,E);let R=0;for(;R{"string"==typeof C&&(C=[C]),null!==C&&(E[v]=Ue(new ut([],{}),0,C))}),E}function Je(_){const E={};return Object.entries(_).forEach(([v,C])=>E[v]=`${C}`),E}function Xt(_,E,v){return _==v.path&&pi(E,v.parameters)}const Nt="imperative";var mt=function(_){return _[_.NavigationStart=0]="NavigationStart",_[_.NavigationEnd=1]="NavigationEnd",_[_.NavigationCancel=2]="NavigationCancel",_[_.NavigationError=3]="NavigationError",_[_.RoutesRecognized=4]="RoutesRecognized",_[_.ResolveStart=5]="ResolveStart",_[_.ResolveEnd=6]="ResolveEnd",_[_.GuardsCheckStart=7]="GuardsCheckStart",_[_.GuardsCheckEnd=8]="GuardsCheckEnd",_[_.RouteConfigLoadStart=9]="RouteConfigLoadStart",_[_.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",_[_.ChildActivationStart=11]="ChildActivationStart",_[_.ChildActivationEnd=12]="ChildActivationEnd",_[_.ActivationStart=13]="ActivationStart",_[_.ActivationEnd=14]="ActivationEnd",_[_.Scroll=15]="Scroll",_[_.NavigationSkipped=16]="NavigationSkipped",_}(mt||{});class Tn{constructor(E,v){this.id=E,this.url=v}}class Bn extends Tn{constructor(E,v,C="imperative",R=null){super(E,v),this.type=mt.NavigationStart,this.navigationTrigger=C,this.restoredState=R}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Pn extends Tn{constructor(E,v,C){super(E,v),this.urlAfterRedirects=C,this.type=mt.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var Jt=function(_){return _[_.Redirect=0]="Redirect",_[_.SupersededByNewNavigation=1]="SupersededByNewNavigation",_[_.NoDataFromResolver=2]="NoDataFromResolver",_[_.GuardRejected=3]="GuardRejected",_}(Jt||{}),Mn=function(_){return _[_.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",_[_.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",_}(Mn||{});class ln extends Tn{constructor(E,v,C,R){super(E,v),this.reason=C,this.code=R,this.type=mt.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ze extends Tn{constructor(E,v,C,R){super(E,v),this.reason=C,this.code=R,this.type=mt.NavigationSkipped}}class xt extends Tn{constructor(E,v,C,R){super(E,v),this.error=C,this.target=R,this.type=mt.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class yr extends Tn{constructor(E,v,C,R){super(E,v),this.urlAfterRedirects=C,this.state=R,this.type=mt.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class _n extends Tn{constructor(E,v,C,R){super(E,v),this.urlAfterRedirects=C,this.state=R,this.type=mt.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class hr extends Tn{constructor(E,v,C,R,H){super(E,v),this.urlAfterRedirects=C,this.state=R,this.shouldActivate=H,this.type=mt.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class zr extends Tn{constructor(E,v,C,R){super(E,v),this.urlAfterRedirects=C,this.state=R,this.type=mt.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Mi extends Tn{constructor(E,v,C,R){super(E,v),this.urlAfterRedirects=C,this.state=R,this.type=mt.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class pr{constructor(E){this.route=E,this.type=mt.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class en{constructor(E){this.route=E,this.type=mt.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class ss{constructor(E){this.snapshot=E,this.type=mt.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Kr{constructor(E){this.snapshot=E,this.type=mt.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Li{constructor(E){this.snapshot=E,this.type=mt.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class Cs{constructor(E){this.snapshot=E,this.type=mt.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class br{constructor(E,v,C){this.routerEvent=E,this.position=v,this.anchor=C,this.type=mt.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class ws{}class Dr{constructor(E,v){this.url=E,this.navigationBehaviorOptions=v}}class ps{constructor(E){this.injector=E,this.outlet=null,this.route=null,this.children=new gs(this.injector),this.attachRef=null}}let gs=(()=>{class _{constructor(v){this.parentInjector=v,this.contexts=new Map}onChildOutletCreated(v,C){const R=this.getOrCreateContext(v);R.outlet=C,this.contexts.set(v,R)}onChildOutletDestroyed(v){const C=this.getContext(v);C&&(C.outlet=null,C.attachRef=null)}onOutletDeactivated(){const v=this.contexts;return this.contexts=new Map,v}onOutletReAttached(v){this.contexts=v}getOrCreateContext(v){let C=this.getContext(v);return C||(C=new ps(this.parentInjector),this.contexts.set(v,C)),C}getContext(v){return this.contexts.get(v)||null}static#e=this.\u0275fac=function(C){return new(C||_)(S.KVO(S.uvJ))};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();class Qr{constructor(E){this._root=E}get root(){return this._root.value}parent(E){const v=this.pathFromRoot(E);return v.length>1?v[v.length-2]:null}children(E){const v=ms(E,this._root);return v?v.children.map(C=>C.value):[]}firstChild(E){const v=ms(E,this._root);return v&&v.children.length>0?v.children[0].value:null}siblings(E){const v=Ts(E,this._root);return v.length<2?[]:v[v.length-2].children.map(R=>R.value).filter(R=>R!==E)}pathFromRoot(E){return Ts(E,this._root).map(v=>v.value)}}function ms(_,E){if(_===E.value)return E;for(const v of E.children){const C=ms(_,v);if(C)return C}return null}function Ts(_,E){if(_===E.value)return[E];for(const v of E.children){const C=Ts(_,v);if(C.length)return C.unshift(E),C}return[]}class mi{constructor(E,v){this.value=E,this.children=v}toString(){return`TreeNode(${this.value})`}}function Xr(_){const E={};return _&&_.children.forEach(v=>E[v.value.outlet]=v),E}class Bi extends Qr{constructor(E,v){super(E),this.snapshot=v,_e(this,E)}toString(){return this.snapshot.toString()}}function F(_){const E=function B(_){const H=new de([],{},{},"",{},bt,_,null,{});return new ye("",new mi(H,[]))}(_),v=new le.t([new Wi("",{})]),C=new le.t({}),R=new le.t({}),H=new le.t({}),Q=new le.t(""),Ee=new z(v,C,H,Q,R,bt,_,E.root);return Ee.snapshot=E.root,new Bi(new mi(Ee,[]),E)}class z{constructor(E,v,C,R,H,Q,Ee,me){this.urlSubject=E,this.paramsSubject=v,this.queryParamsSubject=C,this.fragmentSubject=R,this.dataSubject=H,this.outlet=Q,this.component=Ee,this._futureSnapshot=me,this.title=this.dataSubject?.pipe((0,Qt.T)(nt=>nt[mn]))??(0,X.of)(void 0),this.url=E,this.params=v,this.queryParams=C,this.fragment=R,this.data=H}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe((0,Qt.T)(E=>Qe(E))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe((0,Qt.T)(E=>Qe(E))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function $(_,E,v="emptyOnly"){let C;const{routeConfig:R}=_;return C=null===E||"always"!==v&&""!==R?.path&&(E.component||E.routeConfig?.loadComponent)?{params:{..._.params},data:{..._.data},resolve:{..._.data,..._._resolvedData??{}}}:{params:{...E.params,..._.params},data:{...E.data,..._.data},resolve:{..._.data,...E.data,...R?.data,..._._resolvedData}},R&&Ot(R)&&(C.resolve[mn]=R.title),C}class de{get title(){return this.data?.[mn]}constructor(E,v,C,R,H,Q,Ee,me,nt){this.url=E,this.params=v,this.queryParams=C,this.fragment=R,this.data=H,this.outlet=Q,this.component=Ee,this.routeConfig=me,this._resolve=nt}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Qe(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Qe(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(C=>C.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class ye extends Qr{constructor(E,v){super(v),this.url=E,_e(this,v)}toString(){return tt(this._root)}}function _e(_,E){E.value._routerState=_,E.children.forEach(v=>_e(_,v))}function tt(_){const E=_.children.length>0?` { ${_.children.map(tt).join(", ")} } `:"";return`${_.value}${E}`}function Yt(_){if(_.snapshot){const E=_.snapshot,v=_._futureSnapshot;_.snapshot=v,pi(E.queryParams,v.queryParams)||_.queryParamsSubject.next(v.queryParams),E.fragment!==v.fragment&&_.fragmentSubject.next(v.fragment),pi(E.params,v.params)||_.paramsSubject.next(v.params),function dr(_,E){if(_.length!==E.length)return!1;for(let v=0;v<_.length;++v)if(!pi(_[v],E[v]))return!1;return!0}(E.url,v.url)||_.urlSubject.next(v.url),pi(E.data,v.data)||_.dataSubject.next(v.data)}else _.snapshot=_._futureSnapshot,_.dataSubject.next(_._futureSnapshot.data)}function qt(_,E){const v=pi(_.params,E.params)&&function rn(_,E){return In(_,E)&&_.every((v,C)=>pi(v.parameters,E[C].parameters))}(_.url,E.url);return v&&!(!_.parent!=!E.parent)&&(!_.parent||qt(_.parent,E.parent))}function Ot(_){return"string"==typeof _.title||null===_.title}let et=(()=>{class _{constructor(){this.activated=null,this._activatedRoute=null,this.name=bt,this.activateEvents=new S.bkB,this.deactivateEvents=new S.bkB,this.attachEvents=new S.bkB,this.detachEvents=new S.bkB,this.parentContexts=(0,S.WQX)(gs),this.location=(0,S.WQX)(S.c1b),this.changeDetector=(0,S.WQX)(S.gRc),this.inputBinder=(0,S.WQX)(di,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(v){if(v.name){const{firstChange:C,previousValue:R}=v.name;if(C)return;this.isTrackedInParentContexts(R)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(R)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(v){return this.parentContexts.getContext(v)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const v=this.parentContexts.getContext(this.name);v?.route&&(v.attachRef?this.attach(v.attachRef,v.route):this.activateWith(v.route,v.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S.wOt(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S.wOt(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S.wOt(4012,!1);this.location.detach();const v=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(v.instance),v}attach(v,C){this.activated=v,this._activatedRoute=C,this.location.insert(v.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(v.instance)}deactivate(){if(this.activated){const v=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(v)}}activateWith(v,C){if(this.isActivated)throw new S.wOt(4013,!1);this._activatedRoute=v;const R=this.location,Q=v.snapshot.component,Ee=this.parentContexts.getOrCreateContext(this.name).children,me=new ui(v,Ee,R.injector);this.activated=R.createComponent(Q,{index:R.length,injector:me,environmentInjector:C}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275dir=S.FsC({type:_,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[S.OA$]})}return _})();class ui{__ngOutletInjector(E){return new ui(this.route,this.childContexts,E)}constructor(E,v,C){this.route=E,this.childContexts=v,this.parent=C}get(E,v){return E===z?this.route:E===gs?this.childContexts:this.parent.get(E,v)}}const di=new S.nKC("");function Jn(_,E,v){if(v&&_.shouldReuseRoute(E.value,v.value.snapshot)){const C=v.value;C._futureSnapshot=E.value;const R=function xn(_,E,v){return E.children.map(C=>{for(const R of v.children)if(_.shouldReuseRoute(C.value,R.value.snapshot))return Jn(_,C,R);return Jn(_,C)})}(_,E,v);return new mi(C,R)}{if(_.shouldAttach(E.value)){const H=_.retrieve(E.value);if(null!==H){const Q=H.route;return Q.value._futureSnapshot=E.value,Q.children=E.children.map(Ee=>Jn(_,Ee)),Q}}const C=function qi(_){return new z(new le.t(_.url),new le.t(_.params),new le.t(_.queryParams),new le.t(_.fragment),new le.t(_.data),_.outlet,_.component,_)}(E.value),R=E.children.map(H=>Jn(_,H));return new mi(C,R)}}class Vi{constructor(E,v){this.redirectTo=E,this.navigationBehaviorOptions=v}}const or="ngNavigationCancelingError";function os(_,E){const{redirectTo:v,navigationBehaviorOptions:C}=ri(E)?{redirectTo:E,navigationBehaviorOptions:void 0}:E,R=Fs(!1,Jt.Redirect);return R.url=v,R.navigationBehaviorOptions=C,R}function Fs(_,E){const v=new Error(`NavigationCancelingError: ${_||""}`);return v[or]=!0,v.cancellationCode=E,v}function Yr(_){return!!_&&_[or]}let po=(()=>{class _{static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275cmp=S.VBU({type:_,selectors:[["ng-component"]],standalone:!0,features:[S.aNF],decls:1,vars:0,template:function(C,R){1&C&&S.nrm(0,"router-outlet")},dependencies:[et],encapsulation:2})}return _})();function Ws(_){const E=_.children&&_.children.map(Ws),v=E?{..._,children:E}:{..._};return!v.component&&!v.loadComponent&&(E||v.loadChildren)&&v.outlet&&v.outlet!==bt&&(v.component=po),v}function xi(_){return _.outlet||bt}function Cr(_){if(!_)return null;if(_.routeConfig?._injector)return _.routeConfig._injector;for(let E=_.parent;E;E=E.parent){const v=E.routeConfig;if(v?._loadedInjector)return v._loadedInjector;if(v?._injector)return v._injector}return null}class lr{constructor(E,v,C,R,H){this.routeReuseStrategy=E,this.futureState=v,this.currState=C,this.forwardEvent=R,this.inputBindingEnabled=H}activate(E){const v=this.futureState._root,C=this.currState?this.currState._root:null;this.deactivateChildRoutes(v,C,E),Yt(this.futureState.root),this.activateChildRoutes(v,C,E)}deactivateChildRoutes(E,v,C){const R=Xr(v);E.children.forEach(H=>{const Q=H.value.outlet;this.deactivateRoutes(H,R[Q],C),delete R[Q]}),Object.values(R).forEach(H=>{this.deactivateRouteAndItsChildren(H,C)})}deactivateRoutes(E,v,C){const R=E.value,H=v?v.value:null;if(R===H)if(R.component){const Q=C.getContext(R.outlet);Q&&this.deactivateChildRoutes(E,v,Q.children)}else this.deactivateChildRoutes(E,v,C);else H&&this.deactivateRouteAndItsChildren(v,C)}deactivateRouteAndItsChildren(E,v){E.value.component&&this.routeReuseStrategy.shouldDetach(E.value.snapshot)?this.detachAndStoreRouteSubtree(E,v):this.deactivateRouteAndOutlet(E,v)}detachAndStoreRouteSubtree(E,v){const C=v.getContext(E.value.outlet),R=C&&E.value.component?C.children:v,H=Xr(E);for(const Q of Object.values(H))this.deactivateRouteAndItsChildren(Q,R);if(C&&C.outlet){const Q=C.outlet.detach(),Ee=C.children.onOutletDeactivated();this.routeReuseStrategy.store(E.value.snapshot,{componentRef:Q,route:E,contexts:Ee})}}deactivateRouteAndOutlet(E,v){const C=v.getContext(E.value.outlet),R=C&&E.value.component?C.children:v,H=Xr(E);for(const Q of Object.values(H))this.deactivateRouteAndItsChildren(Q,R);C&&(C.outlet&&(C.outlet.deactivate(),C.children.onOutletDeactivated()),C.attachRef=null,C.route=null)}activateChildRoutes(E,v,C){const R=Xr(v);E.children.forEach(H=>{this.activateRoutes(H,R[H.value.outlet],C),this.forwardEvent(new Cs(H.value.snapshot))}),E.children.length&&this.forwardEvent(new Kr(E.value.snapshot))}activateRoutes(E,v,C){const R=E.value,H=v?v.value:null;if(Yt(R),R===H)if(R.component){const Q=C.getOrCreateContext(R.outlet);this.activateChildRoutes(E,v,Q.children)}else this.activateChildRoutes(E,v,C);else if(R.component){const Q=C.getOrCreateContext(R.outlet);if(this.routeReuseStrategy.shouldAttach(R.snapshot)){const Ee=this.routeReuseStrategy.retrieve(R.snapshot);this.routeReuseStrategy.store(R.snapshot,null),Q.children.onOutletReAttached(Ee.contexts),Q.attachRef=Ee.componentRef,Q.route=Ee.route.value,Q.outlet&&Q.outlet.attach(Ee.componentRef,Ee.route.value),Yt(Ee.route.value),this.activateChildRoutes(E,null,Q.children)}else{const Ee=Cr(R.snapshot);Q.attachRef=null,Q.route=R,Q.injector=Ee??Q.injector,Q.outlet&&Q.outlet.activateWith(R,Q.injector),this.activateChildRoutes(E,null,Q.children)}}else this.activateChildRoutes(E,null,C)}}class vs{constructor(E){this.path=E,this.route=this.path[this.path.length-1]}}class Ks{constructor(E,v){this.component=E,this.route=v}}function ro(_,E,v){const C=_._root;return ks(C,E?E._root:null,v,[C.value])}function Ms(_,E){const v=Symbol(),C=E.get(_,v);return C===v?"function"!=typeof _||(0,S.LfX)(_)?E.get(_):_:C}function ks(_,E,v,C,R={canDeactivateChecks:[],canActivateChecks:[]}){const H=Xr(E);return _.children.forEach(Q=>{(function Ss(_,E,v,C,R={canDeactivateChecks:[],canActivateChecks:[]}){const H=_.value,Q=E?E.value:null,Ee=v?v.getContext(_.value.outlet):null;if(Q&&H.routeConfig===Q.routeConfig){const me=function Go(_,E,v){if("function"==typeof v)return v(_,E);switch(v){case"pathParamsChange":return!In(_.url,E.url);case"pathParamsOrQueryParamsChange":return!In(_.url,E.url)||!pi(_.queryParams,E.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!qt(_,E)||!pi(_.queryParams,E.queryParams);default:return!qt(_,E)}}(Q,H,H.routeConfig.runGuardsAndResolvers);me?R.canActivateChecks.push(new vs(C)):(H.data=Q.data,H._resolvedData=Q._resolvedData),ks(_,E,H.component?Ee?Ee.children:null:v,C,R),me&&Ee&&Ee.outlet&&Ee.outlet.isActivated&&R.canDeactivateChecks.push(new Ks(Ee.outlet.component,Q))}else Q&&Vr(E,Ee,R),R.canActivateChecks.push(new vs(C)),ks(_,null,H.component?Ee?Ee.children:null:v,C,R)})(Q,H[Q.value.outlet],v,C.concat([Q.value]),R),delete H[Q.value.outlet]}),Object.entries(H).forEach(([Q,Ee])=>Vr(Ee,v.getContext(Q),R)),R}function Vr(_,E,v){const C=Xr(_),R=_.value;Object.entries(C).forEach(([H,Q])=>{Vr(Q,R.component?E?E.children.getContext(H):null:E,v)}),v.canDeactivateChecks.push(new Ks(R.component&&E&&E.outlet&&E.outlet.isActivated?E.outlet.component:null,R))}function O(_){return"function"==typeof _}function Nr(_){return _ instanceof Ne.G||"EmptyError"===_?.name}const ys=Symbol("INITIAL_VALUE");function as(){return(0,Wn.n)(_=>St(_.map(E=>E.pipe((0,Cn.s)(1),(0,wi.Z)(ys)))).pipe((0,Qt.T)(E=>{for(const v of E)if(!0!==v){if(v===ys)return ys;if(!1===v||Ca(v))return v}return!0}),(0,vi.p)(E=>E!==ys),(0,Cn.s)(1)))}function Ca(_){return ri(_)||_ instanceof Vi}function ji(_){return(0,Ge.F)((0,he.M)(E=>{if("boolean"!=typeof E)throw os(0,E)}),(0,Qt.T)(E=>!0===E))}class cr{constructor(E){this.segmentGroup=E||null}}class Bs extends Error{constructor(E){super(),this.urlTree=E}}function bs(_){return(0,$e.$)(new cr(_))}class vo{constructor(E,v){this.urlSerializer=E,this.urlTree=v}lineralizeSegments(E,v){let C=[],R=v.root;for(;;){if(C=C.concat(R.segments),0===R.numberOfChildren)return(0,X.of)(C);if(R.numberOfChildren>1||!R.children[bt])return(0,$e.$)(new S.wOt(4e3,!1));R=R.children[bt]}}applyRedirectCommands(E,v,C,R,H){if("string"!=typeof v){const Ee=v,{queryParams:me,fragment:nt,routeConfig:Vt,url:nn,outlet:Ii,params:us,data:Zr,title:Ar}=R,Rs=(0,S.N4e)(H,()=>Ee({params:us,data:Zr,queryParams:me,fragment:nt,routeConfig:Vt,url:nn,outlet:Ii,title:Ar}));if(Rs instanceof zt)throw new Bs(Rs);v=Rs}const Q=this.applyRedirectCreateUrlTree(v,this.urlSerializer.parse(v),E,C);if("/"===v[0])throw new Bs(Q);return Q}applyRedirectCreateUrlTree(E,v,C,R){const H=this.createSegmentGroup(E,v.root,C,R);return new zt(H,this.createQueryParams(v.queryParams,this.urlTree.queryParams),v.fragment)}createQueryParams(E,v){const C={};return Object.entries(E).forEach(([R,H])=>{if("string"==typeof H&&":"===H[0]){const Ee=H.substring(1);C[R]=v[Ee]}else C[R]=H}),C}createSegmentGroup(E,v,C,R){const H=this.createSegments(E,v.segments,C,R);let Q={};return Object.entries(v.children).forEach(([Ee,me])=>{Q[Ee]=this.createSegmentGroup(E,me,C,R)}),new ut(H,Q)}createSegments(E,v,C,R){return v.map(H=>":"===H.path[0]?this.findPosParam(E,H,R):this.findOrReturn(H,C))}findPosParam(E,v,C){const R=C[v.path.substring(1)];if(!R)throw new S.wOt(4001,!1);return R}findOrReturn(E,v){let C=0;for(const R of v){if(R.path===E.path)return v.splice(C),R;C++}return E}}const Oo={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Qo(_,E,v,C,R){const H=Ao(_,E,v);return H.matched?(C=function Sr(_,E){return _.providers&&!_._injector&&(_._injector=(0,S.Ol2)(_.providers,E,`Route: ${_.path}`)),_._injector??E}(E,C),function Ns(_,E,v,C){const R=E.canMatch;if(!R||0===R.length)return(0,X.of)(!0);const H=R.map(Q=>{const Ee=Ms(Q,_);return Ht(function cn(_){return _&&O(_.canMatch)}(Ee)?Ee.canMatch(E,v):(0,S.N4e)(_,()=>Ee(E,v)))});return(0,X.of)(H).pipe(as(),ji())}(C,E,v).pipe((0,Qt.T)(Q=>!0===Q?H:{...Oo}))):(0,X.of)(H)}function Ao(_,E,v){if("**"===E.path)return function Ro(_){return{matched:!0,parameters:_.length>0?bi(_).parameters:{},consumedSegments:_,remainingSegments:[],positionalParamSegments:{}}}(v);if(""===E.path)return"full"===E.pathMatch&&(_.hasChildren()||v.length>0)?{...Oo}:{matched:!0,consumedSegments:[],remainingSegments:v,parameters:{},positionalParamSegments:{}};const R=(E.matcher||Ri)(v,_,E);if(!R)return{...Oo};const H={};Object.entries(R.posParams??{}).forEach(([Ee,me])=>{H[Ee]=me.path});const Q=R.consumed.length>0?{...H,...R.consumed[R.consumed.length-1].parameters}:H;return{matched:!0,consumedSegments:R.consumed,remainingSegments:v.slice(R.consumed.length),parameters:Q,positionalParamSegments:R.posParams??{}}}function il(_,E,v,C){return v.length>0&&function Po(_,E,v){return v.some(C=>bo(_,E,C)&&xi(C)!==bt)}(_,v,C)?{segmentGroup:new ut(E,Xo(C,new ut(v,_.children))),slicedSegments:[]}:0===v.length&&function yo(_,E,v){return v.some(C=>bo(_,E,C))}(_,v,C)?{segmentGroup:new ut(_.segments,so(_,v,C,_.children)),slicedSegments:v}:{segmentGroup:new ut(_.segments,_.children),slicedSegments:v}}function so(_,E,v,C){const R={};for(const H of v)if(bo(_,E,H)&&!C[xi(H)]){const Q=new ut([],{});R[xi(H)]=Q}return{...C,...R}}function Xo(_,E){const v={};v[bt]=E;for(const C of _)if(""===C.path&&xi(C)!==bt){const R=new ut([],{});v[xi(C)]=R}return v}function bo(_,E,v){return(!(_.hasChildren()||E.length>0)||"full"!==v.pathMatch)&&""===v.path}class ca{}class xo{constructor(E,v,C,R,H,Q,Ee){this.injector=E,this.configLoader=v,this.rootComponentType=C,this.config=R,this.urlTree=H,this.paramsInheritanceStrategy=Q,this.urlSerializer=Ee,this.applyRedirects=new vo(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(E){return new S.wOt(4002,`'${E.segmentGroup}'`)}recognize(){const E=il(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(E).pipe((0,Qt.T)(({children:v,rootSnapshot:C})=>{const R=new mi(C,v),H=new ye("",R),Q=function ci(_,E,v=null,C=null){return qn(vr(_),E,v,C)}(C,[],this.urlTree.queryParams,this.urlTree.fragment);return Q.queryParams=this.urlTree.queryParams,H.url=this.urlSerializer.serialize(Q),{state:H,tree:Q}}))}match(E){const v=new de([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Object.freeze({}),bt,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,E,bt,v).pipe((0,Qt.T)(C=>({children:C,rootSnapshot:v})),(0,U.W)(C=>{if(C instanceof Bs)return this.urlTree=C.urlTree,this.match(C.urlTree.root);throw C instanceof cr?this.noMatchError(C):C}))}processSegmentGroup(E,v,C,R,H){return 0===C.segments.length&&C.hasChildren()?this.processChildren(E,v,C,H):this.processSegment(E,v,C,C.segments,R,!0,H).pipe((0,Qt.T)(Q=>Q instanceof mi?[Q]:[]))}processChildren(E,v,C,R){const H=[];for(const Q of Object.keys(C.children))"primary"===Q?H.unshift(Q):H.push(Q);return(0,ce.H)(H).pipe((0,te.H)(Q=>{const Ee=C.children[Q],me=function io(_,E){const v=_.filter(C=>xi(C)===E);return v.push(..._.filter(C=>xi(C)!==E)),v}(v,Q);return this.processSegmentGroup(E,me,Ee,Q,R)}),function oe(_,E){return(0,lt.N)(function ne(_,E,v,C,R){return(H,Q)=>{let Ee=v,me=E,nt=0;H.subscribe((0,He._)(Q,Vt=>{const nn=nt++;me=Ee?_(me,Vt,nn):(Ee=!0,Vt),C&&Q.next(me)},R&&(()=>{Ee&&Q.next(me),Q.complete()})))}}(_,E,arguments.length>=2,!0))}((Q,Ee)=>(Q.push(...Ee),Q)),(0,Le.U)(null),function gt(_,E){const v=arguments.length>=2;return C=>C.pipe(_?(0,vi.p)((R,H)=>_(R,H,C)):Ae.D,ft(1),v?(0,Le.U)(E):(0,vn.v)(()=>new Ne.G))}(),(0,jn.Z)(Q=>{if(null===Q)return bs(C);const Ee=Xs(Q);return function qo(_){_.sort((E,v)=>E.value.outlet===bt?-1:v.value.outlet===bt?1:E.value.outlet.localeCompare(v.value.outlet))}(Ee),(0,X.of)(Ee)}))}processSegment(E,v,C,R,H,Q,Ee){return(0,ce.H)(v).pipe((0,te.H)(me=>this.processSegmentAgainstRoute(me._injector??E,v,me,C,R,H,Q,Ee).pipe((0,U.W)(nt=>{if(nt instanceof cr)return(0,X.of)(null);throw nt}))),(0,be.$)(me=>!!me),(0,U.W)(me=>{if(Nr(me))return function rl(_,E,v){return 0===E.length&&!_.children[v]}(C,R,H)?(0,X.of)(new ca):bs(C);throw me}))}processSegmentAgainstRoute(E,v,C,R,H,Q,Ee,me){return function Is(_,E,v,C){return!!(xi(_)===C||C!==bt&&bo(E,v,_))&&Ao(E,_,v).matched}(C,R,H,Q)?void 0===C.redirectTo?this.matchSegmentAgainstRoute(E,R,C,H,Q,me):this.allowRedirects&&Ee?this.expandSegmentAgainstRouteUsingRedirect(E,R,v,C,H,Q,me):bs(R):bs(R)}expandSegmentAgainstRouteUsingRedirect(E,v,C,R,H,Q,Ee){const{matched:me,parameters:nt,consumedSegments:Vt,positionalParamSegments:nn,remainingSegments:Ii}=Ao(v,R,H);if(!me)return bs(v);"string"==typeof R.redirectTo&&"/"===R.redirectTo[0]&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const us=new de(H,nt,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Ma(R),xi(R),R.component??R._loadedComponent??null,R,Zo(R)),Zr=$(us,Ee,this.paramsInheritanceStrategy);us.params=Object.freeze(Zr.params),us.data=Object.freeze(Zr.data);const Ar=this.applyRedirects.applyRedirectCommands(Vt,R.redirectTo,nn,us,E);return this.applyRedirects.lineralizeSegments(R,Ar).pipe((0,jn.Z)(Rs=>this.processSegment(E,C,v,Rs.concat(Ii),Q,!1,Ee)))}matchSegmentAgainstRoute(E,v,C,R,H,Q){const Ee=Qo(v,C,R,E);return"**"===C.path&&(v.children={}),Ee.pipe((0,Wn.n)(me=>me.matched?this.getChildConfig(E=C._injector??E,C,R).pipe((0,Wn.n)(({routes:nt})=>{const Vt=C._loadedInjector??E,{parameters:nn,consumedSegments:Ii,remainingSegments:us}=me,Zr=new de(Ii,nn,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,Ma(C),xi(C),C.component??C._loadedComponent??null,C,Zo(C)),Ar=$(Zr,Q,this.paramsInheritanceStrategy);Zr.params=Object.freeze(Ar.params),Zr.data=Object.freeze(Ar.data);const{segmentGroup:Rs,slicedSegments:Jo}=il(v,Ii,us,nt);if(0===Jo.length&&Rs.hasChildren())return this.processChildren(Vt,nt,Rs,Zr).pipe((0,Qt.T)(Fo=>new mi(Zr,Fo)));if(0===nt.length&&0===Jo.length)return(0,X.of)(new mi(Zr,[]));const ei=xi(C)===H;return this.processSegment(Vt,nt,Rs,Jo,ei?bt:H,!0,Zr).pipe((0,Qt.T)(Fo=>new mi(Zr,Fo instanceof mi?[Fo]:[])))})):bs(v)))}getChildConfig(E,v,C){return v.children?(0,X.of)({routes:v.children,injector:E}):v.loadChildren?void 0!==v._loadedRoutes?(0,X.of)({routes:v._loadedRoutes,injector:v._loadedInjector}):function Zi(_,E,v,C){const R=E.canLoad;if(void 0===R||0===R.length)return(0,X.of)(!0);const H=R.map(Q=>{const Ee=Ms(Q,_);return Ht(function w(_){return _&&O(_.canLoad)}(Ee)?Ee.canLoad(E,v):(0,S.N4e)(_,()=>Ee(E,v)))});return(0,X.of)(H).pipe(as(),ji())}(E,v,C).pipe((0,jn.Z)(R=>R?this.configLoader.loadChildren(E,v).pipe((0,he.M)(H=>{v._loadedRoutes=H.routes,v._loadedInjector=H.injector})):function Ko(_){return(0,$e.$)(Fs(!1,Jt.GuardRejected))}())):(0,X.of)({routes:[],injector:E})}}function ls(_){const E=_.value.routeConfig;return E&&""===E.path}function Xs(_){const E=[],v=new Set;for(const C of _){if(!ls(C)){E.push(C);continue}const R=E.find(H=>C.value.routeConfig===H.value.routeConfig);void 0!==R?(R.children.push(...C.children),v.add(R)):E.push(C)}for(const C of v){const R=Xs(C.children);E.push(new mi(C.value,R))}return E.filter(C=>!v.has(C))}function Ma(_){return _.data||{}}function Zo(_){return _.resolve||{}}function oo(_){const E=_.children.map(v=>oo(v)).flat();return[_,...E]}function k(_){return(0,Wn.n)(E=>{const v=_(E);return v?(0,ce.H)(v).pipe((0,Qt.T)(()=>E)):(0,X.of)(E)})}let T=(()=>{class _{buildTitle(v){let C,R=v.root;for(;void 0!==R;)C=this.getResolvedTitleForRoute(R)??C,R=R.children.find(H=>H.outlet===bt);return C}getResolvedTitleForRoute(v){return v.data[mn]}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:()=>(0,S.WQX)(g),providedIn:"root"})}return _})(),g=(()=>{class _ extends T{constructor(v){super(),this.title=v}updateTitle(v){const C=this.buildTitle(v);void 0!==C&&this.title.setTitle(C)}static#e=this.\u0275fac=function(C){return new(C||_)(S.KVO(ti.hE))};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();const u=new S.nKC("",{providedIn:"root",factory:()=>({})}),f=new S.nKC("");let D=(()=>{class _{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=(0,S.WQX)(S.Ql9)}loadComponent(v){if(this.componentLoaders.get(v))return this.componentLoaders.get(v);if(v._loadedComponent)return(0,X.of)(v._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(v);const C=Ht(v.loadComponent()).pipe((0,Qt.T)(K),(0,he.M)(H=>{this.onLoadEndListener&&this.onLoadEndListener(v),v._loadedComponent=H}),(0,bn.j)(()=>{this.componentLoaders.delete(v)})),R=new Ct(C,()=>new Et.B).pipe(it());return this.componentLoaders.set(v,R),R}loadChildren(v,C){if(this.childrenLoaders.get(C))return this.childrenLoaders.get(C);if(C._loadedRoutes)return(0,X.of)({routes:C._loadedRoutes,injector:C._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(C);const H=function N(_,E,v,C){return Ht(_.loadChildren()).pipe((0,Qt.T)(K),(0,jn.Z)(R=>R instanceof S.Co$||Array.isArray(R)?(0,X.of)(R):(0,ce.H)(E.compileModuleAsync(R))),(0,Qt.T)(R=>{C&&C(_);let H,Q,Ee=!1;return Array.isArray(R)?(Q=R,!0):(H=R.create(v).injector,Q=H.get(f,[],{optional:!0,self:!0}).flat()),{routes:Q.map(Ws),injector:H}}))}(C,this.compiler,v,this.onLoadEndListener).pipe((0,bn.j)(()=>{this.childrenLoaders.delete(C)})),Q=new Ct(H,()=>new Et.B).pipe(it());return this.childrenLoaders.set(C,Q),Q}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();function K(_){return function j(_){return _&&"object"==typeof _&&"default"in _}(_)?_.default:_}let J=(()=>{class _{static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:()=>(0,S.WQX)(ae),providedIn:"root"})}return _})(),ae=(()=>{class _{shouldProcessUrl(v){return!0}extract(v){return v}merge(v,C){return v}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();const De=new S.nKC(""),Wt=new S.nKC("");let Dt=(()=>{class _{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Et.B,this.transitionAbortSubject=new Et.B,this.configLoader=(0,S.WQX)(D),this.environmentInjector=(0,S.WQX)(S.uvJ),this.urlSerializer=(0,S.WQX)(Un),this.rootContexts=(0,S.WQX)(gs),this.location=(0,S.WQX)($t.aZ),this.inputBindingEnabled=null!==(0,S.WQX)(di,{optional:!0}),this.titleStrategy=(0,S.WQX)(T),this.options=(0,S.WQX)(u,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=(0,S.WQX)(J),this.createViewTransition=(0,S.WQX)(De,{optional:!0}),this.navigationErrorHandler=(0,S.WQX)(Wt,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>(0,X.of)(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=R=>this.events.next(new en(R)),this.configLoader.onLoadStartListener=R=>this.events.next(new pr(R))}complete(){this.transitions?.complete()}handleNavigationRequest(v){const C=++this.navigationId;this.transitions?.next({...this.transitions.value,...v,id:C})}setupNavigations(v,C,R){return this.transitions=new le.t({id:0,currentUrlTree:C,currentRawUrl:C,extractedUrl:this.urlHandlingStrategy.extract(C),urlAfterRedirects:this.urlHandlingStrategy.extract(C),rawUrl:C,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:Nt,restoredState:null,currentSnapshot:R.snapshot,targetSnapshot:null,currentRouterState:R,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe((0,vi.p)(H=>0!==H.id),(0,Qt.T)(H=>({...H,extractedUrl:this.urlHandlingStrategy.extract(H.rawUrl)})),(0,Wn.n)(H=>{let Q=!1,Ee=!1;return(0,X.of)(H).pipe((0,Wn.n)(me=>{if(this.navigationId>H.id)return this.cancelNavigationTransition(H,"",Jt.SupersededByNewNavigation),st.w;this.currentTransition=H,this.currentNavigation={id:me.id,initialUrl:me.rawUrl,extractedUrl:me.extractedUrl,trigger:me.source,extras:me.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null};const nt=!v.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!nt&&"reload"!==(me.extras.onSameUrlNavigation??v.onSameUrlNavigation)){const nn="";return this.events.next(new Ze(me.id,this.urlSerializer.serialize(me.rawUrl),nn,Mn.IgnoredSameUrlNavigation)),me.resolve(!1),st.w}if(this.urlHandlingStrategy.shouldProcessUrl(me.rawUrl))return(0,X.of)(me).pipe((0,Wn.n)(nn=>{const Ii=this.transitions?.getValue();return this.events.next(new Bn(nn.id,this.urlSerializer.serialize(nn.extractedUrl),nn.source,nn.restoredState)),Ii!==this.transitions?.getValue()?st.w:Promise.resolve(nn)}),function ua(_,E,v,C,R,H){return(0,jn.Z)(Q=>function Yo(_,E,v,C,R,H,Q="emptyOnly"){return new xo(_,E,v,C,R,Q,H).recognize()}(_,E,v,C,Q.extractedUrl,R,H).pipe((0,Qt.T)(({state:Ee,tree:me})=>({...Q,targetSnapshot:Ee,urlAfterRedirects:me}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,v.config,this.urlSerializer,this.paramsInheritanceStrategy),(0,he.M)(nn=>{H.targetSnapshot=nn.targetSnapshot,H.urlAfterRedirects=nn.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:nn.urlAfterRedirects};const Ii=new yr(nn.id,this.urlSerializer.serialize(nn.extractedUrl),this.urlSerializer.serialize(nn.urlAfterRedirects),nn.targetSnapshot);this.events.next(Ii)}));if(nt&&this.urlHandlingStrategy.shouldProcessUrl(me.currentRawUrl)){const{id:nn,extractedUrl:Ii,source:us,restoredState:Zr,extras:Ar}=me,Rs=new Bn(nn,this.urlSerializer.serialize(Ii),us,Zr);this.events.next(Rs);const Jo=F(this.rootComponentType).snapshot;return this.currentTransition=H={...me,targetSnapshot:Jo,urlAfterRedirects:Ii,extras:{...Ar,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=Ii,(0,X.of)(H)}{const nn="";return this.events.next(new Ze(me.id,this.urlSerializer.serialize(me.extractedUrl),nn,Mn.IgnoredByUrlHandlingStrategy)),me.resolve(!1),st.w}}),(0,he.M)(me=>{const nt=new _n(me.id,this.urlSerializer.serialize(me.extractedUrl),this.urlSerializer.serialize(me.urlAfterRedirects),me.targetSnapshot);this.events.next(nt)}),(0,Qt.T)(me=>(this.currentTransition=H={...me,guards:ro(me.targetSnapshot,me.currentSnapshot,this.rootContexts)},H)),function la(_,E){return(0,jn.Z)(v=>{const{targetSnapshot:C,currentSnapshot:R,guards:{canActivateChecks:H,canDeactivateChecks:Q}}=v;return 0===Q.length&&0===H.length?(0,X.of)({...v,guardsResult:!0}):function wa(_,E,v,C){return(0,ce.H)(_).pipe((0,jn.Z)(R=>function Dn(_,E,v,C,R){const H=E&&E.routeConfig?E.routeConfig.canDeactivate:null;if(!H||0===H.length)return(0,X.of)(!0);const Q=H.map(Ee=>{const me=Cr(E)??R,nt=Ms(Ee,me);return Ht(function Ut(_){return _&&O(_.canDeactivate)}(nt)?nt.canDeactivate(_,E,v,C):(0,S.N4e)(me,()=>nt(_,E,v,C))).pipe((0,be.$)())});return(0,X.of)(Q).pipe(as())}(R.component,R.route,v,E,C)),(0,be.$)(R=>!0!==R,!0))}(Q,C,R,_).pipe((0,jn.Z)(Ee=>Ee&&function A(_){return"boolean"==typeof _}(Ee)?function Wo(_,E,v,C){return(0,ce.H)(E).pipe((0,te.H)(R=>(0,Kt.x)(function zo(_,E){return null!==_&&E&&E(new ss(_)),(0,X.of)(!0)}(R.route.parent,C),function No(_,E){return null!==_&&E&&E(new Li(_)),(0,X.of)(!0)}(R.route,C),function Qs(_,E,v){const C=E[E.length-1],H=E.slice(0,E.length-1).reverse().map(Q=>function So(_){const E=_.routeConfig?_.routeConfig.canActivateChild:null;return E&&0!==E.length?{node:_,guards:E}:null}(Q)).filter(Q=>null!==Q).map(Q=>(0,Nn.v)(()=>{const Ee=Q.guards.map(me=>{const nt=Cr(Q.node)??v,Vt=Ms(me,nt);return Ht(function ie(_){return _&&O(_.canActivateChild)}(Vt)?Vt.canActivateChild(C,_):(0,S.N4e)(nt,()=>Vt(C,_))).pipe((0,be.$)())});return(0,X.of)(Ee).pipe(as())}));return(0,X.of)(H).pipe(as())}(_,R.path,v),function Ls(_,E,v){const C=E.routeConfig?E.routeConfig.canActivate:null;if(!C||0===C.length)return(0,X.of)(!0);const R=C.map(H=>(0,Nn.v)(()=>{const Q=Cr(E)??v,Ee=Ms(H,Q);return Ht(function V(_){return _&&O(_.canActivate)}(Ee)?Ee.canActivate(E,_):(0,S.N4e)(Q,()=>Ee(E,_))).pipe((0,be.$)())}));return(0,X.of)(R).pipe(as())}(_,R.route,v))),(0,be.$)(R=>!0!==R,!0))}(C,H,_,E):(0,X.of)(Ee)),(0,Qt.T)(Ee=>({...v,guardsResult:Ee})))})}(this.environmentInjector,me=>this.events.next(me)),(0,he.M)(me=>{if(H.guardsResult=me.guardsResult,me.guardsResult&&"boolean"!=typeof me.guardsResult)throw os(0,me.guardsResult);const nt=new hr(me.id,this.urlSerializer.serialize(me.extractedUrl),this.urlSerializer.serialize(me.urlAfterRedirects),me.targetSnapshot,!!me.guardsResult);this.events.next(nt)}),(0,vi.p)(me=>!!me.guardsResult||(this.cancelNavigationTransition(me,"",Jt.GuardRejected),!1)),k(me=>{if(me.guards.canActivateChecks.length)return(0,X.of)(me).pipe((0,he.M)(nt=>{const Vt=new zr(nt.id,this.urlSerializer.serialize(nt.extractedUrl),this.urlSerializer.serialize(nt.urlAfterRedirects),nt.targetSnapshot);this.events.next(Vt)}),(0,Wn.n)(nt=>{let Vt=!1;return(0,X.of)(nt).pipe(function Do(_,E){return(0,jn.Z)(v=>{const{targetSnapshot:C,guards:{canActivateChecks:R}}=v;if(!R.length)return(0,X.of)(v);const H=new Set(R.map(me=>me.route)),Q=new Set;for(const me of H)if(!Q.has(me))for(const nt of oo(me))Q.add(nt);let Ee=0;return(0,ce.H)(Q).pipe((0,te.H)(me=>H.has(me)?function Sa(_,E,v,C){const R=_.routeConfig,H=_._resolve;return void 0!==R?.title&&!Ot(R)&&(H[mn]=R.title),function ol(_,E,v,C){const R=_r(_);if(0===R.length)return(0,X.of)({});const H={};return(0,ce.H)(R).pipe((0,jn.Z)(Q=>function b(_,E,v,C){const R=Cr(E)??C,H=Ms(_,R);return Ht(H.resolve?H.resolve(E,v):(0,S.N4e)(R,()=>H(E,v)))}(_[Q],E,v,C).pipe((0,be.$)(),(0,he.M)(Ee=>{if(Ee instanceof Vi)throw os(new Rn,Ee);H[Q]=Ee}))),ft(1),(0,fn.u)(H),(0,U.W)(Q=>Nr(Q)?st.w:(0,$e.$)(Q)))}(H,_,E,C).pipe((0,Qt.T)(Q=>(_._resolvedData=Q,_.data=$(_,_.parent,v).resolve,null)))}(me,C,_,E):(me.data=$(me,me.parent,_).resolve,(0,X.of)(void 0))),(0,he.M)(()=>Ee++),ft(1),(0,jn.Z)(me=>Ee===Q.size?(0,X.of)(v):st.w))})}(this.paramsInheritanceStrategy,this.environmentInjector),(0,he.M)({next:()=>Vt=!0,complete:()=>{Vt||this.cancelNavigationTransition(nt,"",Jt.NoDataFromResolver)}}))}),(0,he.M)(nt=>{const Vt=new Mi(nt.id,this.urlSerializer.serialize(nt.extractedUrl),this.urlSerializer.serialize(nt.urlAfterRedirects),nt.targetSnapshot);this.events.next(Vt)}))}),k(me=>{const nt=Vt=>{const nn=[];Vt.routeConfig?.loadComponent&&!Vt.routeConfig._loadedComponent&&nn.push(this.configLoader.loadComponent(Vt.routeConfig).pipe((0,he.M)(Ii=>{Vt.component=Ii}),(0,Qt.T)(()=>{})));for(const Ii of Vt.children)nn.push(...nt(Ii));return nn};return St(nt(me.targetSnapshot.root)).pipe((0,Le.U)(null),(0,Cn.s)(1))}),k(()=>this.afterPreactivation()),(0,Wn.n)(()=>{const{currentSnapshot:me,targetSnapshot:nt}=H,Vt=this.createViewTransition?.(this.environmentInjector,me.root,nt.root);return Vt?(0,ce.H)(Vt).pipe((0,Qt.T)(()=>H)):(0,X.of)(H)}),(0,Qt.T)(me=>{const nt=function Ft(_,E,v){const C=Jn(_,E._root,v?v._root:void 0);return new Bi(C,E)}(v.routeReuseStrategy,me.targetSnapshot,me.currentRouterState);return this.currentTransition=H={...me,targetRouterState:nt},this.currentNavigation.targetRouterState=nt,H}),(0,he.M)(()=>{this.events.next(new ws)}),((_,E,v,C)=>(0,Qt.T)(R=>(new lr(E,R.targetRouterState,R.currentRouterState,v,C).activate(_),R)))(this.rootContexts,v.routeReuseStrategy,me=>this.events.next(me),this.inputBindingEnabled),(0,Cn.s)(1),(0,he.M)({next:me=>{Q=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Pn(me.id,this.urlSerializer.serialize(me.extractedUrl),this.urlSerializer.serialize(me.urlAfterRedirects))),this.titleStrategy?.updateTitle(me.targetRouterState.snapshot),me.resolve(!0)},complete:()=>{Q=!0}}),(0,wn.Q)(this.transitionAbortSubject.pipe((0,he.M)(me=>{throw me}))),(0,bn.j)(()=>{!Q&&!Ee&&this.cancelNavigationTransition(H,"",Jt.SupersededByNewNavigation),this.currentTransition?.id===H.id&&(this.currentNavigation=null,this.currentTransition=null)}),(0,U.W)(me=>{if(Ee=!0,Yr(me))this.events.next(new ln(H.id,this.urlSerializer.serialize(H.extractedUrl),me.message,me.cancellationCode)),function $o(_){return Yr(_)&&ri(_.url)}(me)?this.events.next(new Dr(me.url,me.navigationBehaviorOptions)):H.resolve(!1);else{const nt=new xt(H.id,this.urlSerializer.serialize(H.extractedUrl),me,H.targetSnapshot??void 0);try{const Vt=(0,S.N4e)(this.environmentInjector,()=>this.navigationErrorHandler?.(nt));if(Vt instanceof Vi){const{message:nn,cancellationCode:Ii}=os(0,Vt);this.events.next(new ln(H.id,this.urlSerializer.serialize(H.extractedUrl),nn,Ii)),this.events.next(new Dr(Vt.redirectTo,Vt.navigationBehaviorOptions))}else{this.events.next(nt);const nn=v.errorHandler(me);H.resolve(!!nn)}}catch(Vt){this.options.resolveNavigationPromiseOnError?H.resolve(!1):H.reject(Vt)}}return st.w}))}))}cancelNavigationTransition(v,C,R){const H=new ln(v.id,this.urlSerializer.serialize(v.extractedUrl),C,R);this.events.next(H),v.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();function _t(_){return _!==Nt}let wt=(()=>{class _{static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:()=>(0,S.WQX)(dt),providedIn:"root"})}return _})();class ke{shouldDetach(E){return!1}store(E,v){}shouldAttach(E){return!1}retrieve(E){return null}shouldReuseRoute(E,v){return E.routeConfig===v.routeConfig}}let dt=(()=>{class _ extends ke{static#e=this.\u0275fac=(()=>{let v;return function(R){return(v||(v=S.xGo(_)))(R||_)}})();static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),En=(()=>{class _{static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:()=>(0,S.WQX)(fi),providedIn:"root"})}return _})(),fi=(()=>{class _ extends En{constructor(){super(...arguments),this.location=(0,S.WQX)($t.aZ),this.urlSerializer=(0,S.WQX)(Un),this.options=(0,S.WQX)(u,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=(0,S.WQX)(J),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new zt,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=F(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(v){return this.location.subscribe(C=>{"popstate"===C.type&&v(C.url,C.state)})}handleRouterEvent(v,C){if(v instanceof Bn)this.stateMemento=this.createStateMemento();else if(v instanceof Ze)this.rawUrlTree=C.initialUrl;else if(v instanceof yr){if("eager"===this.urlUpdateStrategy&&!C.extras.skipLocationChange){const R=this.urlHandlingStrategy.merge(C.finalUrl,C.initialUrl);this.setBrowserUrl(R,C)}}else v instanceof ws?(this.currentUrlTree=C.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(C.finalUrl,C.initialUrl),this.routerState=C.targetRouterState,"deferred"===this.urlUpdateStrategy&&(C.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,C))):v instanceof ln&&(v.code===Jt.GuardRejected||v.code===Jt.NoDataFromResolver)?this.restoreHistory(C):v instanceof xt?this.restoreHistory(C,!0):v instanceof Pn&&(this.lastSuccessfulId=v.id,this.currentPageId=this.browserPageId)}setBrowserUrl(v,C){const R=this.urlSerializer.serialize(v);if(this.location.isCurrentPathEqualTo(R)||C.extras.replaceUrl){const Q={...C.extras.state,...this.generateNgRouterState(C.id,this.browserPageId)};this.location.replaceState(R,"",Q)}else{const H={...C.extras.state,...this.generateNgRouterState(C.id,this.browserPageId+1)};this.location.go(R,"",H)}}restoreHistory(v,C=!1){if("computed"===this.canceledNavigationResolution){const H=this.currentPageId-this.browserPageId;0!==H?this.location.historyGo(H):this.currentUrlTree===v.finalUrl&&0===H&&(this.resetState(v),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(C&&this.resetState(v),this.resetUrlToCurrentUrlTree())}resetState(v){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,v.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(v,C){return"computed"===this.canceledNavigationResolution?{navigationId:v,\u0275routerPageId:C}:{navigationId:v}}static#e=this.\u0275fac=(()=>{let v;return function(R){return(v||(v=S.xGo(_)))(R||_)}})();static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})();var hi=function(_){return _[_.COMPLETE=0]="COMPLETE",_[_.FAILED=1]="FAILED",_[_.REDIRECTING=2]="REDIRECTING",_}(hi||{});function Ui(_){throw _}const On={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},oi={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Si=(()=>{class _{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=(0,S.WQX)(S.H3F),this.stateManager=(0,S.WQX)(En),this.options=(0,S.WQX)(u,{optional:!0})||{},this.pendingTasks=(0,S.WQX)(S.TgB),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=(0,S.WQX)(Dt),this.urlSerializer=(0,S.WQX)(Un),this.location=(0,S.WQX)($t.aZ),this.urlHandlingStrategy=(0,S.WQX)(J),this._events=new Et.B,this.errorHandler=this.options.errorHandler||Ui,this.navigated=!1,this.routeReuseStrategy=(0,S.WQX)(wt),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=(0,S.WQX)(f,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!(0,S.WQX)(di,{optional:!0}),this.eventsSubscription=new kt.yU,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:v=>{this.console.warn(v)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const v=this.navigationTransitions.events.subscribe(C=>{try{const R=this.navigationTransitions.currentTransition,H=this.navigationTransitions.currentNavigation;if(null!==R&&null!==H)if(this.stateManager.handleRouterEvent(C,H),C instanceof ln&&C.code!==Jt.Redirect&&C.code!==Jt.SupersededByNewNavigation)this.navigated=!0;else if(C instanceof Pn)this.navigated=!0;else if(C instanceof Dr){const Q=C.navigationBehaviorOptions,Ee=this.urlHandlingStrategy.merge(C.url,R.currentRawUrl),me={info:R.extras.info,skipLocationChange:R.extras.skipLocationChange,replaceUrl:R.extras.replaceUrl||"eager"===this.urlUpdateStrategy||_t(R.source),...Q};this.scheduleNavigation(Ee,Nt,null,me,{resolve:R.resolve,reject:R.reject,promise:R.promise})}(function Ir(_){return!(_ instanceof ws||_ instanceof Dr)})(C)&&this._events.next(C)}catch(R){this.navigationTransitions.transitionAbortSubject.next(R)}});this.eventsSubscription.add(v)}resetRootComponentType(v){this.routerState.root.component=v,this.navigationTransitions.rootComponentType=v}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Nt,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((v,C)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(v,"popstate",C)},0)})}navigateToSyncWithBrowser(v,C,R){const H={replaceUrl:!0},Q=R?.navigationId?R:null;if(R){const me={...R};delete me.navigationId,delete me.\u0275routerPageId,0!==Object.keys(me).length&&(H.state=me)}const Ee=this.parseUrl(v);this.scheduleNavigation(Ee,C,Q,H)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(v){this.config=v.map(Ws),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(v,C={}){const{relativeTo:R,queryParams:H,fragment:Q,queryParamsHandling:Ee,preserveFragment:me}=C,nt=me?this.currentUrlTree.fragment:Q;let nn,Vt=null;switch(Ee){case"merge":Vt={...this.currentUrlTree.queryParams,...H};break;case"preserve":Vt=this.currentUrlTree.queryParams;break;default:Vt=H||null}null!==Vt&&(Vt=this.removeEmptyProps(Vt));try{nn=vr(R?R.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof v[0]||"/"!==v[0][0])&&(v=[]),nn=this.currentUrlTree.root}return qn(nn,v,Vt,nt??null)}navigateByUrl(v,C={skipLocationChange:!1}){const R=ri(v)?v:this.parseUrl(v),H=this.urlHandlingStrategy.merge(R,this.rawUrlTree);return this.scheduleNavigation(H,Nt,null,C)}navigate(v,C={skipLocationChange:!1}){return function tn(_){for(let E=0;E<_.length;E++)if(null==_[E])throw new S.wOt(4008,!1)}(v),this.navigateByUrl(this.createUrlTree(v,C),C)}serializeUrl(v){return this.urlSerializer.serialize(v)}parseUrl(v){try{return this.urlSerializer.parse(v)}catch{return this.urlSerializer.parse("/")}}isActive(v,C){let R;if(R=!0===C?{...On}:!1===C?{...oi}:C,ri(v))return nr(this.currentUrlTree,v,R);const H=this.parseUrl(v);return nr(this.currentUrlTree,H,R)}removeEmptyProps(v){return Object.entries(v).reduce((C,[R,H])=>(null!=H&&(C[R]=H),C),{})}scheduleNavigation(v,C,R,H,Q){if(this.disposed)return Promise.resolve(!1);let Ee,me,nt;Q?(Ee=Q.resolve,me=Q.reject,nt=Q.promise):nt=new Promise((nn,Ii)=>{Ee=nn,me=Ii});const Vt=this.pendingTasks.add();return function Xn(_,E){_.events.pipe((0,vi.p)(v=>v instanceof Pn||v instanceof ln||v instanceof xt||v instanceof Ze),(0,Qt.T)(v=>v instanceof Pn||v instanceof Ze?hi.COMPLETE:v instanceof ln&&(v.code===Jt.Redirect||v.code===Jt.SupersededByNewNavigation)?hi.REDIRECTING:hi.FAILED),(0,vi.p)(v=>v!==hi.REDIRECTING),(0,Cn.s)(1)).subscribe(()=>{E()})}(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(Vt))}),this.navigationTransitions.handleNavigationRequest({source:C,restoredState:R,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:v,extras:H,resolve:Ee,reject:me,promise:nt,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),nt.catch(nn=>Promise.reject(nn))}static#e=this.\u0275fac=function(C){return new(C||_)};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac,providedIn:"root"})}return _})(),Qi=(()=>{class _{constructor(v,C,R,H,Q,Ee){this.router=v,this.route=C,this.tabIndexAttribute=R,this.renderer=H,this.el=Q,this.locationStrategy=Ee,this.href=null,this.commands=null,this.onChanges=new Et.B,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const me=Q.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===me||"area"===me,this.isAnchorElement?this.subscription=v.events.subscribe(nt=>{nt instanceof Pn&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(v){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",v)}ngOnChanges(v){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(v){null!=v?(this.commands=Array.isArray(v)?v:[v],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(v,C,R,H,Q){const Ee=this.urlTree;return!!(null===Ee||this.isAnchorElement&&(0!==v||C||R||H||Q||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(Ee,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const v=this.urlTree;this.href=null!==v&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(v)):null;const C=null===this.href?null:(0,S.n$t)(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",C)}applyAttributeValue(v,C){const R=this.renderer,H=this.el.nativeElement;null!==C?R.setAttribute(H,v,C):R.removeAttribute(H,v)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(C){return new(C||_)(S.rXU(Si),S.rXU(z),S.kS0("tabindex"),S.rXU(S.sFG),S.rXU(S.aKT),S.rXU($t.hb))};static#t=this.\u0275dir=S.FsC({type:_,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(C,R){1&C&&S.bIt("click",function(Q){return R.onClick(Q.button,Q.ctrlKey,Q.shiftKey,Q.altKey,Q.metaKey)}),2&C&&S.BMQ("target",R.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",S.L39],skipLocationChange:[2,"skipLocationChange","skipLocationChange",S.L39],replaceUrl:[2,"replaceUrl","replaceUrl",S.L39],routerLink:"routerLink"},standalone:!0,features:[S.GFd,S.OA$]})}return _})(),ao=(()=>{class _{get isActive(){return this._isActive}constructor(v,C,R,H,Q){this.router=v,this.element=C,this.renderer=R,this.cdr=H,this.link=Q,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new S.bkB,this.routerEventsSubscription=v.events.subscribe(Ee=>{Ee instanceof Pn&&this.update()})}ngAfterContentInit(){(0,X.of)(this.links.changes,(0,X.of)(null)).pipe((0,gn.U)()).subscribe(v=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const v=[...this.links.toArray(),this.link].filter(C=>!!C).map(C=>C.onChanges);this.linkInputChangesSubscription=(0,ce.H)(v).pipe((0,gn.U)()).subscribe(C=>{this._isActive!==this.isLinkActive(this.router)(C)&&this.update()})}set routerLinkActive(v){const C=Array.isArray(v)?v:v.split(" ");this.classes=C.filter(R=>!!R)}ngOnChanges(v){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const v=this.hasActiveLinks();this.classes.forEach(C=>{v?this.renderer.addClass(this.element.nativeElement,C):this.renderer.removeClass(this.element.nativeElement,C)}),v&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==v&&(this._isActive=v,this.cdr.markForCheck(),this.isActiveChange.emit(v))})}isLinkActive(v){const C=function _i(_){return!!_.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return R=>{const H=R.urlTree;return!!H&&v.isActive(H,C)}}hasActiveLinks(){const v=this.isLinkActive(this.router);return this.link&&v(this.link)||this.links.some(v)}static#e=this.\u0275fac=function(C){return new(C||_)(S.rXU(Si),S.rXU(S.aKT),S.rXU(S.sFG),S.rXU(S.gRc),S.rXU(Qi,8))};static#t=this.\u0275dir=S.FsC({type:_,selectors:[["","routerLinkActive",""]],contentQueries:function(C,R,H){if(1&C&&S.wni(H,Qi,5),2&C){let Q;S.mGM(Q=S.lsd())&&(R.links=Q)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[S.OA$]})}return _})();const Hi=new S.nKC("");let Ji=(()=>{class _{constructor(v,C,R,H,Q={}){this.urlSerializer=v,this.transitions=C,this.viewportScroller=R,this.zone=H,this.options=Q,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},this.environmentInjector=(0,S.WQX)(S.uvJ),Q.scrollPositionRestoration||="disabled",Q.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(v=>{v instanceof Bn?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=v.navigationTrigger,this.restoredId=v.restoredState?v.restoredState.navigationId:0):v instanceof Pn?(this.lastId=v.id,this.scheduleScrollEvent(v,this.urlSerializer.parse(v.urlAfterRedirects).fragment)):v instanceof Ze&&v.code===Mn.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(v,this.urlSerializer.parse(v.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(v=>{v instanceof br&&(v.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(v.position):v.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(v.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(v,C){var R=this;this.zone.runOutsideAngular((0,o.A)(function*(){yield new Promise(H=>{setTimeout(()=>{H()}),(0,S.mal)(()=>{H()},{injector:R.environmentInjector})}),R.zone.run(()=>{R.transitions.events.next(new br(v,"popstate"===R.lastSource?R.store[R.restoredId]:null,C))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(C){S.QTQ()};static#t=this.\u0275prov=S.jDH({token:_,factory:_.\u0275fac})}return _})();function gr(_,...E){return(0,S.EmA)([{provide:f,multi:!0,useValue:_},[],{provide:z,useFactory:Or,deps:[Si]},{provide:S.iLQ,multi:!0,useFactory:mr},E.map(v=>v.\u0275providers)])}function Or(_){return _.routerState.root}function rt(_,E){return{\u0275kind:_,\u0275providers:E}}function As(_={}){return rt(4,[{provide:Hi,useFactory:()=>{const v=(0,S.WQX)($t.Xr),C=(0,S.WQX)(S.SKi),R=(0,S.WQX)(Dt),H=(0,S.WQX)(Un);return new Ji(H,R,v,C,_)}}])}function mr(){const _=(0,S.WQX)(S.zZn);return E=>{const v=_.get(S.o8S);if(E!==v.components[0])return;const C=_.get(Si),R=_.get(Di);1===_.get(lo)&&C.initialNavigation(),_.get(co,null,S.$GK.Optional)?.setUpPreloading(),_.get(Hi,null,S.$GK.Optional)?.init(),C.resetRootComponentType(v.componentTypes[0]),R.closed||(R.next(),R.complete(),R.unsubscribe())}}const Di=new S.nKC("",{factory:()=>new Et.B}),lo=new S.nKC("",{providedIn:"root",factory:()=>1}),co=new S.nKC("");function cs(_){return rt(5,[{provide:u,useValue:_}])}},2128:(yt,Se,x)=>{x.d(Se,{$G:()=>Lt,tg:()=>ma,U0:()=>Ba,do:()=>nu,Nb:()=>ds,s:()=>Hh});var o=x(4438),S=x(1985),ge=x(6977),Ae=x(983),Me=x(7673),Be=x(1413),ct=x(8750),He=x(1397),We=x(7441),St=x(8071),jt=x(6450);const Mt=["addListener","removeListener"],Kt=["addEventListener","removeEventListener"],Nn=["on","off"];function Ge(l,p,s,c){if((0,St.T)(s)&&(c=s,s=void 0),c)return Ge(l,p,s).pipe((0,jt.I)(c));const[m,I]=function lt(l){return(0,St.T)(l.addEventListener)&&(0,St.T)(l.removeEventListener)}(l)?Kt.map(L=>re=>l[L](p,re,s)):function st(l){return(0,St.T)(l.addListener)&&(0,St.T)(l.removeListener)}(l)?Mt.map($e(l,p)):function kt(l){return(0,St.T)(l.on)&&(0,St.T)(l.off)}(l)?Nn.map($e(l,p)):[];if(!m&&(0,We.X)(l))return(0,He.Z)(L=>Ge(L,p,s))((0,ct.Tg)(l));if(!m)throw new TypeError("Invalid event target");return new S.c(L=>{const re=(...fe)=>L.next(1I(re)})}function $e(l,p){return s=>c=>l[s](p,c)}var it=x(8359);class Ct extends it.yU{constructor(p,s){super()}schedule(p,s=0){return this}}const Et={setInterval(l,p,...s){const{delegate:c}=Et;return c?.setInterval?c.setInterval(l,p,...s):setInterval(l,p,...s)},clearInterval(l){const{delegate:p}=Et;return(p?.clearInterval||clearInterval)(l)},delegate:void 0};var $t=x(7908),Wn=x(6129);class Cn{constructor(p,s=Cn.now){this.schedulerActionCtor=p,this.now=s}schedule(p,s=0,c){return new this.schedulerActionCtor(this,p).schedule(c,s)}}Cn.now=Wn.U.now;const vi=new class wi extends Cn{constructor(p,s=Cn.now){super(p,s),this.actions=[],this._active=!1}flush(p){const{actions:s}=this;if(this._active)return void s.push(p);let c;this._active=!0;do{if(c=p.execute(p.state,p.delay))break}while(p=s.shift());if(this._active=!1,c){for(;p=s.shift();)p.unsubscribe();throw c}}}(class Qt extends Ct{constructor(p,s){super(p,s),this.scheduler=p,this.work=s,this.pending=!1}schedule(p,s=0){var c;if(this.closed)return this;this.state=p;const m=this.id,I=this.scheduler;return null!=m&&(this.id=this.recycleAsyncId(I,m,s)),this.pending=!0,this.delay=s,this.id=null!==(c=this.id)&&void 0!==c?c:this.requestAsyncId(I,this.id,s),this}requestAsyncId(p,s,c=0){return Et.setInterval(p.flush.bind(p,this),c)}recycleAsyncId(p,s,c=0){if(null!=c&&this.delay===c&&!1===this.pending)return s;null!=s&&Et.clearInterval(s)}execute(p,s){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const c=this._execute(p,s);if(c)return c;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(p,s){let m,c=!1;try{this.work(p)}catch(I){c=!0,m=I||new Error("Scheduled action threw falsy error")}if(c)return this.unsubscribe(),m}unsubscribe(){if(!this.closed){const{id:p,scheduler:s}=this,{actions:c}=s;this.work=this.state=this.scheduler=null,this.pending=!1,(0,$t.o)(c,this),null!=p&&(this.id=this.recycleAsyncId(s,p,null)),this.delay=null,super.unsubscribe()}}}),jn=vi;var be=x(9470);function he(l=0,p,s=jn){let c=-1;return null!=p&&((0,be.m)(p)?s=p:c=p),new S.c(m=>{let I=function te(l){return l instanceof Date&&!isNaN(l)}(l)?+l-s.now():l;I<0&&(I=0);let L=0;return s.schedule(function(){m.closed||(m.next(L++),0<=c?this.schedule(void 0,c):m.complete())},I)})}const{isArray:U}=Array;var oe=x(4360);function Le(...l){return 1===(l=function ne(l){return 1===l.length&&U(l[0])?l[0]:l}(l)).length?(0,ct.Tg)(l[0]):new S.c(function ft(l){return p=>{let s=[];for(let c=0;s&&!p.closed&&c{if(s){for(let I=0;I(0,gn.x)(p.pipe((0,mn.s)(1),function xe(){return(0,Ri.N)((l,p)=>{l.subscribe((0,oe._)(p,pi.l))})}()),s.pipe(Ht(l))):(0,He.Z)((s,c)=>(0,ct.Tg)(l(s,c)).pipe((0,mn.s)(1),(0,bi.u)(s)))}x(5558),x(9172);var Pi=x(177),$r=(x(9417),{left:"right",right:"left",bottom:"top",top:"bottom"});function zt(l){return l.replace(/left|right|bottom|top/g,function(p){return $r[p]})}function ut(l){return l.split("-")[0]}var Wi={start:"end",end:"start"};function rn(l){return l.replace(/start|end/g,function(p){return Wi[p]})}var In="top",li="bottom",Un="right",Rn="left",vt="auto",we=[In,li,Un,Rn],pe="start",Z="end",Ve="viewport",qe="popper",pn=we.reduce(function(l,p){return l.concat([p+"-"+pe,p+"-"+Z])},[]),yn=[].concat(we,[vt]).reduce(function(l,p){return l.concat([p,p+"-"+pe,p+"-"+Z])},[]),xs=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Qn(l){if(null==l)return window;if("[object Window]"!==l.toString()){var p=l.ownerDocument;return p&&p.defaultView||window}return l}function zn(l){return l instanceof Qn(l).Element||l instanceof Element}function Pt(l){return l instanceof Qn(l).HTMLElement||l instanceof HTMLElement}function ir(l){return!(typeof ShadowRoot>"u")&&(l instanceof Qn(l).ShadowRoot||l instanceof ShadowRoot)}function ri(l){return((zn(l)?l.ownerDocument:l.document)||window.document).documentElement}var ci=Math.max,vr=Math.min,qn=Math.round;function si(){var l=navigator.userAgentData;return null!=l&&l.brands&&Array.isArray(l.brands)?l.brands.map(function(p){return p.brand+"/"+p.version}).join(" "):navigator.userAgent}function Zn(){return!/^((?!chrome|android).)*safari/i.test(si())}function ki(l,p,s){void 0===p&&(p=!1),void 0===s&&(s=!1);var c=l.getBoundingClientRect(),m=1,I=1;p&&Pt(l)&&(m=l.offsetWidth>0&&qn(c.width)/l.offsetWidth||1,I=l.offsetHeight>0&&qn(c.height)/l.offsetHeight||1);var re=(zn(l)?Qn(l):window).visualViewport,fe=!Zn()&&s,Ce=(c.left+(fe&&re?re.offsetLeft:0))/m,Oe=(c.top+(fe&&re?re.offsetTop:0))/I,ht=c.width/m,ot=c.height/I;return{width:ht,height:ot,top:Oe,right:Ce+ht,bottom:Oe+ot,left:Ce,x:Ce,y:Oe}}function rr(l){var p=Qn(l);return{scrollLeft:p.pageXOffset,scrollTop:p.pageYOffset}}function fr(l){return ki(ri(l)).left+rr(l).scrollLeft}function At(l){return Qn(l).getComputedStyle(l)}function Yi(l){return l?(l.nodeName||"").toLowerCase():null}function W(l){return"html"===Yi(l)?l:l.assignedSlot||l.parentNode||(ir(l)?l.host:null)||ri(l)}function ee(l){var p=At(l);return/auto|scroll|overlay|hidden/.test(p.overflow+p.overflowY+p.overflowX)}function q(l){return["html","body","#document"].indexOf(Yi(l))>=0?l.ownerDocument.body:Pt(l)&&ee(l)?l:q(W(l))}function Te(l,p){var s;void 0===p&&(p=[]);var c=q(l),m=c===(null==(s=l.ownerDocument)?void 0:s.body),I=Qn(c),L=m?[I].concat(I.visualViewport||[],ee(c)?c:[]):c,re=p.concat(L);return m?re:re.concat(Te(W(L)))}function Ue(l){return["table","td","th"].indexOf(Yi(l))>=0}function Xe(l){return Pt(l)&&"fixed"!==At(l).position?l.offsetParent:null}function Xt(l){for(var p=Qn(l),s=Xe(l);s&&Ue(s)&&"static"===At(s).position;)s=Xe(s);return s&&("html"===Yi(s)||"body"===Yi(s)&&"static"===At(s).position)?p:s||function Je(l){var p=/firefox/i.test(si());if(/Trident/i.test(si())&&Pt(l)&&"fixed"===At(l).position)return null;var m=W(l);for(ir(m)&&(m=m.host);Pt(m)&&["html","body"].indexOf(Yi(m))<0;){var I=At(m);if("none"!==I.transform||"none"!==I.perspective||"paint"===I.contain||-1!==["transform","perspective"].indexOf(I.willChange)||p&&"filter"===I.willChange||p&&I.filter&&"none"!==I.filter)return m;m=m.parentNode}return null}(l)||p}function Nt(l,p){var s=p.getRootNode&&p.getRootNode();if(l.contains(p))return!0;if(s&&ir(s)){var c=p;do{if(c&&l.isSameNode(c))return!0;c=c.parentNode||c.host}while(c)}return!1}function mt(l){return Object.assign({},l,{left:l.x,top:l.y,right:l.x+l.width,bottom:l.y+l.height})}function Bn(l,p,s){return p===Ve?mt(function sr(l,p){var s=Qn(l),c=ri(l),m=s.visualViewport,I=c.clientWidth,L=c.clientHeight,re=0,fe=0;if(m){I=m.width,L=m.height;var Ce=Zn();(Ce||!Ce&&"fixed"===p)&&(re=m.offsetLeft,fe=m.offsetTop)}return{width:I,height:L,x:re+fr(l),y:fe}}(l,s)):zn(p)?function Tn(l,p){var s=ki(l,!1,"fixed"===p);return s.top=s.top+l.clientTop,s.left=s.left+l.clientLeft,s.bottom=s.top+l.clientHeight,s.right=s.left+l.clientWidth,s.width=l.clientWidth,s.height=l.clientHeight,s.x=s.left,s.y=s.top,s}(p,s):mt(function rs(l){var p,s=ri(l),c=rr(l),m=null==(p=l.ownerDocument)?void 0:p.body,I=ci(s.scrollWidth,s.clientWidth,m?m.scrollWidth:0,m?m.clientWidth:0),L=ci(s.scrollHeight,s.clientHeight,m?m.scrollHeight:0,m?m.clientHeight:0),re=-c.scrollLeft+fr(l),fe=-c.scrollTop;return"rtl"===At(m||s).direction&&(re+=ci(s.clientWidth,m?m.clientWidth:0)-I),{width:I,height:L,x:re,y:fe}}(ri(l)))}function Mn(l){return l.split("-")[1]}function ln(l){return["top","bottom"].indexOf(l)>=0?"x":"y"}function Ze(l){var fe,p=l.reference,s=l.element,c=l.placement,m=c?ut(c):null,I=c?Mn(c):null,L=p.x+p.width/2-s.width/2,re=p.y+p.height/2-s.height/2;switch(m){case In:fe={x:L,y:p.y-s.height};break;case li:fe={x:L,y:p.y+p.height};break;case Un:fe={x:p.x+p.width,y:re};break;case Rn:fe={x:p.x-s.width,y:re};break;default:fe={x:p.x,y:p.y}}var Ce=m?ln(m):null;if(null!=Ce){var Oe="y"===Ce?"height":"width";switch(I){case pe:fe[Ce]=fe[Ce]-(p[Oe]/2-s[Oe]/2);break;case Z:fe[Ce]=fe[Ce]+(p[Oe]/2-s[Oe]/2)}}return fe}function yr(l){return Object.assign({},{top:0,right:0,bottom:0,left:0},l)}function _n(l,p){return p.reduce(function(s,c){return s[c]=l,s},{})}function hr(l,p){void 0===p&&(p={});var c=p.placement,m=void 0===c?l.placement:c,I=p.strategy,L=void 0===I?l.strategy:I,re=p.boundary,fe=void 0===re?"clippingParents":re,Ce=p.rootBoundary,Oe=void 0===Ce?Ve:Ce,ht=p.elementContext,ot=void 0===ht?qe:ht,pt=p.altBoundary,kn=void 0!==pt&&pt,sn=p.padding,Ln=void 0===sn?0:sn,Yn=yr("number"!=typeof Ln?Ln:_n(Ln,we)),Gi=l.rects.popper,Vn=l.elements[kn?ot===qe?"reference":qe:ot],Gn=function Jt(l,p,s,c){var m="clippingParents"===p?function Pn(l){var p=Te(W(l)),c=["absolute","fixed"].indexOf(At(l).position)>=0&&Pt(l)?Xt(l):l;return zn(c)?p.filter(function(m){return zn(m)&&Nt(m,c)&&"body"!==Yi(m)}):[]}(l):[].concat(p),I=[].concat(m,[s]),re=I.reduce(function(fe,Ce){var Oe=Bn(l,Ce,c);return fe.top=ci(Oe.top,fe.top),fe.right=vr(Oe.right,fe.right),fe.bottom=vr(Oe.bottom,fe.bottom),fe.left=ci(Oe.left,fe.left),fe},Bn(l,I[0],c));return re.width=re.right-re.left,re.height=re.bottom-re.top,re.x=re.left,re.y=re.top,re}(zn(Vn)?Vn:Vn.contextElement||ri(l.elements.popper),fe,Oe,L),ai=ki(l.elements.reference),Ai=Ze({reference:ai,element:Gi,strategy:"absolute",placement:m}),Ci=mt(Object.assign({},Gi,Ai)),er=ot===qe?Ci:ai,ur={top:Gn.top-er.top+Yn.top,bottom:er.bottom-Gn.bottom+Yn.bottom,left:Gn.left-er.left+Yn.left,right:er.right-Gn.right+Yn.right},Ur=l.modifiersData.offset;if(ot===qe&&Ur){var Ds=Ur[m];Object.keys(ur).forEach(function(Hr){var qs=[Un,li].indexOf(Hr)>=0?1:-1,Vo=[In,li].indexOf(Hr)>=0?"y":"x";ur[Hr]+=Ds[Vo]*qs})}return ur}const en={name:"flip",enabled:!0,phase:"main",fn:function pr(l){var p=l.state,s=l.options,c=l.name;if(!p.modifiersData[c]._skip){for(var m=s.mainAxis,I=void 0===m||m,L=s.altAxis,re=void 0===L||L,fe=s.fallbackPlacements,Ce=s.padding,Oe=s.boundary,ht=s.rootBoundary,ot=s.altBoundary,pt=s.flipVariations,kn=void 0===pt||pt,sn=s.allowedAutoPlacements,Ln=p.options.placement,Yn=ut(Ln),Gi=fe||(Yn!==Ln&&kn?function Mi(l){if(ut(l)===vt)return[];var p=zt(l);return[rn(l),p,rn(p)]}(Ln):[zt(Ln)]),Vn=[Ln].concat(Gi).reduce(function(Qa,na){return Qa.concat(ut(na)===vt?function zr(l,p){void 0===p&&(p={});var m=p.boundary,I=p.rootBoundary,L=p.padding,re=p.flipVariations,fe=p.allowedAutoPlacements,Ce=void 0===fe?yn:fe,Oe=Mn(p.placement),ht=Oe?re?pn:pn.filter(function(kn){return Mn(kn)===Oe}):we,ot=ht.filter(function(kn){return Ce.indexOf(kn)>=0});0===ot.length&&(ot=ht);var pt=ot.reduce(function(kn,sn){return kn[sn]=hr(l,{placement:sn,boundary:m,rootBoundary:I,padding:L})[ut(sn)],kn},{});return Object.keys(pt).sort(function(kn,sn){return pt[kn]-pt[sn]})}(p,{placement:na,boundary:Oe,rootBoundary:ht,padding:Ce,flipVariations:kn,allowedAutoPlacements:sn}):na)},[]),Gn=p.rects.reference,ai=p.rects.popper,Ai=new Map,Ci=!0,er=Vn[0],ur=0;ur=0,Vo=qs?"width":"height",fs=hr(p,{placement:Ur,boundary:Oe,rootBoundary:ht,altBoundary:ot,padding:Ce}),Es=qs?Hr?Un:Rn:Hr?li:In;Gn[Vo]>ai[Vo]&&(Es=zt(Es));var Wa=zt(Es),za=[];if(I&&za.push(fs[Ds]<=0),re&&za.push(fs[Es]<=0,fs[Wa]<=0),za.every(function(Qa){return Qa})){er=Ur,Ci=!1;break}Ai.set(Ur,za)}if(Ci)for(var va=function(na){var ya=Vn.find(function(Dl){var ba=Ai.get(Dl);if(ba)return ba.slice(0,na).every(function(fu){return fu})});if(ya)return er=ya,"break"},yl=kn?3:1;yl>0&&"break"!==va(yl);yl--);p.placement!==er&&(p.modifiersData[c]._skip=!0,p.placement=er,p.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Kr(l,p,s){return ci(l,vr(p,s))}function Cs(l){var p=ki(l),s=l.offsetWidth,c=l.offsetHeight;return Math.abs(p.width-s)<=1&&(s=p.width),Math.abs(p.height-c)<=1&&(c=p.height),{x:l.offsetLeft,y:l.offsetTop,width:s,height:c}}const ws={name:"preventOverflow",enabled:!0,phase:"main",fn:function br(l){var p=l.state,s=l.options,c=l.name,m=s.mainAxis,I=void 0===m||m,L=s.altAxis,re=void 0!==L&&L,ot=s.tether,pt=void 0===ot||ot,kn=s.tetherOffset,sn=void 0===kn?0:kn,Ln=hr(p,{boundary:s.boundary,rootBoundary:s.rootBoundary,padding:s.padding,altBoundary:s.altBoundary}),Yn=ut(p.placement),$n=Mn(p.placement),Gi=!$n,Vn=ln(Yn),Gn=function ss(l){return"x"===l?"y":"x"}(Vn),ai=p.modifiersData.popperOffsets,Ai=p.rects.reference,Ci=p.rects.popper,er="function"==typeof sn?sn(Object.assign({},p.rects,{placement:p.placement})):sn,ur="number"==typeof er?{mainAxis:er,altAxis:er}:Object.assign({mainAxis:0,altAxis:0},er),Ur=p.modifiersData.offset?p.modifiersData.offset[p.placement]:null,Ds={x:0,y:0};if(ai){if(I){var Hr,qs="y"===Vn?In:Rn,Vo="y"===Vn?li:Un,fs="y"===Vn?"height":"width",Es=ai[Vn],Wa=Es+Ln[qs],za=Es-Ln[Vo],Ka=pt?-Ci[fs]/2:0,va=$n===pe?Ai[fs]:Ci[fs],yl=$n===pe?-Ci[fs]:-Ai[fs],bl=p.elements.arrow,Qa=pt&&bl?Cs(bl):{width:0,height:0},na=p.modifiersData["arrow#persistent"]?p.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ya=na[qs],Dl=na[Vo],ba=Kr(0,Ai[fs],Qa[fs]),fu=Gi?Ai[fs]/2-Ka-ba-ya-ur.mainAxis:va-ba-ya-ur.mainAxis,El=Gi?-Ai[fs]/2+Ka+ba+Dl+ur.mainAxis:yl+ba+Dl+ur.mainAxis,ec=p.elements.arrow&&Xt(p.elements.arrow),hu=ec?"y"===Vn?ec.clientTop||0:ec.clientLeft||0:0,Hd=null!=(Hr=Ur?.[Vn])?Hr:0,r_=Es+El-Hd,Xa=Kr(pt?vr(Wa,Es+fu-Hd-hu):Wa,Es,pt?ci(za,r_):za);ai[Vn]=Xa,Ds[Vn]=Xa-Es}if(re){var $d,ia=ai[Gn],nc="y"===Gn?"height":"width",gu=ia+Ln["x"===Vn?In:Rn],ic=ia-Ln["x"===Vn?li:Un],rc=-1!==[In,Rn].indexOf(Yn),Ya=null!=($d=Ur?.[Gn])?$d:0,mu=rc?gu:ia-Ai[nc]-Ci[nc]-Ya+ur.altAxis,Cl=rc?ia+Ai[nc]+Ci[nc]-Ya-ur.altAxis:ic,_u=pt&&rc?function Li(l,p,s){var c=Kr(l,p,s);return c>s?s:c}(mu,ia,Cl):Kr(pt?mu:gu,ia,pt?Cl:ic);ai[Gn]=_u,Ds[Gn]=_u-ia}p.modifiersData[c]=Ds}},requiresIfExists:["offset"]},gs={name:"arrow",enabled:!0,phase:"main",fn:function Kn(l){var p,s=l.state,c=l.name,m=l.options,I=s.elements.arrow,L=s.modifiersData.popperOffsets,re=ut(s.placement),fe=ln(re),Oe=[Rn,Un].indexOf(re)>=0?"height":"width";if(I&&L){var ht=function(p,s){return yr("number"!=typeof(p="function"==typeof p?p(Object.assign({},s.rects,{placement:s.placement})):p)?p:_n(p,we))}(m.padding,s),ot=Cs(I),pt="y"===fe?In:Rn,kn="y"===fe?li:Un,sn=s.rects.reference[Oe]+s.rects.reference[fe]-L[fe]-s.rects.popper[Oe],Ln=L[fe]-s.rects.reference[fe],Yn=Xt(I),$n=Yn?"y"===fe?Yn.clientHeight||0:Yn.clientWidth||0:0,ai=$n/2-ot[Oe]/2+(sn/2-Ln/2),Ai=Kr(ht[pt],ai,$n-ot[Oe]-ht[kn]);s.modifiersData[c]=((p={})[fe]=Ai,p.centerOffset=Ai-ai,p)}},effect:function ps(l){var p=l.state,c=l.options.element,m=void 0===c?"[data-popper-arrow]":c;null!=m&&("string"==typeof m&&!(m=p.elements.popper.querySelector(m))||Nt(p.elements.popper,m)&&(p.elements.arrow=m))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function mi(l,p,s){void 0===s&&(s=!1);var c=Pt(p),m=Pt(p)&&function Ts(l){var p=l.getBoundingClientRect(),s=qn(p.width)/l.offsetWidth||1,c=qn(p.height)/l.offsetHeight||1;return 1!==s||1!==c}(p),I=ri(p),L=ki(l,m,s),re={scrollLeft:0,scrollTop:0},fe={x:0,y:0};return(c||!c&&!s)&&(("body"!==Yi(p)||ee(I))&&(re=function ms(l){return l!==Qn(l)&&Pt(l)?function Qr(l){return{scrollLeft:l.scrollLeft,scrollTop:l.scrollTop}}(l):rr(l)}(p)),Pt(p)?((fe=ki(p,!0)).x+=p.clientLeft,fe.y+=p.clientTop):I&&(fe.x=fr(I))),{x:L.left+re.scrollLeft-fe.x,y:L.top+re.scrollTop-fe.y,width:L.width,height:L.height}}function Xr(l){var p=new Map,s=new Set,c=[];function m(I){s.add(I.name),[].concat(I.requires||[],I.requiresIfExists||[]).forEach(function(re){if(!s.has(re)){var fe=p.get(re);fe&&m(fe)}}),c.push(I)}return l.forEach(function(I){p.set(I.name,I)}),l.forEach(function(I){s.has(I.name)||m(I)}),c}function F(l){var p;return function(){return p||(p=new Promise(function(s){Promise.resolve().then(function(){p=void 0,s(l())})})),p}}var z={placement:"bottom",modifiers:[],strategy:"absolute"};function $(){for(var l=arguments.length,p=new Array(l),s=0;s=0?-1:1,I="function"==typeof s?s(Object.assign({},p,{placement:l})):s,L=I[0],re=I[1];return L=L||0,re=(re||0)*m,[Rn,Un].indexOf(c)>=0?{x:re,y:L}:{x:L,y:re}}(ht,p.rects,I),Oe},{}),re=L[p.placement],Ce=re.y;null!=p.modifiersData.popperOffsets&&(p.modifiersData.popperOffsets.x+=re.x,p.modifiersData.popperOffsets.y+=Ce),p.modifiersData[c]=L}},Yr=["*"];function b(l,p){if(1&l&&(o.j41(0,"strong",3),o.EFF(1),o.k0s()),2&l){const s=o.XpG();o.R7$(),o.JRh(s.header)}}function k(l,p){}function T(l,p){if(1&l){const s=o.RV6();o.j41(0,"div",1),o.DNE(1,k,0,0,"ng-template",4),o.j41(2,"button",5),o.bIt("click",function(){o.eBV(s);const m=o.XpG();return o.Njj(m.hide())}),o.k0s()()}if(2&l){const s=o.XpG(),c=o.sdS(1);o.R7$(),o.Y8G("ngTemplateOutlet",s.contentHeaderTpl||c)}}const J={animation:!0,transitionTimerDelayMs:5};let ae=(()=>{class l{constructor(){this.animation=J.animation}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();function Xn(l){return(l||document.body).getBoundingClientRect()}function oi(l=document){const p=l?.activeElement;return p?p.shadowRoot?oi(p.shadowRoot):p:null}const Si=()=>{},{transitionTimerDelayMs:tn}=J,Ir=new Map,Qi=(l,p,s,c)=>{let m=c.context||{};const I=Ir.get(p);if(I)switch(c.runningTransition){case"continue":return Ae.w;case"stop":l.run(()=>I.transition$.complete()),m=Object.assign(I.context,m),Ir.delete(p)}const L=s(p,c.animation,m)||Si;if(!c.animation||"none"===window.getComputedStyle(p).transitionProperty)return l.run(()=>L()),(0,Me.of)(void 0).pipe(function Ui(l){return p=>new S.c(s=>p.subscribe({next:L=>l.run(()=>s.next(L)),error:L=>l.run(()=>s.error(L)),complete:()=>l.run(()=>s.complete())}))}(l));const re=new Be.B,fe=new Be.B,Ce=re.pipe(function ti(...l){return p=>(0,gn.x)(p,(0,Me.of)(...l))}(!0));Ir.set(p,{transition$:re,complete:()=>{fe.next(),fe.complete()},context:m});const Oe=function Ke(l){const{transitionDelay:p,transitionDuration:s}=window.getComputedStyle(l);return 1e3*(parseFloat(p)+parseFloat(s))}(p);return l.runOutsideAngular(()=>{const ht=Ge(p,"transitionend").pipe((0,ge.Q)(Ce),(0,bt.p)(({target:pt})=>pt===p));Le(he(Oe+tn).pipe((0,ge.Q)(Ce)),ht,fe).pipe((0,ge.Q)(Ce)).subscribe(()=>{Ir.delete(p),l.run(()=>{L(),re.next(),re.complete()})})}),re.asObservable()},Tt=(l,p,s)=>{let{direction:c,maxSize:m,dimension:I}=s;const{classList:L}=l;function re(){L.add("collapse"),"show"===c?L.add("show"):L.remove("show")}if(p)return m||(m=function _i(l,p){if(typeof navigator>"u")return"0px";const{classList:s}=l,c=s.contains("show");c||s.add("show"),l.style[p]="";const m=l.getBoundingClientRect()[p]+"px";return c||s.remove("show"),m}(l,I),s.maxSize=m,l.style[I]="show"!==c?m:"0px",L.remove("collapse","collapsing","show"),Xn(l),L.add("collapsing")),l.style[I]="show"===c?m:"0px",()=>{re(),L.remove("collapsing"),l.style[I]=""};re()};let Bt=(()=>{class l{constructor(){this._ngbConfig=(0,o.WQX)(ae),this.horizontal=!1}get animation(){return this._animation??this._ngbConfig.animation}set animation(s){this._animation=s}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})(),Lt=(()=>{class l{constructor(){this._config=(0,o.WQX)(Bt),this._element=(0,o.WQX)(o.aKT),this._zone=(0,o.WQX)(o.SKi),this.animation=this._config.animation,this._afterInit=!1,this._isCollapsed=!1,this.ngbCollapseChange=new o.bkB,this.horizontal=this._config.horizontal,this.shown=new o.bkB,this.hidden=new o.bkB}set collapsed(s){this._isCollapsed!==s&&(this._isCollapsed=s,this._afterInit&&this._runTransitionWithEvents(s,this.animation))}ngOnInit(){this._runTransition(this._isCollapsed,!1),this._afterInit=!0}toggle(s=this._isCollapsed){this.collapsed=!s,this.ngbCollapseChange.next(this._isCollapsed)}_runTransition(s,c){return Qi(this._zone,this._element.nativeElement,Tt,{animation:c,runningTransition:"stop",context:{direction:s?"hide":"show",dimension:this.horizontal?"width":"height"}})}_runTransitionWithEvents(s,c){this._runTransition(s,c).subscribe(()=>{s?this.hidden.emit():this.shown.emit()})}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbCollapse",""]],hostVars:2,hostBindings:function(c,m){2&c&&o.AVh("collapse-horizontal",m.horizontal)},inputs:{animation:"animation",collapsed:[0,"ngbCollapse","collapsed"],horizontal:"horizontal"},outputs:{ngbCollapseChange:"ngbCollapseChange",shown:"shown",hidden:"hidden"},exportAs:["ngbCollapse"],standalone:!0})}return l})();const Bl=(l,p)=>!!p&&p.some(s=>s.contains(l)),Ra=(l,p)=>!p||null!=function hi(l,p){return!p||typeof l.closest>"u"?null:l.closest(p)}(l,p),Pa=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function cd(l,p,s,c,m,I,L,re){s&&l.runOutsideAngular((l=>Pa?()=>setTimeout(()=>l(),100):l)(()=>{const Ce=Ge(p,"keydown").pipe((0,ge.Q)(m),(0,bt.p)(ot=>"Escape"===ot.key),(0,yi.M)(ot=>ot.preventDefault())),Oe=Ge(p,"mousedown").pipe((0,Qe.T)(ot=>{const pt=ot.target;return 2!==ot.button&&!Bl(pt,L)&&("inside"===s?Bl(pt,I)&&Ra(pt,re):"outside"===s?!Bl(pt,I):Ra(pt,re)||!Bl(pt,I))}),(0,ge.Q)(m)),ht=Ge(p,"mouseup").pipe(function _r(...l){const p=(0,gt.ms)(l);return(0,Ri.N)((s,c)=>{const m=l.length,I=new Array(m);let L=l.map(()=>!1),re=!1;for(let fe=0;fe{I[fe]=Ce,!re&&!L[fe]&&(L[fe]=!0,(re=L.every(dr.D))&&(L=null))},pi.l));s.subscribe((0,oe._)(c,fe=>{if(re){const Ce=[fe,...I];c.next(p?p(...Ce):Ce)}}))})}(Oe),(0,bt.p)(([ot,pt])=>pt),function on(l,p=vi){const s=he(l,p);return Ht(()=>s)}(0),(0,ge.Q)(m));Le([Ce.pipe((0,Qe.T)(ot=>0)),ht.pipe((0,Qe.T)(ot=>1))]).subscribe(ot=>l.run(()=>c(ot)))}))}const Vl=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");let dd=(()=>{class l{constructor(){this._element=(0,o.WQX)(Pi.qQ).documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();const ah=/\s+/,fd=/ +/gi,ul={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},jl=/^left/,Ul=/^right/,Hc=/^start/,fa=/^end/;function dl({placement:l,baseClass:p},s){let c=Array.isArray(l)?l:l.split(ah),I=c.findIndex(Ce=>"auto"===Ce);I>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(Ce){null==c.find(Oe=>-1!==Oe.search("^"+Ce))&&c.splice(I++,1,Ce)});const L=c.map(Ce=>function Uc(l,p){const[s,c]=ul[l];return p&&c||s}(Ce,s.isRTL()));return{placement:L.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!p,phase:"write",fn({state:Ce}){const Oe=new RegExp(p+"(-[a-z]+)*","gi"),ht=Ce.elements.popper,ot=Ce.placement;let pt=ht.className;pt=pt.replace(Oe,""),pt+=` ${function dn(l,p){let[s,c]=p.split("-");const m=s.replace(jl,"start").replace(Ul,"end");let I=[m];if(c){let L=c;("left"===s||"right"===s)&&(L=L.replace(Hc,"top").replace(fa,"bottom")),I.push(`${m}-${L}`)}return l&&(I=I.map(L=>`${l}-${L}`)),I.join(" ")}(p,ot)}`,pt=pt.trim().replace(fd," "),ht.className=pt}},en,ws,gs,{enabled:!0,name:"flip",options:{fallbackPlacements:L}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function Hl(l){return l}new Date(1882,10,12),new Date(2174,10,25);let bh=(()=>{class l{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=s=>s,this.container=null}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})(),Ys=(()=>{class l{constructor(){this._disabled=!1,this.nativeElement=(0,o.WQX)(o.aKT).nativeElement,this.tabindex=0}set disabled(s){this._disabled=""===s||!0===s}get disabled(){return this._disabled}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(c,m){2&c&&(o.Mr5("tabIndex",m.disabled?-1:m.tabindex),o.AVh("disabled",m.disabled))},inputs:{tabindex:"tabindex",disabled:"disabled"},standalone:!0})}return l})(),Ba=(()=>{class l{constructor(){this.dropdown=(0,o.WQX)(ma),this.nativeElement=(0,o.WQX)(o.aKT).nativeElement}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(c,m,I){if(1&c&&o.wni(I,Ys,4),2&c){let L;o.mGM(L=o.lsd())&&(m.menuItems=L)}},hostAttrs:[1,"dropdown-menu"],hostVars:2,hostBindings:function(c,m){1&c&&o.bIt("keydown.ArrowUp",function(L){return m.dropdown.onKeyDown(L)})("keydown.ArrowDown",function(L){return m.dropdown.onKeyDown(L)})("keydown.Home",function(L){return m.dropdown.onKeyDown(L)})("keydown.End",function(L){return m.dropdown.onKeyDown(L)})("keydown.Enter",function(L){return m.dropdown.onKeyDown(L)})("keydown.Space",function(L){return m.dropdown.onKeyDown(L)})("keydown.Tab",function(L){return m.dropdown.onKeyDown(L)})("keydown.Shift.Tab",function(L){return m.dropdown.onKeyDown(L)}),2&c&&o.AVh("show",m.dropdown.isOpen())},standalone:!0})}return l})(),Va=(()=>{class l{constructor(){this.dropdown=(0,o.WQX)(ma),this.nativeElement=(0,o.WQX)(o.aKT).nativeElement}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(c,m){2&c&&(o.BMQ("aria-expanded",m.dropdown.isOpen()),o.AVh("show",m.dropdown.isOpen()))},standalone:!0})}return l})(),nu=(()=>{class l extends Va{static#e=this.\u0275fac=(()=>{let s;return function(m){return(s||(s=o.xGo(l)))(m||l)}})();static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:3,hostBindings:function(c,m){1&c&&o.bIt("click",function(){return m.dropdown.toggle()})("keydown.ArrowUp",function(L){return m.dropdown.onKeyDown(L)})("keydown.ArrowDown",function(L){return m.dropdown.onKeyDown(L)})("keydown.Home",function(L){return m.dropdown.onKeyDown(L)})("keydown.End",function(L){return m.dropdown.onKeyDown(L)})("keydown.Tab",function(L){return m.dropdown.onKeyDown(L)})("keydown.Shift.Tab",function(L){return m.dropdown.onKeyDown(L)}),2&c&&(o.BMQ("aria-expanded",m.dropdown.isOpen()),o.AVh("show",m.dropdown.isOpen()))},standalone:!0,features:[o.Jv_([{provide:Va,useExisting:(0,o.Rfq)(()=>l)}]),o.Vt3]})}return l})(),ma=(()=>{class l{constructor(){this._changeDetector=(0,o.WQX)(o.gRc),this._config=(0,o.WQX)(bh),this._document=(0,o.WQX)(Pi.qQ),this._ngZone=(0,o.WQX)(o.SKi),this._nativeElement=(0,o.WQX)(o.aKT).nativeElement,this._destroyCloseHandlers$=new Be.B,this._bodyContainer=null,this._positioning=function $c(){const l=(0,o.WQX)(dd);let p=null;return{createPopper(s){if(!p){let m=(s.updatePopperOptions||Hl)(dl(s,l));p=or(s.hostElement,s.targetElement,m)}},update(){p&&p.update()},setOptions(s){if(p){let m=(s.updatePopperOptions||Hl)(dl(s,l));p.setOptions(m)}},destroy(){p&&(p.destroy(),p=null)}}}(),this.autoClose=this._config.autoClose,this._open=!1,this.placement=this._config.placement,this.popperOptions=this._config.popperOptions,this.container=this._config.container,this.openChange=new o.bkB}ngOnInit(){this.display||(this.display=this._nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe((0,mn.s)(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(s){if(s.container&&this._open&&this._applyContainer(this.container),s.placement&&!s.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement}),this._applyPlacementClasses()),s.dropdownClass){const{currentValue:c,previousValue:m}=s.dropdownClass;this._applyCustomDropdownClass(c,m)}s.autoClose&&this._open&&(this.autoClose=s.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,updatePopperOptions:s=>this.popperOptions(function Gc(l){return p=>(p.modifiers.push($o,{name:"offset",options:{offset:()=>l}}),p)}([0,2])(s))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),cd(this._ngZone,this._document,this.autoClose,s=>{this.close(),0===s&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(s){const{key:c}=s,m=this._getMenuElements();let I=-1,L=null;const re=this._isEventFromToggle(s);if(!re&&m.length&&m.forEach((fe,Ce)=>{fe.contains(s.target)&&(L=fe),fe===oi(this._document)&&(I=Ce)})," "!==c&&"Enter"!==c){if("Tab"!==c){if(re||L){if(this.open(),m.length){switch(c){case"ArrowDown":I=Math.min(I+1,m.length-1);break;case"ArrowUp":if(this._isDropup()&&-1===I){I=m.length-1;break}I=Math.max(I-1,0);break;case"Home":I=0;break;case"End":I=m.length-1}m[I].focus()}s.preventDefault()}}else if(s.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===s.target)return void("body"!==this.container||s.shiftKey?s.shiftKey&&this.close():(this._menu.nativeElement.setAttribute("tabindex","0"),this._menu.nativeElement.focus(),this._menu.nativeElement.removeAttribute("tabindex")));if("body"===this.container){const fe=this._menu.nativeElement.querySelectorAll(Vl);s.shiftKey&&s.target===fe[0]?(this._anchor.nativeElement.focus(),s.preventDefault()):!s.shiftKey&&s.target===fe[fe.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Ge(s.target,"focusout").pipe((0,mn.s)(1)).subscribe(({relatedTarget:fe})=>{this._nativeElement.contains(fe)||this.close()})}}else L&&(!0===this.autoClose||"inside"===this.autoClose)&&Ge(L,"click").pipe((0,mn.s)(1)).subscribe(()=>this.close())}_isDropup(){return this._nativeElement.classList.contains("dropup")}_isEventFromToggle(s){return this._anchor.nativeElement.contains(s.target)}_getMenuElements(){return this._menu?this._menu.menuItems.filter(({disabled:s})=>!s).map(({nativeElement:s})=>s):[]}_positionMenu(){const s=this._menu;this.isOpen()&&s&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(s){return Array.isArray(s)?s[0]:s.split(" ")[0]}_resetContainer(){this._menu&&this._nativeElement.appendChild(this._menu.nativeElement),this._bodyContainer&&(this._document.body.removeChild(this._bodyContainer),this._bodyContainer=null)}_applyContainer(s=null){if(this._resetContainer(),"body"===s){const c=this._menu.nativeElement,m=this._bodyContainer=this._bodyContainer||this._document.createElement("div");m.style.position="absolute",c.style.position="static",m.style.zIndex="1055",m.appendChild(c),this._document.body.appendChild(m)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(s,c){const m="body"===this.container?this._bodyContainer:this._nativeElement;m&&(c&&m.classList.remove(c),s&&m.classList.add(s))}_applyPlacementClasses(s){if(this._menu){s||(s=this._getFirstPlacement(this.placement)),this._nativeElement.classList.remove("dropup","dropdown"),"static"===this.display?this._menu.nativeElement.setAttribute("data-bs-popper","static"):this._menu.nativeElement.removeAttribute("data-bs-popper");const c=-1!==s.search("^top")?"dropup":"dropdown";this._nativeElement.classList.add(c),this._bodyContainer&&(this._bodyContainer.classList.remove("dropup","dropdown"),this._bodyContainer.classList.add(c))}}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbDropdown",""]],contentQueries:function(c,m,I){if(1&c&&(o.wni(I,Ba,5),o.wni(I,Va,5)),2&c){let L;o.mGM(L=o.lsd())&&(m._menu=L.first),o.mGM(L=o.lsd())&&(m._anchor=L.first)}},hostVars:2,hostBindings:function(c,m){2&c&&o.AVh("show",m.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:[0,"open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[o.OA$]})}return l})(),Vd=(()=>{class l{constructor(){this._ngbConfig=(0,o.WQX)(ae),this.autohide=!0,this.delay=5e3,this.ariaLive="polite"}get animation(){return this._animation??this._ngbConfig.animation}set animation(s){this._animation=s}static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275prov=o.jDH({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();const Jl=(l,p)=>{const{classList:s}=l;if(p)return s.add("fade"),Xn(l),s.add("show","showing"),()=>{s.remove("showing")};s.add("show")},zm=({classList:l})=>(l.add("showing"),()=>{l.remove("show","showing")});let Hh=(()=>{class l{static#e=this.\u0275fac=function(c){return new(c||l)};static#t=this.\u0275dir=o.FsC({type:l,selectors:[["","ngbToastHeader",""]],standalone:!0})}return l})(),ds=(()=>{class l{constructor(s){this.ariaLive=s,this._config=(0,o.WQX)(Vd),this._zone=(0,o.WQX)(o.SKi),this._element=(0,o.WQX)(o.aKT),this.animation=this._config.animation,this.delay=this._config.delay,this.autohide=this._config.autohide,this.contentHeaderTpl=null,this.shown=new o.bkB,this.hidden=new o.bkB,this.ariaLive??=this._config.ariaLive}ngAfterContentInit(){this._zone.onStable.asObservable().pipe((0,mn.s)(1)).subscribe(()=>{this._init(),this.show()})}ngOnChanges(s){"autohide"in s&&(this._clearTimeout(),this._init())}hide(){this._clearTimeout();const s=Qi(this._zone,this._element.nativeElement,zm,{animation:this.animation,runningTransition:"stop"});return s.subscribe(()=>{this.hidden.emit()}),s}show(){const s=Qi(this._zone,this._element.nativeElement,Jl,{animation:this.animation,runningTransition:"continue"});return s.subscribe(()=>{this.shown.emit()}),s}_init(){this.autohide&&!this._timeoutID&&(this._timeoutID=setTimeout(()=>this.hide(),this.delay))}_clearTimeout(){this._timeoutID&&(clearTimeout(this._timeoutID),this._timeoutID=null)}static#e=this.\u0275fac=function(c){return new(c||l)(o.kS0("aria-live"))};static#t=this.\u0275cmp=o.VBU({type:l,selectors:[["ngb-toast"]],contentQueries:function(c,m,I){if(1&c&&o.wni(I,Hh,7,o.C4Q),2&c){let L;o.mGM(L=o.lsd())&&(m.contentHeaderTpl=L.first)}},hostAttrs:["role","alert","aria-atomic","true",1,"toast"],hostVars:3,hostBindings:function(c,m){2&c&&(o.BMQ("aria-live",m.ariaLive),o.AVh("fade",m.animation))},inputs:{animation:"animation",delay:"delay",autohide:"autohide",header:"header"},outputs:{shown:"shown",hidden:"hidden"},exportAs:["ngbToast"],standalone:!0,features:[o.OA$,o.aNF],ngContentSelectors:Yr,decls:5,vars:1,consts:()=>{let s;return s=$localize`:@@ngb.toast.close-aria:Close`,[["headerTpl",""],[1,"toast-header"],[1,"toast-body"],[1,"me-auto"],[3,"ngTemplateOutlet"],["type","button","aria-label",s,1,"btn-close",3,"click"]]},template:function(c,m){1&c&&(o.NAR(),o.DNE(0,b,2,1,"ng-template",null,0,o.C5r)(2,T,3,1,"div",1),o.j41(3,"div",2),o.SdG(4),o.k0s()),2&c&&(o.R7$(2),o.vxM(m.contentHeaderTpl||m.header?2:-1))},dependencies:[Pi.T3],styles:["ngb-toast{display:block}ngb-toast .toast-header .close{margin-left:auto;margin-bottom:.25rem}\n"],encapsulation:2})}return l})();new o.nKC("live announcer delay",{providedIn:"root",factory:()=>100})},9664:(yt,Se,x)=>{x.d(Se,{Wr:()=>St,h:()=>be,D9:()=>jn,c$:()=>wi});var o=x(4438),S=x(7673),ge=x(4402),ce=x(7468),X=x(8793),le=x(9030),Ne=x(6697),Pe=x(1413),Ie=x(6129);class Ae extends Pe.B{constructor(he=1/0,U=1/0,ne=Ie.U){super(),this._bufferSize=he,this._windowTime=U,this._timestampProvider=ne,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=U===1/0,this._bufferSize=Math.max(1,he),this._windowTime=Math.max(1,U)}next(he){const{isStopped:U,_buffer:ne,_infiniteTimeWindow:oe,_timestampProvider:Le,_windowTime:ft}=this;U||(ne.push(he),!oe&&ne.push(Le.now()+ft)),this._trimBuffer(),super.next(he)}_subscribe(he){this._throwIfClosed(),this._trimBuffer();const U=this._innerSubscribe(he),{_infiniteTimeWindow:ne,_buffer:oe}=this,Le=oe.slice();for(let ft=0;ftnew Ae(ne,he,U),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:oe})}var ct=x(6354),He=x(274),We=x(5558);class St{}let jt=(()=>{class te extends St{getTranslation(U){return(0,S.of)({})}static \u0275fac=(()=>{let U;return function(oe){return(U||(U=o.xGo(te)))(oe||te)}})();static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})();class Mt{}let Kt=(()=>{class te{handle(U){return U.key}static \u0275fac=function(ne){return new(ne||te)};static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})();function Nn(te,he){if(te===he)return!0;if(null===te||null===he)return!1;if(te!=te&&he!=he)return!0;let oe,Le,ft,U=typeof te;if(U==typeof he&&"object"==U){if(!Array.isArray(te)){if(Array.isArray(he))return!1;for(Le in ft=Object.create(null),te){if(!Nn(te[Le],he[Le]))return!1;ft[Le]=!0}for(Le in he)if(!(Le in ft)&&typeof he[Le]<"u")return!1;return!0}if(!Array.isArray(he))return!1;if((oe=te.length)==he.length){for(Le=0;Le{$e(he[ne])?ne in te?U[ne]=st(te[ne],he[ne]):Object.assign(U,{[ne]:he[ne]}):Object.assign(U,{[ne]:he[ne]})}),U}class kt{}let lt=(()=>{class te extends kt{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(U,ne){let oe;return oe="string"==typeof U?this.interpolateString(U,ne):"function"==typeof U?this.interpolateFunction(U,ne):U,oe}getValue(U,ne){let oe="string"==typeof ne?ne.split("."):[ne];ne="";do{ne+=oe.shift(),!Ge(U)||!Ge(U[ne])||"object"!=typeof U[ne]&&oe.length?oe.length?ne+=".":U=void 0:(U=U[ne],ne="")}while(oe.length);return U}interpolateFunction(U,ne){return U(ne)}interpolateString(U,ne){return ne?U.replace(this.templateMatcher,(oe,Le)=>{let ft=this.getValue(ne,Le);return Ge(ft)?ft:oe}):U}static \u0275fac=(()=>{let U;return function(oe){return(U||(U=o.xGo(te)))(oe||te)}})();static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})();class it{}let Ct=(()=>{class te extends it{compile(U,ne){return U}compileTranslations(U,ne){return U}static \u0275fac=(()=>{let U;return function(oe){return(U||(U=o.xGo(te)))(oe||te)}})();static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})();class Et{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new o.bkB;onLangChange=new o.bkB;onDefaultLangChange=new o.bkB}const $t=new o.nKC("USE_STORE"),Qt=new o.nKC("USE_DEFAULT_LANG"),Wn=new o.nKC("DEFAULT_LANGUAGE"),Cn=new o.nKC("USE_EXTEND");let wi=(()=>{class te{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;isolate;extend;loadingTranslations;pending=!1;_onTranslationChange=new o.bkB;_onLangChange=new o.bkB;_onDefaultLangChange=new o.bkB;_defaultLang;_currentLang;_langs=[];_translations={};_translationRequests={};get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(U){this.isolate?this._defaultLang=U:this.store.defaultLang=U}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(U){this.isolate?this._currentLang=U:this.store.currentLang=U}get langs(){return this.isolate?this._langs:this.store.langs}set langs(U){this.isolate?this._langs=U:this.store.langs=U}get translations(){return this.isolate?this._translations:this.store.translations}set translations(U){this.isolate?this._translations=U:this.store.translations=U}constructor(U,ne,oe,Le,ft,vn=!0,gt=!1,fn=!1,bn){this.store=U,this.currentLoader=ne,this.compiler=oe,this.parser=Le,this.missingTranslationHandler=ft,this.useDefaultLang=vn,this.isolate=gt,this.extend=fn,bn&&this.setDefaultLang(bn)}setDefaultLang(U){if(U===this.defaultLang)return;let ne=this.retrieveTranslations(U);typeof ne<"u"?(null==this.defaultLang&&(this.defaultLang=U),ne.pipe((0,Ne.s)(1)).subscribe(oe=>{this.changeDefaultLang(U)})):this.changeDefaultLang(U)}getDefaultLang(){return this.defaultLang}use(U){if(U===this.currentLang)return(0,S.of)(this.translations[U]);let ne=this.retrieveTranslations(U);return typeof ne<"u"?(this.currentLang||(this.currentLang=U),ne.pipe((0,Ne.s)(1)).subscribe(oe=>{this.changeLang(U)}),ne):(this.changeLang(U),(0,S.of)(this.translations[U]))}retrieveTranslations(U){let ne;return(typeof this.translations[U]>"u"||this.extend)&&(this._translationRequests[U]=this._translationRequests[U]||this.getTranslation(U),ne=this._translationRequests[U]),ne}getTranslation(U){this.pending=!0;const ne=this.currentLoader.getTranslation(U).pipe(Be(1),(0,Ne.s)(1));return this.loadingTranslations=ne.pipe((0,ct.T)(oe=>this.compiler.compileTranslations(oe,U)),Be(1),(0,Ne.s)(1)),this.loadingTranslations.subscribe({next:oe=>{this.translations[U]=this.extend&&this.translations[U]?{...oe,...this.translations[U]}:oe,this.updateLangs(),this.pending=!1},error:oe=>{this.pending=!1}}),ne}setTranslation(U,ne,oe=!1){ne=this.compiler.compileTranslations(ne,U),this.translations[U]=(oe||this.extend)&&this.translations[U]?st(this.translations[U],ne):ne,this.updateLangs(),this.onTranslationChange.emit({lang:U,translations:this.translations[U]})}getLangs(){return this.langs}addLangs(U){U.forEach(ne=>{-1===this.langs.indexOf(ne)&&this.langs.push(ne)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(U,ne,oe){let Le;if(ne instanceof Array){let ft={},vn=!1;for(let gt of ne)ft[gt]=this.getParsedResult(U,gt,oe),(0,ge.A)(ft[gt])&&(vn=!0);if(vn){const gt=ne.map(fn=>(0,ge.A)(ft[fn])?ft[fn]:(0,S.of)(ft[fn]));return(0,ce.p)(gt).pipe((0,ct.T)(fn=>{let bn={};return fn.forEach((wn,gn)=>{bn[ne[gn]]=wn}),bn}))}return ft}if(U&&(Le=this.parser.interpolate(this.parser.getValue(U,ne),oe)),typeof Le>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(Le=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],ne),oe)),typeof Le>"u"){let ft={key:ne,translateService:this};typeof oe<"u"&&(ft.interpolateParams=oe),Le=this.missingTranslationHandler.handle(ft)}return typeof Le<"u"?Le:ne}get(U,ne){if(!Ge(U)||!U.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,He.H)(oe=>(oe=this.getParsedResult(oe,U,ne),(0,ge.A)(oe)?oe:(0,S.of)(oe))));{let oe=this.getParsedResult(this.translations[this.currentLang],U,ne);return(0,ge.A)(oe)?oe:(0,S.of)(oe)}}getStreamOnTranslationChange(U,ne){if(!Ge(U)||!U.length)throw new Error('Parameter "key" required');return(0,X.x)((0,le.v)(()=>this.get(U,ne)),this.onTranslationChange.pipe((0,We.n)(oe=>{const Le=this.getParsedResult(oe.translations,U,ne);return"function"==typeof Le.subscribe?Le:(0,S.of)(Le)})))}stream(U,ne){if(!Ge(U)||!U.length)throw new Error('Parameter "key" required');return(0,X.x)((0,le.v)(()=>this.get(U,ne)),this.onLangChange.pipe((0,We.n)(oe=>{const Le=this.getParsedResult(oe.translations,U,ne);return(0,ge.A)(Le)?Le:(0,S.of)(Le)})))}instant(U,ne){if(!Ge(U)||!U.length)throw new Error('Parameter "key" required');let oe=this.getParsedResult(this.translations[this.currentLang],U,ne);if((0,ge.A)(oe)){if(U instanceof Array){let Le={};return U.forEach((ft,vn)=>{Le[U[vn]]=U[vn]}),Le}return U}return oe}set(U,ne,oe=this.currentLang){this.translations[oe][U]=this.compiler.compile(ne,oe),this.updateLangs(),this.onTranslationChange.emit({lang:oe,translations:this.translations[oe]})}changeLang(U){this.currentLang=U,this.onLangChange.emit({lang:U,translations:this.translations[U]}),null==this.defaultLang&&this.changeDefaultLang(U)}changeDefaultLang(U){this.defaultLang=U,this.onDefaultLangChange.emit({lang:U,translations:this.translations[U]})}reloadLang(U){return this.resetLang(U),this.getTranslation(U)}resetLang(U){this._translationRequests[U]=void 0,this.translations[U]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let U=window.navigator.languages?window.navigator.languages[0]:null;return U=U||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof U>"u"?void 0:(-1!==U.indexOf("-")&&(U=U.split("-")[0]),-1!==U.indexOf("_")&&(U=U.split("_")[0]),U)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let U=window.navigator.languages?window.navigator.languages[0]:null;return U=U||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,U}static \u0275fac=function(ne){return new(ne||te)(o.KVO(Et),o.KVO(St),o.KVO(it),o.KVO(kt),o.KVO(Mt),o.KVO(Qt),o.KVO($t),o.KVO(Cn),o.KVO(Wn))};static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})(),jn=(()=>{class te{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(U,ne){this.translate=U,this._ref=ne}updateValue(U,ne,oe){let Le=ft=>{this.value=void 0!==ft?ft:U,this.lastKey=U,this._ref.markForCheck()};if(oe){let ft=this.translate.getParsedResult(oe,U,ne);(0,ge.A)(ft.subscribe)?ft.subscribe(Le):Le(ft)}this.translate.get(U,ne).subscribe(Le)}transform(U,...ne){if(!U||!U.length)return U;if(Nn(U,this.lastKey)&&Nn(ne,this.lastParams))return this.value;let oe;if(Ge(ne[0])&&ne.length)if("string"==typeof ne[0]&&ne[0].length){let Le=ne[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{oe=JSON.parse(Le)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${ne[0]}`)}}else"object"==typeof ne[0]&&!Array.isArray(ne[0])&&(oe=ne[0]);return this.lastKey=U,this.lastParams=ne,this.updateValue(U,oe),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(Le=>{this.lastKey&&Le.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(U,oe,Le.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(Le=>{this.lastKey&&(this.lastKey=null,this.updateValue(U,oe,Le.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(U,oe))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(ne){return new(ne||te)(o.rXU(wi,16),o.rXU(o.gRc,16))};static \u0275pipe=o.EJ8({name:"translate",type:te,pure:!1});static \u0275prov=o.jDH({token:te,factory:te.\u0275fac})}return te})(),be=(()=>{class te{static forRoot(U={}){return{ngModule:te,providers:[U.loader||{provide:St,useClass:jt},U.compiler||{provide:it,useClass:Ct},U.parser||{provide:kt,useClass:lt},U.missingTranslationHandler||{provide:Mt,useClass:Kt},Et,{provide:$t,useValue:U.isolate},{provide:Qt,useValue:U.useDefaultLang},{provide:Cn,useValue:U.extend},{provide:Wn,useValue:U.defaultLanguage},wi]}}static forChild(U={}){return{ngModule:te,providers:[U.loader||{provide:St,useClass:jt},U.compiler||{provide:it,useClass:Ct},U.parser||{provide:kt,useClass:lt},U.missingTranslationHandler||{provide:Mt,useClass:Kt},{provide:$t,useValue:U.isolate},{provide:Qt,useValue:U.useDefaultLang},{provide:Cn,useValue:U.extend},{provide:Wn,useValue:U.defaultLanguage},wi]}}static \u0275fac=function(ne){return new(ne||te)};static \u0275mod=o.$C({type:te});static \u0275inj=o.G2t({})}return te})()},467:(yt,Se,x)=>{function o(ge,ce,X,le,Ne,Pe,Ie){try{var Ae=ge[Pe](Ie),Me=Ae.value}catch(Be){return void X(Be)}Ae.done?ce(Me):Promise.resolve(Me).then(le,Ne)}function S(ge){return function(){var ce=this,X=arguments;return new Promise(function(le,Ne){var Pe=ge.apply(ce,X);function Ie(Me){o(Pe,le,Ne,Ie,Ae,"next",Me)}function Ae(Me){o(Pe,le,Ne,Ie,Ae,"throw",Me)}Ie(void 0)})}}x.d(Se,{A:()=>S})},1635:(yt,Se,x)=>{function Be(be,te,he,U){return new(he||(he=Promise))(function(oe,Le){function ft(fn){try{gt(U.next(fn))}catch(bn){Le(bn)}}function vn(fn){try{gt(U.throw(fn))}catch(bn){Le(bn)}}function gt(fn){fn.done?oe(fn.value):function ne(oe){return oe instanceof he?oe:new he(function(Le){Le(oe)})}(fn.value).then(ft,vn)}gt((U=U.apply(be,te||[])).next())})}function Ge(be){return this instanceof Ge?(this.v=be,this):new Ge(be)}function $e(be,te,he){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ne,U=he.apply(be,te||[]),oe=[];return ne={},Le("next"),Le("throw"),Le("return"),ne[Symbol.asyncIterator]=function(){return this},ne;function Le(wn){U[wn]&&(ne[wn]=function(gn){return new Promise(function(ti,bt){oe.push([wn,gn,ti,bt])>1||ft(wn,gn)})})}function ft(wn,gn){try{!function vn(wn){wn.value instanceof Ge?Promise.resolve(wn.value.v).then(gt,fn):bn(oe[0][2],wn)}(U[wn](gn))}catch(ti){bn(oe[0][3],ti)}}function gt(wn){ft("next",wn)}function fn(wn){ft("throw",wn)}function bn(wn,gn){wn(gn),oe.shift(),oe.length&&ft(oe[0][0],oe[0][1])}}function kt(be){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var he,te=be[Symbol.asyncIterator];return te?te.call(be):(be=function St(be){var te="function"==typeof Symbol&&Symbol.iterator,he=te&&be[te],U=0;if(he)return he.call(be);if(be&&"number"==typeof be.length)return{next:function(){return be&&U>=be.length&&(be=void 0),{value:be&&be[U++],done:!be}}};throw new TypeError(te?"Object is not iterable.":"Symbol.iterator is not defined.")}(be),he={},U("next"),U("throw"),U("return"),he[Symbol.asyncIterator]=function(){return this},he);function U(oe){he[oe]=be[oe]&&function(Le){return new Promise(function(ft,vn){!function ne(oe,Le,ft,vn){Promise.resolve(vn).then(function(gt){oe({value:gt,done:ft})},Le)}(ft,vn,(Le=be[oe](Le)).done,Le.value)})}}}x.d(Se,{AQ:()=>$e,N3:()=>Ge,sH:()=>Be,xN:()=>kt}),"function"==typeof SuppressedError&&SuppressedError}},yt=>{yt(yt.s=8146)}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/polyfills.bffe7b9ad1daa123.js b/angular18/dist/easy-angular/polyfills.bffe7b9ad1daa123.js new file mode 100644 index 0000000..b1ff252 --- /dev/null +++ b/angular18/dist/easy-angular/polyfills.bffe7b9ad1daa123.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkEasyAngular=self.webpackChunkEasyAngular||[]).push([[461],{2523:(ke,De,Ze)=>{Ze(6935);const Ue=":";Error;const He=function(r,...s){if(He.translate){const h=He.translate(r,s);r=h[0],s=h[1]}let u=st(r[0],r.raw[0]);for(let h=1;h{!function(e){const n=e.performance;function a(B){n&&n.mark&&n.mark(B)}function i(B,v){n&&n.measure&&n.measure(B,v)}a("Zone");const l=e.__Zone_symbol_prefix||"__zone_symbol__";function f(B){return l+B}const E=!0===e[f("forceDuplicateZoneCheck")];if(e.Zone){if(E||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let m=(()=>{class B{static#e=this.__symbol__=f;static assertZonePatched(){if(e.Promise!==pe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=B.current;for(;t.parent;)t=t.parent;return t}static get current(){return J.zone}static get currentTask(){return ge}static __load_patch(t,o,I=!1){if(pe.hasOwnProperty(t)){if(!I&&E)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const Z="Zone:"+t;a(Z),pe[t]=o(e,B,oe),i(Z,Z)}}get parent(){return this._parent}get name(){return this._name}constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new S(this,this._parent&&this._parent._zoneDelegate,o)}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const I=this._zoneDelegate.intercept(this,t,o),Z=this;return function(){return Z.runGuarded(I,this,arguments,o)}}run(t,o,I,Z){J={parent:J,zone:this};try{return this._zoneDelegate.invoke(this,t,o,I,Z)}finally{J=J.parent}}runGuarded(t,o=null,I,Z){J={parent:J,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,I,Z)}catch(se){if(this._zoneDelegate.handleError(this,se))throw se}}finally{J=J.parent}}runTask(t,o,I){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||ce).name+"; Execution: "+this.name+")");if(t.state===G&&(t.type===le||t.type===C))return;const Z=t.state!=k;Z&&t._transitionTo(k,V),t.runCount++;const se=ge;ge=t,J={parent:J,zone:this};try{t.type==C&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,I)}catch(_){if(this._zoneDelegate.handleError(this,_))throw _}}finally{t.state!==G&&t.state!==g&&(t.type==le||t.data&&t.data.isPeriodic?Z&&t._transitionTo(V,k):(t.runCount=0,this._updateTaskCount(t,-1),Z&&t._transitionTo(G,k,G))),J=J.parent,ge=se}}scheduleTask(t){if(t.zone&&t.zone!==this){let I=this;for(;I;){if(I===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);I=I.parent}}t._transitionTo(re,G);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(I){throw t._transitionTo(g,re,G),this._zoneDelegate.handleError(this,I),I}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==re&&t._transitionTo(V,re),t}scheduleMicroTask(t,o,I,Z){return this.scheduleTask(new b($,t,o,I,Z,void 0))}scheduleMacroTask(t,o,I,Z,se){return this.scheduleTask(new b(C,t,o,I,Z,se))}scheduleEventTask(t,o,I,Z,se){return this.scheduleTask(new b(le,t,o,I,Z,se))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||ce).name+"; Execution: "+this.name+")");if(t.state===V||t.state===k){t._transitionTo(q,V,k);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(g,q),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(G,q),t.runCount=0,t}}_updateTaskCount(t,o){const I=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let Z=0;ZB.hasTask(t,o),onScheduleTask:(B,v,t,o)=>B.scheduleTask(t,o),onInvokeTask:(B,v,t,o,I,Z)=>B.invokeTask(t,o,I,Z),onCancelTask:(B,v,t,o)=>B.cancelTask(t,o)};class S{constructor(v,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=v,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const I=o&&o.onHasTask;(I||t&&t._hasTaskZS)&&(this._hasTaskZS=I?o:N,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=v,o.onScheduleTask||(this._scheduleTaskZS=N,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=N,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=N,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(v,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,v,t):new m(v,t)}intercept(v,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,v,t,o):t}invoke(v,t,o,I,Z){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,v,t,o,I,Z):t.apply(o,I)}handleError(v,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,v,t)}scheduleTask(v,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,v,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=$)throw new Error("Task is missing scheduleFn.");D(t)}return o}invokeTask(v,t,o,I){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,v,t,o,I):t.callback.apply(o,I)}cancelTask(v,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,v,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(v,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,v,t)}catch(o){this.handleError(v,o)}}_updateTaskCount(v,t){const o=this._taskCounts,I=o[v],Z=o[v]=I+t;if(Z<0)throw new Error("More tasks executed then were scheduled.");0!=I&&0!=Z||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:v})}}class b{constructor(v,t,o,I,Z,se){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=v,this.source=t,this.data=I,this.scheduleFn=Z,this.cancelFn=se,!o)throw new Error("callback is not defined");this.callback=o;const _=this;this.invoke=v===le&&I&&I.useG?b.invokeTask:function(){return b.invokeTask.call(e,_,this,arguments)}}static invokeTask(v,t,o){v||(v=this),fe++;try{return v.runCount++,v.zone.runTask(v,t,o)}finally{1==fe&&y(),fe--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(G,re)}_transitionTo(v,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${v}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=v,v==G&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const H=f("setTimeout"),j=f("Promise"),x=f("then");let ae,K=[],z=!1;function te(B){if(ae||e[j]&&(ae=e[j].resolve(0)),ae){let v=ae[x];v||(v=ae.then),v.call(ae,B)}else e[H](B,0)}function D(B){0===fe&&0===K.length&&te(y),B&&K.push(B)}function y(){if(!z){for(z=!0;K.length;){const B=K;K=[];for(let v=0;vJ,onUnhandledError:Q,microtaskDrainDone:Q,scheduleMicroTask:D,showUncaughtError:()=>!m[f("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:Q,patchMethod:()=>Q,bindArguments:()=>[],patchThen:()=>Q,patchMacroTask:()=>Q,patchEventPrototype:()=>Q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>Q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>Q,wrapWithCurrentZone:()=>Q,filterProperties:()=>[],attachOriginToPatched:()=>Q,_redefineProperty:()=>Q,patchCallbacks:()=>Q,nativeScheduleMicroTask:te};let J={parent:null,zone:new m(null,null)},ge=null,fe=0;function Q(){}i("Zone","Zone"),e.Zone=m}(globalThis);const ke=Object.getOwnPropertyDescriptor,De=Object.defineProperty,Ze=Object.getPrototypeOf,tt=Object.create,Ue=Array.prototype.slice,Ve="addEventListener",Me="removeEventListener",ze=Zone.__symbol__(Ve),be=Zone.__symbol__(Me),me="true",Te="false",Le=Zone.__symbol__("");function Ge(e,n){return Zone.current.wrap(e,n)}function Fe(e,n,a,i,l){return Zone.current.scheduleMacroTask(e,n,a,i,l)}const U=Zone.__symbol__,Ae=typeof window<"u",we=Ae?window:void 0,ne=Ae&&we||globalThis,Se="removeAttribute";function We(e,n){for(let a=e.length-1;a>=0;a--)"function"==typeof e[a]&&(e[a]=Ge(e[a],n+"_"+a));return e}function qe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Xe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Ie=!("nw"in ne)&&typeof ne.process<"u"&&"[object process]"==={}.toString.call(ne.process),Ne=!Ie&&!Xe&&!(!Ae||!we.HTMLElement),ve=typeof ne.process<"u"&&"[object process]"==={}.toString.call(ne.process)&&!Xe&&!(!Ae||!we.HTMLElement),je={},xe=function(e){if(!(e=e||ne.event))return;let n=je[e.type];n||(n=je[e.type]=U("ON_PROPERTY"+e.type));const a=this||e.target||ne,i=a[n];let l;return Ne&&a===we&&"error"===e.type?(l=i&&i.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===l&&e.preventDefault()):(l=i&&i.apply(this,arguments),null!=l&&!l&&e.preventDefault()),l};function rt(e,n,a){let i=ke(e,n);if(!i&&a&&ke(a,n)&&(i={enumerable:!0,configurable:!0}),!i||!i.configurable)return;const l=U("on"+n+"patched");if(e.hasOwnProperty(l)&&e[l])return;delete i.writable,delete i.value;const f=i.get,E=i.set,m=n.slice(2);let N=je[m];N||(N=je[m]=U("ON_PROPERTY"+m)),i.set=function(S){let b=this;!b&&e===ne&&(b=ne),b&&("function"==typeof b[N]&&b.removeEventListener(m,xe),E&&E.call(b,null),b[N]=S,"function"==typeof S&&b.addEventListener(m,xe,!1))},i.get=function(){let S=this;if(!S&&e===ne&&(S=ne),!S)return null;const b=S[N];if(b)return b;if(f){let H=f.call(this);if(H)return i.set.call(this,H),"function"==typeof S[Se]&&S.removeAttribute(n),H}return null},De(e,n,i),e[l]=!0}function Ye(e,n,a){if(n)for(let i=0;ifunction(E,m){const N=a(E,m);return N.cbIdx>=0&&"function"==typeof m[N.cbIdx]?Fe(N.name,m[N.cbIdx],N,l):f.apply(E,m)})}function _e(e,n){e[U("OriginalDelegate")]=n}let ot=!1,$e=!1;function Et(){if(ot)return $e;ot=!0;try{const e=we.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&($e=!0)}catch{}return $e}Zone.__load_patch("ZoneAwarePromise",(e,n,a)=>{const i=Object.getOwnPropertyDescriptor,l=Object.defineProperty,E=a.symbol,m=[],N=!1!==e[E("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],S=E("Promise"),b=E("then"),H="__creationTrace__";a.onUnhandledError=_=>{if(a.showUncaughtError()){const d=_&&_.rejection;d?console.error("Unhandled Promise rejection:",d instanceof Error?d.message:d,"; Zone:",_.zone.name,"; Task:",_.task&&_.task.source,"; Value:",d,d instanceof Error?d.stack:void 0):console.error(_)}},a.microtaskDrainDone=()=>{for(;m.length;){const _=m.shift();try{_.zone.runGuarded(()=>{throw _.throwOriginal?_.rejection:_})}catch(d){x(d)}}};const j=E("unhandledPromiseRejectionHandler");function x(_){a.onUnhandledError(_);try{const d=n[j];"function"==typeof d&&d.call(this,_)}catch{}}function K(_){return _&&_.then}function z(_){return _}function ae(_){return t.reject(_)}const te=E("state"),D=E("value"),y=E("finally"),ce=E("parentPromiseValue"),G=E("parentPromiseState"),re="Promise.then",V=null,k=!0,q=!1,g=0;function $(_,d){return c=>{try{oe(_,d,c)}catch(T){oe(_,!1,T)}}}const C=function(){let _=!1;return function(c){return function(){_||(_=!0,c.apply(null,arguments))}}},le="Promise resolved with itself",pe=E("currentTaskTrace");function oe(_,d,c){const T=C();if(_===c)throw new TypeError(le);if(_[te]===V){let R=null;try{("object"==typeof c||"function"==typeof c)&&(R=c&&c.then)}catch(O){return T(()=>{oe(_,!1,O)})(),_}if(d!==q&&c instanceof t&&c.hasOwnProperty(te)&&c.hasOwnProperty(D)&&c[te]!==V)ge(c),oe(_,c[te],c[D]);else if(d!==q&&"function"==typeof R)try{R.call(c,T($(_,d)),T($(_,!1)))}catch(O){T(()=>{oe(_,!1,O)})()}else{_[te]=d;const O=_[D];if(_[D]=c,_[y]===y&&d===k&&(_[te]=_[G],_[D]=_[ce]),d===q&&c instanceof Error){const P=n.currentTask&&n.currentTask.data&&n.currentTask.data[H];P&&l(c,pe,{configurable:!0,enumerable:!1,writable:!0,value:P})}for(let P=0;P{try{const M=_[D],L=!!c&&y===c[y];L&&(c[ce]=M,c[G]=O);const A=d.run(P,void 0,L&&P!==ae&&P!==z?[]:[M]);oe(c,!0,A)}catch(M){oe(c,!1,M)}},c)}const B=function(){},v=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(d){return d instanceof t?d:oe(new this(null),k,d)}static reject(d){return oe(new this(null),q,d)}static withResolvers(){const d={};return d.promise=new t((c,T)=>{d.resolve=c,d.reject=T}),d}static any(d){if(!d||"function"!=typeof d[Symbol.iterator])return Promise.reject(new v([],"All promises were rejected"));const c=[];let T=0;try{for(let P of d)T++,c.push(t.resolve(P))}catch{return Promise.reject(new v([],"All promises were rejected"))}if(0===T)return Promise.reject(new v([],"All promises were rejected"));let R=!1;const O=[];return new t((P,M)=>{for(let L=0;L{R||(R=!0,P(A))},A=>{O.push(A),T--,0===T&&(R=!0,M(new v(O,"All promises were rejected")))})})}static race(d){let c,T,R=new this((M,L)=>{c=M,T=L});function O(M){c(M)}function P(M){T(M)}for(let M of d)K(M)||(M=this.resolve(M)),M.then(O,P);return R}static all(d){return t.allWithCallback(d)}static allSettled(d){return(this&&this.prototype instanceof t?this:t).allWithCallback(d,{thenCallback:T=>({status:"fulfilled",value:T}),errorCallback:T=>({status:"rejected",reason:T})})}static allWithCallback(d,c){let T,R,O=new this((A,X)=>{T=A,R=X}),P=2,M=0;const L=[];for(let A of d){K(A)||(A=this.resolve(A));const X=M;try{A.then(Y=>{L[X]=c?c.thenCallback(Y):Y,P--,0===P&&T(L)},Y=>{c?(L[X]=c.errorCallback(Y),P--,0===P&&T(L)):R(Y)})}catch(Y){R(Y)}P++,M++}return P-=2,0===P&&T(L),O}constructor(d){const c=this;if(!(c instanceof t))throw new Error("Must be an instanceof Promise.");c[te]=V,c[D]=[];try{const T=C();d&&d(T($(c,k)),T($(c,q)))}catch(T){oe(c,!1,T)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(d,c){let T=this.constructor?.[Symbol.species];(!T||"function"!=typeof T)&&(T=this.constructor||t);const R=new T(B),O=n.current;return this[te]==V?this[D].push(O,R,d,c):fe(this,O,R,d,c),R}catch(d){return this.then(null,d)}finally(d){let c=this.constructor?.[Symbol.species];(!c||"function"!=typeof c)&&(c=t);const T=new c(B);T[y]=y;const R=n.current;return this[te]==V?this[D].push(R,T,d,d):fe(this,R,T,d,d),T}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[S]=e.Promise;e.Promise=t;const I=E("thenPatched");function Z(_){const d=_.prototype,c=i(d,"then");if(c&&(!1===c.writable||!c.configurable))return;const T=d.then;d[b]=T,_.prototype.then=function(R,O){return new t((M,L)=>{T.call(this,M,L)}).then(R,O)},_[I]=!0}return a.patchThen=Z,o&&(Z(o),Ee(e,"fetch",_=>function se(_){return function(d,c){let T=_.apply(d,c);if(T instanceof t)return T;let R=T.constructor;return R[I]||Z(R),T}}(_))),Promise[n.__symbol__("uncaughtPromiseErrors")]=m,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,a=U("OriginalDelegate"),i=U("Promise"),l=U("Error"),f=function(){if("function"==typeof this){const S=this[a];if(S)return"function"==typeof S?n.call(S):Object.prototype.toString.call(S);if(this===Promise){const b=e[i];if(b)return n.call(b)}if(this===Error){const b=e[l];if(b)return n.call(b)}}return n.call(this)};f[a]=n,Function.prototype.toString=f;const E=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":E.call(this)}});let Pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Pe=!1}const lt={useG:!0},de={},Ke={},Je=new RegExp("^"+Le+"(\\w+)(true|false)$"),ut=U("propagationStopped");function ft(e,n){const a=(n?n(e):e)+Te,i=(n?n(e):e)+me,l=Le+a,f=Le+i;de[e]={},de[e][Te]=l,de[e][me]=f}function ht(e,n,a,i){const l=i&&i.add||Ve,f=i&&i.rm||Me,E=i&&i.listeners||"eventListeners",m=i&&i.rmAll||"removeAllListeners",N=U(l),S="."+l+":",b="prependListener",H="."+b+":",j=function(D,y,ce){if(D.isRemoved)return;const G=D.callback;let re;"object"==typeof G&&G.handleEvent&&(D.callback=k=>G.handleEvent(k),D.originalDelegate=G);try{D.invoke(D,y,[ce])}catch(k){re=k}const V=D.options;return V&&"object"==typeof V&&V.once&&y[f].call(y,ce.type,D.originalDelegate?D.originalDelegate:D.callback,V),re};function x(D,y,ce){if(!(y=y||e.event))return;const G=D||y.target||e,re=G[de[y.type][ce?me:Te]];if(re){const V=[];if(1===re.length){const k=j(re[0],G,y);k&&V.push(k)}else{const k=re.slice();for(let q=0;q{throw q})}}}const K=function(D){return x(this,D,!1)},z=function(D){return x(this,D,!0)};function ae(D,y){if(!D)return!1;let ce=!0;y&&void 0!==y.useG&&(ce=y.useG);const G=y&&y.vh;let re=!0;y&&void 0!==y.chkDup&&(re=y.chkDup);let V=!1;y&&void 0!==y.rt&&(V=y.rt);let k=D;for(;k&&!k.hasOwnProperty(l);)k=Ze(k);if(!k&&D[l]&&(k=D),!k||k[N])return!1;const q=y&&y.eventNameToString,g={},$=k[N]=k[l],C=k[U(f)]=k[f],le=k[U(E)]=k[E],pe=k[U(m)]=k[m];let oe;y&&y.prepend&&(oe=k[U(y.prepend)]=k[y.prepend]);const t=ce?function(c){if(!g.isExisting)return $.call(g.target,g.eventName,g.capture?z:K,g.options)}:function(c){return $.call(g.target,g.eventName,c.invoke,g.options)},o=ce?function(c){if(!c.isRemoved){const T=de[c.eventName];let R;T&&(R=T[c.capture?me:Te]);const O=R&&c.target[R];if(O)for(let P=0;P{ye.zone.cancelTask(ye)},{once:!0})),g.target=null,et&&(et.taskData=null),gt&&(ue.once=!0),!Pe&&"boolean"==typeof ye.options||(ye.options=ue),ye.target=L,ye.capture=_t,ye.eventName=A,Y&&(ye.originalDelegate=X),M?Be.unshift(ye):Be.push(ye),P?L:void 0}};return k[l]=d($,S,t,o,V),oe&&(k[b]=d(oe,H,function(c){return oe.call(g.target,g.eventName,c.invoke,g.options)},o,V,!0)),k[f]=function(){const c=this||e;let T=arguments[0];y&&y.transferEventName&&(T=y.transferEventName(T));const R=arguments[2],O=!!R&&("boolean"==typeof R||R.capture),P=arguments[1];if(!P)return C.apply(this,arguments);if(G&&!G(C,P,c,arguments))return;const M=de[T];let L;M&&(L=M[O?me:Te]);const A=L&&c[L];if(A)for(let X=0;Xfunction(l,f){l[ut]=!0,i&&i.apply(l,f)})}function st(e,n,a,i,l){const f=Zone.__symbol__(i);if(n[f])return;const E=n[f]=n[i];n[i]=function(m,N,S){return N&&N.prototype&&l.forEach(function(b){const H=`${a}.${i}::`+b,j=N.prototype;try{if(j.hasOwnProperty(b)){const x=e.ObjectGetOwnPropertyDescriptor(j,b);x&&x.value?(x.value=e.wrapWithCurrentZone(x.value,H),e._redefineProperty(N.prototype,b,x)):j[b]&&(j[b]=e.wrapWithCurrentZone(j[b],H))}else j[b]&&(j[b]=e.wrapWithCurrentZone(j[b],H))}catch{}}),E.call(n,m,N,S)},e.attachOriginToPatched(n[i],E)}function r(e,n,a){if(!a||0===a.length)return n;const i=a.filter(f=>f.target===e);if(!i||0===i.length)return n;const l=i[0].ignoreProperties;return n.filter(f=>-1===l.indexOf(f))}function s(e,n,a,i){e&&Ye(e,r(e,n,a),i)}function u(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,a)=>{const i=u(e);a.patchOnProperties=Ye,a.patchMethod=Ee,a.bindArguments=We,a.patchMacroTask=ct;const l=n.__symbol__("BLACK_LISTED_EVENTS"),f=n.__symbol__("UNPATCHED_EVENTS");e[f]&&(e[l]=e[f]),e[l]&&(n[l]=n[f]=e[l]),a.patchEventPrototype=dt,a.patchEventTarget=ht,a.isIEOrEdge=Et,a.ObjectDefineProperty=De,a.ObjectGetOwnPropertyDescriptor=ke,a.ObjectCreate=tt,a.ArraySlice=Ue,a.patchClass=Ce,a.wrapWithCurrentZone=Ge,a.filterProperties=r,a.attachOriginToPatched=_e,a._redefineProperty=Object.defineProperty,a.patchCallbacks=st,a.getGlobalObjects=()=>({globalSources:Ke,zoneSymbolEventNames:de,eventNames:i,isBrowser:Ne,isMix:ve,isNode:Ie,TRUE_STR:me,FALSE_STR:Te,ZONE_SYMBOL_PREFIX:Le,ADD_EVENT_LISTENER_STR:Ve,REMOVE_EVENT_LISTENER_STR:Me})});const w=U("zoneTask");function ee(e,n,a,i){let l=null,f=null;a+=i;const E={};function m(S){const b=S.data;return b.args[0]=function(){return S.invoke.apply(this,arguments)},b.handleId=l.apply(e,b.args),S}function N(S){return f.call(e,S.data.handleId)}l=Ee(e,n+=i,S=>function(b,H){if("function"==typeof H[0]){const j={isPeriodic:"Interval"===i,delay:"Timeout"===i||"Interval"===i?H[1]||0:void 0,args:H},x=H[0];H[0]=function(){try{return x.apply(this,arguments)}finally{j.isPeriodic||("number"==typeof j.handleId?delete E[j.handleId]:j.handleId&&(j.handleId[w]=null))}};const K=Fe(n,H[0],j,m,N);if(!K)return K;const z=K.data.handleId;return"number"==typeof z?E[z]=K:z&&(z[w]=K),z&&z.ref&&z.unref&&"function"==typeof z.ref&&"function"==typeof z.unref&&(K.ref=z.ref.bind(z),K.unref=z.unref.bind(z)),"number"==typeof z||z?z:K}return S.apply(e,H)}),f=Ee(e,a,S=>function(b,H){const j=H[0];let x;"number"==typeof j?x=E[j]:(x=j&&j[w],x||(x=j)),x&&"string"==typeof x.type?"notScheduled"!==x.state&&(x.cancelFn&&x.data.isPeriodic||0===x.runCount)&&("number"==typeof j?delete E[j]:j&&(j[w]=null),x.zone.cancelTask(x)):S.apply(e,H)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",a="clear";ee(e,n,a,"Timeout"),ee(e,n,a,"Interval"),ee(e,n,a,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ee(e,"request","cancel","AnimationFrame"),ee(e,"mozRequest","mozCancel","AnimationFrame"),ee(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const a=["alert","prompt","confirm"];for(let i=0;ifunction(N,S){return n.current.run(f,e,S,m)})}),Zone.__load_patch("EventTarget",(e,n,a)=>{(function ie(e,n){n.patchEventPrototype(e,n)})(e,a),function F(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:a,zoneSymbolEventNames:i,TRUE_STR:l,FALSE_STR:f,ZONE_SYMBOL_PREFIX:E}=n.getGlobalObjects();for(let N=0;N{Ce("MutationObserver"),Ce("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,a)=>{Ce("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,a)=>{Ce("FileReader")}),Zone.__load_patch("on_property",(e,n,a)=>{!function h(e,n){if(Ie&&!ve||Zone[e.symbol("patchEvents")])return;const a=n.__Zone_ignore_on_properties;let i=[];if(Ne){const l=window;i=i.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const f=function at(){try{const e=we.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:l,ignoreProperties:["error"]}]:[];s(l,u(l),a&&a.concat(f),Ze(l))}i=i.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let l=0;l{!function W(e,n){const{isBrowser:a,isMix:i}=n.getGlobalObjects();(a||i)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(e,a)}),Zone.__load_patch("XHR",(e,n)=>{!function N(S){const b=S.XMLHttpRequest;if(!b)return;const H=b.prototype;let x=H[ze],K=H[be];if(!x){const g=S.XMLHttpRequestEventTarget;if(g){const $=g.prototype;x=$[ze],K=$[be]}}const z="readystatechange",ae="scheduled";function te(g){const $=g.data,C=$.target;C[f]=!1,C[m]=!1;const le=C[l];x||(x=C[ze],K=C[be]),le&&K.call(C,z,le);const pe=C[l]=()=>{if(C.readyState===C.DONE)if(!$.aborted&&C[f]&&g.state===ae){const J=C[n.__symbol__("loadfalse")];if(0!==C.status&&J&&J.length>0){const ge=g.invoke;g.invoke=function(){const fe=C[n.__symbol__("loadfalse")];for(let Q=0;Qfunction(g,$){return g[i]=0==$[2],g[E]=$[1],ce.apply(g,$)}),re=U("fetchTaskAborting"),V=U("fetchTaskScheduling"),k=Ee(H,"send",()=>function(g,$){if(!0===n.current[V]||g[i])return k.apply(g,$);{const C={target:g,url:g[E],isPeriodic:!1,args:$,aborted:!1},le=Fe("XMLHttpRequest.send",D,C,te,y);g&&!0===g[m]&&!C.aborted&&le.state===ae&&le.invoke()}}),q=Ee(H,"abort",()=>function(g,$){const C=function j(g){return g[a]}(g);if(C&&"string"==typeof C.type){if(null==C.cancelFn||C.data&&C.data.aborted)return;C.zone.cancelTask(C)}else if(!0===n.current[re])return q.apply(g,$)})}(e);const a=U("xhrTask"),i=U("xhrSync"),l=U("xhrListener"),f=U("xhrScheduled"),E=U("xhrURL"),m=U("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function nt(e,n){const a=e.constructor.name;for(let i=0;i{const N=function(){return m.apply(this,We(arguments,a+"."+l))};return _e(N,m),N})(f)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function a(i){return function(l){He(e,i).forEach(E=>{const m=e.PromiseRejectionEvent;if(m){const N=new m(i,{promise:l.promise,reason:l.rejection});E.invoke(N)}})}}e.PromiseRejectionEvent&&(n[U("unhandledPromiseRejectionHandler")]=a("unhandledrejection"),n[U("rejectionHandledHandler")]=a("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,a)=>{!function p(e,n){n.patchMethod(e,"queueMicrotask",a=>function(i,l){Zone.current.scheduleMicroTask("queueMicrotask",l[0])})}(e,a)})}},ke=>{ke(ke.s=2523)}]); \ No newline at end of file diff --git a/angular18/dist/easy-angular/runtime.f1cabd74d7db8bcc.js b/angular18/dist/easy-angular/runtime.f1cabd74d7db8bcc.js new file mode 100644 index 0000000..c8994d5 --- /dev/null +++ b/angular18/dist/easy-angular/runtime.f1cabd74d7db8bcc.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,v={},m={};function r(e){var o=m[e];if(void 0!==o)return o.exports;var t=m[e]={exports:{}};return v[e](t,t.exports,r),t.exports}r.m=v,e=[],r.O=(o,t,i,u)=>{if(!t){var a=1/0;for(n=0;n=u)&&Object.keys(r.O).every(b=>r.O[b](t[f]))?t.splice(f--,1):(c=!1,u0&&e[n-1][2]>u;n--)e[n]=e[n-1];e[n]=[t,i,u]},r.d=(e,o)=>{for(var t in o)r.o(o,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((o,t)=>(r.f[t](e,o),o),[])),r.u=e=>e+"."+{142:"45234a7373c3ac49",290:"c6d31198e7723f1a",360:"79ccdba96c0b194f",554:"fe6f98c9adf2f1d9",794:"90c743b5e538e5a8",887:"22d3d6e5f1b4ba0b"}[e]+".js",r.miniCssF=e=>{},r.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o),(()=>{var e={},o="EasyAngular:";r.l=(t,i,u,n)=>{if(e[t])e[t].push(i);else{var a,c;if(void 0!==u)for(var f=document.getElementsByTagName("script"),d=0;d{a.onerror=a.onload=null,clearTimeout(p);var y=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),y&&y.forEach(h=>h(b)),g)return g(b)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=s.bind(null,a.onerror),a.onload=s.bind(null,a.onload),c&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:o=>o},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={121:0};r.f.j=(i,u)=>{var n=r.o(e,i)?e[i]:void 0;if(0!==n)if(n)u.push(n[2]);else if(121!=i){var a=new Promise((l,s)=>n=e[i]=[l,s]);u.push(n[2]=a);var c=r.p+r.u(i),f=new Error;r.l(c,l=>{if(r.o(e,i)&&(0!==(n=e[i])&&(e[i]=void 0),n)){var s=l&&("load"===l.type?"missing":l.type),p=l&&l.target&&l.target.src;f.message="Loading chunk "+i+" failed.\n("+s+": "+p+")",f.name="ChunkLoadError",f.type=s,f.request=p,n[1](f)}},"chunk-"+i,i)}else e[i]=0},r.O.j=i=>0===e[i];var o=(i,u)=>{var f,d,[n,a,c]=u,l=0;if(n.some(p=>0!==e[p])){for(f in a)r.o(a,f)&&(r.m[f]=a[f]);if(c)var s=c(r)}for(i&&i(u);lcode{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #a6b5cc;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e6e9ed;--bs-table-border-color: #b8babe;--bs-table-striped-bg: #dbdde1;--bs-table-striped-color: #000;--bs-table-active-bg: #cfd2d5;--bs-table-active-color: #000;--bs-table-hover-bg: #d5d8db;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d0ede0;--bs-table-border-color: #a6beb3;--bs-table-striped-bg: #c6e1d5;--bs-table-striped-color: #000;--bs-table-active-bg: #bbd5ca;--bs-table-active-color: #000;--bs-table-hover-bg: #c0dbcf;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #d7dfeb;--bs-table-border-color: #acb2bc;--bs-table-striped-bg: #ccd4df;--bs-table-striped-color: #000;--bs-table-active-bg: #c2c9d4;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ced9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #ccc2a4;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f6ccd1;--bs-table-border-color: #c5a3a7;--bs-table-striped-bg: #eac2c7;--bs-table-striped-color: #000;--bs-table-active-bg: #ddb8bc;--bs-table-active-color: #000;--bs-table-hover-bg: #e4bdc1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #c6c7c8;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #4d5154;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2312a366' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2312a366' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23D0021B'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23D0021B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23D0021B'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23D0021B' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49, 132, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #8492A6;--bs-btn-border-color: #8492A6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #707c8d;--bs-btn-hover-border-color: #6a7585;--bs-btn-focus-shadow-rgb: 150, 162, 179;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6a7585;--bs-btn-active-border-color: #636e7d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #8492A6;--bs-btn-disabled-border-color: #8492A6}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #12a366;--bs-btn-border-color: #12a366;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0f8b57;--bs-btn-hover-border-color: #0e8252;--bs-btn-focus-shadow-rgb: 54, 177, 125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0e8252;--bs-btn-active-border-color: #0e7a4d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #12a366;--bs-btn-disabled-border-color: #12a366}.btn-info{--bs-btn-color: #fff;--bs-btn-bg: #375F9B;--bs-btn-border-color: #375F9B;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #2f5184;--bs-btn-hover-border-color: #2c4c7c;--bs-btn-focus-shadow-rgb: 85, 119, 170;--bs-btn-active-color: #fff;--bs-btn-active-bg: #2c4c7c;--bs-btn-active-border-color: #294774;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #375F9B;--bs-btn-disabled-border-color: #375F9B}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217, 164, 6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #D0021B;--bs-btn-border-color: #D0021B;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #b10217;--bs-btn-hover-border-color: #a60216;--bs-btn-focus-shadow-rgb: 215, 40, 61;--bs-btn-active-color: #fff;--bs-btn-active-bg: #a60216;--bs-btn-active-border-color: #9c0214;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #D0021B;--bs-btn-disabled-border-color: #D0021B}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13, 110, 253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #8492A6;--bs-btn-border-color: #8492A6;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #8492A6;--bs-btn-hover-border-color: #8492A6;--bs-btn-focus-shadow-rgb: 132, 146, 166;--bs-btn-active-color: #fff;--bs-btn-active-bg: #8492A6;--bs-btn-active-border-color: #8492A6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #8492A6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #8492A6;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #12a366;--bs-btn-border-color: #12a366;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #12a366;--bs-btn-hover-border-color: #12a366;--bs-btn-focus-shadow-rgb: 18, 163, 102;--bs-btn-active-color: #fff;--bs-btn-active-bg: #12a366;--bs-btn-active-border-color: #12a366;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #12a366;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #12a366;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #375F9B;--bs-btn-border-color: #375F9B;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #375F9B;--bs-btn-hover-border-color: #375F9B;--bs-btn-focus-shadow-rgb: 55, 95, 155;--bs-btn-active-color: #fff;--bs-btn-active-bg: #375F9B;--bs-btn-active-border-color: #375F9B;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #375F9B;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #375F9B;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255, 193, 7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #D0021B;--bs-btn-border-color: #D0021B;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #D0021B;--bs-btn-hover-border-color: #D0021B;--bs-btn-focus-shadow-rgb: 208, 2, 27;--bs-btn-active-color: #fff;--bs-btn-active-bg: #D0021B;--bs-btn-active-border-color: #D0021B;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #D0021B;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #D0021B;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: white;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#fff!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(10,88,202,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(106,117,133,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(106,117,133,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(14,130,82,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(14,130,82,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(44,76,124,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(44,76,124,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,205,57,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(166,2,22,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(166,2,22,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}.cursor-pointer{cursor:pointer!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.toast-header{background-color:transparent}.toast-body{background-color:#ffffffd9} diff --git a/angular18/karma.conf.js b/angular18/karma.conf.js new file mode 100644 index 0000000..f476dde --- /dev/null +++ b/angular18/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/easy-angular'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/angular18/package-lock.json b/angular18/package-lock.json new file mode 100644 index 0000000..0804b46 --- /dev/null +++ b/angular18/package-lock.json @@ -0,0 +1,12361 @@ +{ + "name": "easy-angular", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "easy-angular", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^18.0.1", + "@angular/common": "^18.0.1", + "@angular/compiler": "^18.0.1", + "@angular/core": "^18.0.1", + "@angular/forms": "^18.0.1", + "@angular/localize": "^18.0.1", + "@angular/platform-browser": "^18.0.1", + "@angular/platform-browser-dynamic": "^18.0.1", + "@angular/router": "^18.0.1", + "@caliatys/array-typer": "^1.0.0", + "@ng-bootstrap/ng-bootstrap": "^17.0.0", + "@ngx-translate/core": "^15.0.0", + "@ngx-translate/http-loader": "^8.0.0", + "@popperjs/core": "^2.11.8", + "angular-svg-icon": "^18.0.0", + "axios": "^1.6.7", + "bootstrap": "^5.3.3", + "rxjs": "~7.8.1", + "tslib": "^2.3.0", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^18.0.2", + "@angular/cli": "^18.0.2", + "@angular/compiler-cli": "^18.0.1", + "@types/jasmine": "~3.10.0", + "@types/node": "^12.11.1", + "jasmine-core": "~4.0.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.1.0", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "typescript": "~5.4.5" + } + }, + "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.1800.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1800.2.tgz", + "integrity": "sha512-PX7lCTAqWe9C40+fie+DAc8vhpGA+JgZKWWrMHUTV/iZx8RXx2X4xGQsqYu36p4i3MSfQdbn+0xLWGmjScPVOQ==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.0.2", + "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.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.0.2.tgz", + "integrity": "sha512-cQkTx7XaIPj6+DXo6wZmO4iY0hOOfPDnSN/+m84XpBW0tuPGxH7Z9B6wV+Uwcpm9HGPqzRA7VZyPsqbK860b0Q==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1800.2", + "@angular-devkit/build-webpack": "0.1800.2", + "@angular-devkit/core": "18.0.2", + "@angular/build": "18.0.2", + "@babel/core": "7.24.5", + "@babel/generator": "7.24.5", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.24.5", + "@babel/plugin-transform-async-generator-functions": "7.24.3", + "@babel/plugin-transform-async-to-generator": "7.24.1", + "@babel/plugin-transform-runtime": "7.24.3", + "@babel/preset-env": "7.24.5", + "@babel/runtime": "7.24.5", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "18.0.2", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.19", + "babel-loader": "9.1.3", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.21.5", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.22", + "css-loader": "7.1.1", + "esbuild-wasm": "0.21.3", + "fast-glob": "3.3.2", + "http-proxy-middleware": "3.0.0", + "https-proxy-agent": "7.0.4", + "inquirer": "9.2.22", + "jsonc-parser": "3.2.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.2.1", + "magic-string": "0.30.10", + "mini-css-extract-plugin": "2.9.0", + "mrmime": "2.0.0", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.5.0", + "postcss": "8.4.38", + "postcss-loader": "8.1.1", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.77.2", + "sass-loader": "14.2.1", + "semver": "7.6.2", + "source-map-loader": "5.0.0", + "source-map-support": "0.5.21", + "terser": "5.31.0", + "tree-kill": "1.2.2", + "tslib": "2.6.2", + "undici": "6.18.0", + "vite": "5.2.11", + "watchpack": "2.4.1", + "webpack": "5.91.0", + "webpack-dev-middleware": "7.2.1", + "webpack-dev-server": "5.0.4", + "webpack-merge": "5.10.0", + "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.21.3" + }, + "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.5" + }, + "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/@babel/core": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@types/node": { + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@angular-devkit/build-angular/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/@angular-devkit/build-angular/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/vite": { + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", + "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.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": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/vite/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1800.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1800.2.tgz", + "integrity": "sha512-CbTURBhZWzx+5KewS2Nkqy2rwBTFgDCvUwONGWuy1K68+85vOWUKqjkfvriHA+JkWN03w7FzWEtTfcOg0EzYkw==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1800.2", + "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.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.0.2.tgz", + "integrity": "sha512-QXcEdfmODc0rKblBerk30yw70fypIkFm6gQBLJgsshpwc+TMA+fuMLcPQebOTzKLtD2tNUkk/7SrWPQIGqeXaA==", + "dev": true, + "dependencies": { + "ajv": "8.13.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.2.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/core/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==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.0.2.tgz", + "integrity": "sha512-G9yGcoB67sH0eRNWoiQWNn2KwiI7sDasVscYPGKf1yo7JRiXmzX/LpfKRPsZTl+Bs0FItnwDInsqgMisK89/6g==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.0.2", + "jsonc-parser": "3.2.1", + "magic-string": "0.30.10", + "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.0.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.0.1.tgz", + "integrity": "sha512-QAY/oxfuFY2Bjr3foniWlLAiddXHu8879lZvXHt1NVOsiav+vD15IEEQsnuQbJPy/EHEnAlUh9UptB4zQIBp/Q==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "18.0.1" + } + }, + "node_modules/@angular/build": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.0.2.tgz", + "integrity": "sha512-iPPHdAJ3LiR8t/+39xjvrqMWcTmRrfphzKxXoIVDcswQjVQIk00EYuxinC6EVa7dSKDl1thk1MeCNZ9DIjaAvQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.1800.2", + "@babel/core": "7.24.5", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.24.5", + "@vitejs/plugin-basic-ssl": "1.1.0", + "ansi-colors": "4.1.3", + "browserslist": "^4.23.0", + "critters": "0.0.22", + "esbuild": "0.21.3", + "fast-glob": "3.3.2", + "https-proxy-agent": "7.0.4", + "inquirer": "9.2.22", + "lmdb": "3.0.8", + "magic-string": "0.30.10", + "mrmime": "2.0.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "4.0.2", + "piscina": "4.5.0", + "sass": "1.77.2", + "semver": "7.6.2", + "undici": "6.18.0", + "vite": "5.2.11", + "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.5" + }, + "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/build/node_modules/@babel/core": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", + "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.24.5", + "@babel/helpers": "^7.24.5", + "@babel/parser": "^7.24.5", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.5", + "@babel/types": "^7.24.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/build/node_modules/@types/node": { + "version": "20.14.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", + "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@angular/build/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/@angular/build/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@angular/build/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/build/node_modules/vite": { + "version": "5.2.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", + "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.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": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@angular/build/node_modules/vite/node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/@angular/cli": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.0.2.tgz", + "integrity": "sha512-shrxMD1bcWWh7WpBN3KTV+Lt8E62gURSUFhs6kdGLepMDif8LPAv45+hpt8SBU9VfQuL6AHa4cW8uDL9BKGlYA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1800.2", + "@angular-devkit/core": "18.0.2", + "@angular-devkit/schematics": "18.0.2", + "@schematics/angular": "18.0.2", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.1.2", + "inquirer": "9.2.22", + "jsonc-parser": "3.2.1", + "npm-package-arg": "11.0.2", + "npm-pick-manifest": "9.0.1", + "ora": "5.4.1", + "pacote": "18.0.6", + "resolve": "1.22.8", + "semver": "7.6.2", + "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/cli/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/common": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.0.1.tgz", + "integrity": "sha512-iADQC5m4fvk+VNXEoU1KR93b0eG218/GuNdzUNVJHcjxdFxPshKk5fiaGSosUCxXPRQOxDKzmS9EDang87E/Ew==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "18.0.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.0.1.tgz", + "integrity": "sha512-zyG/ifCtN0drAuwz0oV6LtzTiDREsM1Ay7eJW9wTvp3NCv06goHLtHXX12eFfZQWJViBv924lyRDSWdZN7r3GQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/core": "18.0.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.0.1.tgz", + "integrity": "sha512-Aoz70+/o8R2lG2EGDAYbj6yu2B7kqa/9loYEwG0fECJTtXoRBP+bEGpUxMmxOb59tMDnbIhBHmNPPEQVTXvgSQ==", + "dependencies": { + "@babel/core": "7.24.4", + "@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.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/compiler": "18.0.1", + "typescript": ">=5.4 <5.5" + } + }, + "node_modules/@angular/core": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.0.1.tgz", + "integrity": "sha512-Db1livvugoLdLsWww5IqUS5v+yUN7/5Rj0trZv9BgxIuoNtoipfLqKHwZWpumH3yI5Ucu+UH9zZ1mlGyF0Kexw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.14.0" + } + }, + "node_modules/@angular/forms": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.0.1.tgz", + "integrity": "sha512-j1nUzwnZHO/BRXK0joQbAV10JWxeRVKmPzIaDulY2o28Er1jVKyw2T8EwI+xSvBbAqyJyaAd+ysWUhm3FfH+GA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "18.0.1", + "@angular/core": "18.0.1", + "@angular/platform-browser": "18.0.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/localize": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-18.0.1.tgz", + "integrity": "sha512-SaAe/GvI76hdI8XWFpkwPgXgQPafECJOFCOKM1N6TNNrjxfyDkA5jdd3cYJoMTkKPHSTETL1g6m7HIEZr/LIJg==", + "dependencies": { + "@babel/core": "7.24.4", + "@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.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/compiler": "18.0.1", + "@angular/compiler-cli": "18.0.1" + } + }, + "node_modules/@angular/platform-browser": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.0.1.tgz", + "integrity": "sha512-rQUsOxZxiwSPvyHdne60IKIGsvFoVc1rO4mDyXU+9sCCLmPKHzNyEzp7vybTZeiqa3k6v3sV/bfHWwrRzmvenw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/animations": "18.0.1", + "@angular/common": "18.0.1", + "@angular/core": "18.0.1" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.0.1.tgz", + "integrity": "sha512-lzjq7HjigGxO5oh5Sw0Vxa3mAVidYHpHFQr46/OSl9T5jLpStcjEqK0xcfQz9bf2hV+0qFfMqmd2k0XQl7feqg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "18.0.1", + "@angular/compiler": "18.0.1", + "@angular/core": "18.0.1", + "@angular/platform-browser": "18.0.1" + } + }, + "node_modules/@angular/router": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.0.1.tgz", + "integrity": "sha512-PapdvfATjRZI0cJ/RH8n/ixHDHa4HIBaOMwhgU73InU9t6NIhBXg6aRECYV2qGt7NtpLYSHmG5Z1Ws86rm5Tyw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^18.13.0 || >=20.9.0" + }, + "peerDependencies": { + "@angular/common": "18.0.1", + "@angular/core": "18.0.1", + "@angular/platform-browser": "18.0.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.6.tgz", + "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz", + "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "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.24.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", + "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "dependencies": { + "@babel/types": "^7.24.5", + "@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.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.6.tgz", + "integrity": "sha512-+wnfqc5uHiMYtvRX7qu80Toef8BXeh4HHR1SPeonGb1SKPniNEd4a/nlaJJMv/OIEYvIVavvo0yR7u10Gqz0Iw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", + "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "dependencies": { + "@babel/compat-data": "^7.24.6", + "@babel/helper-validator-option": "^7.24.6", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.6.tgz", + "integrity": "sha512-djsosdPJVZE6Vsw3kk7IPRWethP94WHGOhQTc67SNXE0ZzMhHgALw8iGmYS0TD1bbMM0VDROy43od7/hN6WYcA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-member-expression-to-functions": "^7.24.6", + "@babel/helper-optimise-call-expression": "^7.24.6", + "@babel/helper-replace-supers": "^7.24.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "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/@babel/helper-annotate-as-pure": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz", + "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.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.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.6.tgz", + "integrity": "sha512-C875lFBIWWwyv6MHZUG9HmRrlTDgOsLWZfYR0nW69gaKJNe0/Mpxx5r0EID2ZdHQkdUmQo2t0uNckTL08/1BgA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.6", + "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/@babel/helper-annotate-as-pure": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz", + "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.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-environment-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.6.tgz", + "integrity": "sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", + "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", + "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-module-imports": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.6.tgz", + "integrity": "sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.6.tgz", + "integrity": "sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.6.tgz", + "integrity": "sha512-1Qursq9ArRZPAMOZf/nuzVW8HgJLkTB9y9LfP4lW2MVp4e9WkLJDovfKBxoDcCk6VuzIxyqWHyBoaCtSRP10yg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-wrap-function": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz", + "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.6.tgz", + "integrity": "sha512-mRhfPwDqDpba8o1F8ESxsEkJMQkUF8ZIWrAc0FtWhxnjfextxMWxr22RtFizxxSYLjVHDeMgVsRq8BBZR2ikJQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-member-expression-to-functions": "^7.24.6", + "@babel/helper-optimise-call-expression": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", + "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.6.tgz", + "integrity": "sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", + "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", + "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.6.tgz", + "integrity": "sha512-f1JLrlw/jbiNfxvdrfBgio/gRBk3yTAEJWirpAkiJG2Hb22E7cEYKHWo0dFPTv/niPovzIdPdEDetrv6tC6gPQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.24.6", + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.6.tgz", + "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.6.tgz", + "integrity": "sha512-bYndrJ6Ph6Ar+GaB5VAc0JPoP80bQCm4qon6JEzXfRl5QZyQ8Ur1K6k7htxWmPA5z+k7JQvaMUrtXlqclWYzKw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "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.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.6.tgz", + "integrity": "sha512-iVuhb6poq5ikqRq2XWU6OQ+R5o9wF+r/or9CeUyovgptz0UlnK4/seOQ1Istu/XybYjAhQv1FRSSfHHufIku5Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.6.tgz", + "integrity": "sha512-c8TER5xMDYzzFcGqOEp9l4hvB7dcbhcGjcLVwxWfe4P5DOafdwjsBJZKsmv+o3aXh7NhopvayQIovHrh2zSRUQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6", + "@babel/plugin-transform-optional-chaining": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.6.tgz", + "integrity": "sha512-z8zEjYmwBUHN/pCF3NuWBhHQjJCrd33qAi8MgANfMrAvn72k2cImT8VjK9LJFu4ysOLJqhfkYYb3MvwANRUNZQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "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.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.6.tgz", + "integrity": "sha512-BE6o2BogJKJImTmGpkmOic4V0hlRRxVtzqxiSPa8TIFxyhi4EFjHm08nq1M4STK4RytuLMgnSz0/wfflvGFNOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.6.tgz", + "integrity": "sha512-D+CfsVZousPXIdudSII7RGy52+dYRtbyKAZcvtQKq/NpsivyMVduepzcLqG5pMBugtMdedxdC8Ramdpcne9ZWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.6.tgz", + "integrity": "sha512-jSSSDt4ZidNMggcLx8SaKsbGNEfIl0PHx/4mFEulorE7bpYLbN0d3pDW3eJ7Y5Z3yPhy3L3NaPCYyTUY7TuugQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz", + "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz", + "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.1", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.6.tgz", + "integrity": "sha512-XNW7jolYHW9CwORrZgA/97tL/k05qe/HL0z/qqJq1mdWhwwCM6D4BJBV7wAz9HgFziN5dTOG31znkVIzwxv+vw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.6.tgz", + "integrity": "sha512-S/t1Xh4ehW7sGA7c1j/hiOBLnEYCp/c2sEG4ZkL8kI1xX9tW2pqJTCHKtdhe/jHKt8nG0pFCrDHUXd4DvjHS9w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.6.tgz", + "integrity": "sha512-j6dZ0Z2Z2slWLR3kt9aOmSIrBvnntWjMDN/TVcMPxhXMLmJVqX605CBRlcGI4b32GMbfifTEsdEjGjiE+j/c3A==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.6.tgz", + "integrity": "sha512-1QSRfoPI9RoLRa8Mnakc6v3e0gJxiZQTYrMfLn+mD0sz5+ndSzwymp2hDcYJTyT0MOn0yuWzj8phlIvO72gTHA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.6.tgz", + "integrity": "sha512-+fN+NO2gh8JtRmDSOB6gaCVo36ha8kfCW1nMq2Gc0DABln0VcHN4PrALDvF5/diLzIRKptC7z/d7Lp64zk92Fg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.6", + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-replace-supers": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz", + "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.6.tgz", + "integrity": "sha512-cRzPobcfRP0ZtuIEkA8QzghoUpSB3X3qSH5W2+FzG+VjWbJXExtx0nbRqwumdBN1x/ot2SlTNQLfBCnPdzp6kg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/template": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.6.tgz", + "integrity": "sha512-YLW6AE5LQpk5npNXL7i/O+U9CE4XsBCuRPgyjl1EICZYKmcitV+ayuuUGMJm2lC1WWjXYszeTnIxF/dq/GhIZQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.6.tgz", + "integrity": "sha512-rCXPnSEKvkm/EjzOtLoGvKseK+dS4kZwx1HexO3BtRtgL0fQ34awHn34aeSHuXtZY2F8a1X8xqBBPRtOxDVmcA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.6.tgz", + "integrity": "sha512-/8Odwp/aVkZwPFJMllSbawhDAO3UJi65foB00HYnK/uXvvCPm0TAXSByjz1mpRmp0q6oX2SIxpkUOpPFHk7FLA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.6.tgz", + "integrity": "sha512-vpq8SSLRTBLOHUZHSnBqVo0AKX3PBaoPs2vVzYVWslXDTDIpwAcCDtfhUcHSQQoYoUvcFPTdC8TZYXu9ZnLT/w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.6.tgz", + "integrity": "sha512-EemYpHtmz0lHE7hxxxYEuTYOOBZ43WkDgZ4arQ4r+VX9QHuNZC+WH3wUWmRNvR8ECpTRne29aZV6XO22qpOtdA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.6.tgz", + "integrity": "sha512-inXaTM1SVrIxCkIJ5gqWiozHfFMStuGbGJAxZFBoHcRRdDP0ySLb3jH6JOwmfiinPwyMZqMBX+7NBDCO4z0NSA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.6.tgz", + "integrity": "sha512-n3Sf72TnqK4nw/jziSqEl1qaWPbCRw2CziHH+jdRYvw4J6yeCzsj4jdw8hIntOEeDGTmHVe2w4MVL44PN0GMzg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.6.tgz", + "integrity": "sha512-sOajCu6V0P1KPljWHKiDq6ymgqB+vfo3isUS4McqW1DZtvSVU2v/wuMhmRmkg3sFoq6GMaUUf8W4WtoSLkOV/Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.6.tgz", + "integrity": "sha512-Uvgd9p2gUnzYJxVdBLcU0KurF8aVhkmVyMKW4MIY1/BByvs3EBpv45q01o7pRTVmTvtQq5zDlytP3dcUgm7v9w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.6.tgz", + "integrity": "sha512-f2wHfR2HF6yMj+y+/y07+SLqnOSwRp8KYLpQKOzS58XLVlULhXbiYcygfXQxJlMbhII9+yXDwOUFLf60/TL5tw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.6.tgz", + "integrity": "sha512-EKaWvnezBCMkRIHxMJSIIylzhqK09YpiJtDbr2wsXTwnO0TxyjMUkaw4RlFIZMIS0iDj0KyIg7H7XCguHu/YDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.6.tgz", + "integrity": "sha512-9g8iV146szUo5GWgXpRbq/GALTnY+WnNuRTuRHWWFfWGbP9ukRL0aO/jpu9dmOPikclkxnNsjY8/gsWl6bmZJQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.6.tgz", + "integrity": "sha512-eAGogjZgcwqAxhyFgqghvoHRr+EYRQPFjUXrTYKBRb5qPnAVxOOglaxc4/byHqjvq/bqO2F3/CGwTHsgKJYHhQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.6.tgz", + "integrity": "sha512-JEV8l3MHdmmdb7S7Cmx6rbNEjRCgTQMZxllveHO0mx6uiclB0NflCawlQQ6+o5ZrwjUBYPzHm2XoK4wqGVUFuw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.6.tgz", + "integrity": "sha512-xg1Z0J5JVYxtpX954XqaaAT6NpAY6LtZXvYFCJmGFJWwtlz2EmJoR8LycFRGNE8dBKizGWkGQZGegtkV8y8s+w==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.6.tgz", + "integrity": "sha512-esRCC/KsSEUvrSjv5rFYnjZI6qv4R1e/iHQrqwbZIoRJqk7xCvEUiN7L1XrmW5QSmQe3n1XD88wbgDTWLbVSyg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.6.tgz", + "integrity": "sha512-6DneiCiu91wm3YiNIGDWZsl6GfTTbspuj/toTEqLh9d4cx50UIzSdg+T96p8DuT7aJOBRhFyaE9ZvTHkXrXr6Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.6.tgz", + "integrity": "sha512-f8liz9JG2Va8A4J5ZBuaSdwfPqN6axfWRK+y66fjKYbwf9VBLuq4WxtinhJhvp1w6lamKUwLG0slK2RxqFgvHA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.6.tgz", + "integrity": "sha512-+QlAiZBMsBK5NqrBWFXCYeXyiU1y7BQ/OYaiPAcQJMomn5Tyg+r5WuVtyEuvTbpV7L25ZSLfE+2E9ywj4FD48A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.6.tgz", + "integrity": "sha512-6voawq8T25Jvvnc4/rXcWZQKKxUNZcKMS8ZNrjxQqoRFernJJKjE3s18Qo6VFaatG5aiX5JV1oPD7DbJhn0a4Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.6.tgz", + "integrity": "sha512-OKmi5wiMoRW5Smttne7BwHM8s/fb5JFs+bVGNSeHWzwZkWXWValR1M30jyXo1s/RaqgwwhEC62u4rFH/FBcBPg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.6.tgz", + "integrity": "sha512-N/C76ihFKlZgKfdkEYKtaRUtXZAgK7sOY4h2qrbVbVTXPrKGIi8aww5WGe/+Wmg8onn8sr2ut6FXlsbu/j6JHg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-replace-supers": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.6.tgz", + "integrity": "sha512-L5pZ+b3O1mSzJ71HmxSCmTVd03VOT2GXOigug6vDYJzE5awLI7P1g0wFcdmGuwSDSrQ0L2rDOe/hHws8J1rv3w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.6.tgz", + "integrity": "sha512-cHbqF6l1QP11OkYTYQ+hhVx1E017O5ZcSPXk9oODpqhcAD1htsWG2NpHrrhthEO2qZomLK0FXS+u7NfrkF5aOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6", + "@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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.6.tgz", + "integrity": "sha512-ST7guE8vLV+vI70wmAxuZpIKzVjvFX9Qs8bl5w6tN/6gOypPWUmMQL2p7LJz5E63vEGrDhAiYetniJFyBH1RkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.6.tgz", + "integrity": "sha512-T9LtDI0BgwXOzyXrvgLTT8DFjCC/XgWLjflczTLXyvxbnSR/gpv0hbmzlHE/kmh9nOvlygbamLKRo6Op4yB6aw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.6.tgz", + "integrity": "sha512-Qu/ypFxCY5NkAnEhCF86Mvg3NSabKsh/TPpBVswEdkGl7+FbsYHy1ziRqJpwGH4thBdQHh8zx+z7vMYmcJ7iaQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.6", + "@babel/helper-create-class-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.6.tgz", + "integrity": "sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.6.tgz", + "integrity": "sha512-oARaglxhRsN18OYsnPTpb8TcKQWDYNsPNmTnx5++WOAsUJ0cSC/FZVlIJCKvPbU4yn/UXsS0551CFKJhN0CaMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.6.tgz", + "integrity": "sha512-SMDxO95I8WXRtXhTAc8t/NFQUT7VYbIWwJCJgEli9ml4MhqUMh4S6hxgH6SmAC3eAQNWCDJFxcFeEt9w2sDdXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.6.tgz", + "integrity": "sha512-DcrgFXRRlK64dGE0ZFBPD5egM2uM8mgfrvTMOSB2yKzOtjpGegVYkzh3s1zZg1bBck3nkXiaOamJUqK3Syk+4A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz", + "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "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.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.6.tgz", + "integrity": "sha512-xnEUvHSMr9eOWS5Al2YPfc32ten7CXdH7Zwyyk7IqITg4nX61oHj+GxpNvl+y5JHjfN3KXE2IV55wAWowBYMVw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.6.tgz", + "integrity": "sha512-h/2j7oIUDjS+ULsIrNZ6/TKG97FgmEk1PXryk/HQq6op4XUUUwif2f69fJrzK0wza2zjCS1xhXmouACaWV5uPA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.6.tgz", + "integrity": "sha512-fN8OcTLfGmYv7FnDrsjodYBo1DhPL3Pze/9mIIE2MGCT1KgADYIOD7rEglpLHZj8PZlC/JFX5WcD+85FLAQusw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.6.tgz", + "integrity": "sha512-BJbEqJIcKwrqUP+KfUIkxz3q8VzXe2R8Wv8TaNgO1cx+nNavxn/2+H8kp9tgFSOL6wYPPEgFvU6IKS4qoGqhmg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.6.tgz", + "integrity": "sha512-IshCXQ+G9JIFJI7bUpxTE/oA2lgVLAIK8q1KdJNoPXOpvRaNjMySGuvLfBw/Xi2/1lLo953uE8hyYSDW3TSYig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.6.tgz", + "integrity": "sha512-bKl3xxcPbkQQo5eX9LjjDpU2xYHeEeNQbOhj0iPvetSzA+Tu9q/o5lujF4Sek60CM6MgYvOS/DJuwGbiEYAnLw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.6.tgz", + "integrity": "sha512-8EIgImzVUxy15cZiPii9GvLZwsy7Vxc+8meSlR3cXFmBIl5W5Tn9LGBf7CDKkHj4uVfNXCJB8RsVfnmY61iedA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.6.tgz", + "integrity": "sha512-pssN6ExsvxaKU638qcWb81RrvvgZom3jDgU/r5xFZ7TONkZGFf4MhI2ltMb8OcQWhHyxgIavEU+hgqtbKOmsPA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.6.tgz", + "integrity": "sha512-quiMsb28oXWIDK0gXLALOJRXLgICLiulqdZGOaPPd0vRT7fQp74NtdADAVu+D8s00C+0Xs0MxVP0VKF/sZEUgw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.6", + "@babel/helper-plugin-utils": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.24.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.5.tgz", + "integrity": "sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.4", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.24.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1", + "@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.1", + "@babel/plugin-syntax-import-attributes": "^7.24.1", + "@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.1", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.24.1", + "@babel/plugin-transform-block-scoped-functions": "^7.24.1", + "@babel/plugin-transform-block-scoping": "^7.24.5", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-class-static-block": "^7.24.4", + "@babel/plugin-transform-classes": "^7.24.5", + "@babel/plugin-transform-computed-properties": "^7.24.1", + "@babel/plugin-transform-destructuring": "^7.24.5", + "@babel/plugin-transform-dotall-regex": "^7.24.1", + "@babel/plugin-transform-duplicate-keys": "^7.24.1", + "@babel/plugin-transform-dynamic-import": "^7.24.1", + "@babel/plugin-transform-exponentiation-operator": "^7.24.1", + "@babel/plugin-transform-export-namespace-from": "^7.24.1", + "@babel/plugin-transform-for-of": "^7.24.1", + "@babel/plugin-transform-function-name": "^7.24.1", + "@babel/plugin-transform-json-strings": "^7.24.1", + "@babel/plugin-transform-literals": "^7.24.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-member-expression-literals": "^7.24.1", + "@babel/plugin-transform-modules-amd": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/plugin-transform-modules-systemjs": "^7.24.1", + "@babel/plugin-transform-modules-umd": "^7.24.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.24.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", + "@babel/plugin-transform-object-super": "^7.24.1", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.5", + "@babel/plugin-transform-parameters": "^7.24.5", + "@babel/plugin-transform-private-methods": "^7.24.1", + "@babel/plugin-transform-private-property-in-object": "^7.24.5", + "@babel/plugin-transform-property-literals": "^7.24.1", + "@babel/plugin-transform-regenerator": "^7.24.1", + "@babel/plugin-transform-reserved-words": "^7.24.1", + "@babel/plugin-transform-shorthand-properties": "^7.24.1", + "@babel/plugin-transform-spread": "^7.24.1", + "@babel/plugin-transform-sticky-regex": "^7.24.1", + "@babel/plugin-transform-template-literals": "^7.24.1", + "@babel/plugin-transform-typeof-symbol": "^7.24.5", + "@babel/plugin-transform-unicode-escapes": "^7.24.1", + "@babel/plugin-transform-unicode-property-regex": "^7.24.1", + "@babel/plugin-transform-unicode-regex": "^7.24.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.1", + "@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.31.0", + "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.24.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", + "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz", + "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dependencies": { + "@babel/types": "^7.24.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/traverse/node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@caliatys/array-typer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@caliatys/array-typer/-/array-typer-1.0.0.tgz", + "integrity": "sha512-TPOM2iJLpxbzpZCeGyQRJiM7dCxntK2jD/vMYJsBbIlrgSUoXh7IXotOKFfE64u7L0fpE5c99vP3nFH5kCP7gQ==" + }, + "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.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.3.tgz", + "integrity": "sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.3.tgz", + "integrity": "sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==", + "dev": true, + "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.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "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/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.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.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.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.0.4", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.0.4.tgz", + "integrity": "sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==", + "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.1.3", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.1.3.tgz", + "integrity": "sha512-g//kkF4kOwUjemValCtOc/xiYzmwMRmWq3Bn+YnzOzuZLHq2PpMOxxIayN3cKbo7Ko2Np65t6D9H81IvXbXhqg==", + "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/@ljharb/through": { + "version": "2.3.13", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.13.tgz", + "integrity": "sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.8.tgz", + "integrity": "sha512-lDLGRIMqdwYD39vinwNqqZUxCdL2m2iIdn+0HyQgIHEiT0g5rIAlzaMKzoGWon5NQumfxXFk9y0DarttkR7C1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@ng-bootstrap/ng-bootstrap": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-17.0.0.tgz", + "integrity": "sha512-hTbBtozJlpevF1RO6J2adCoXiAkMTPV3wmXIyK05dVha4VsKjHibgaL6YldToKoh6ElQnIYkPEIJHX9z5EtyMw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^18.0.0", + "@angular/core": "^18.0.0", + "@angular/forms": "^18.0.0", + "@angular/localize": "^18.0.0", + "@popperjs/core": "^2.11.8", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@ngtools/webpack": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.0.2.tgz", + "integrity": "sha512-I+ZNFGBnykUWBwGPCXy6m9R2fIX/ovnAUHylvThYd/M+FUfc+Z/3DpKEUBYIOLVCLNZR5nuK0t9QLlazYhWFgg==", + "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.5", + "webpack": "^5.54.0" + } + }, + "node_modules/@ngx-translate/core": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-15.0.0.tgz", + "integrity": "sha512-Am5uiuR0bOOxyoercDnAA3rJVizo4RRqJHo8N3RqJ+XfzVP/I845yEnMADykOHvM6HkVm4SZSnJBOiz0Anx5BA==", + "engines": { + "node": "^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0", + "rxjs": "^6.5.5 || ^7.4.0" + } + }, + "node_modules/@ngx-translate/http-loader": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-8.0.0.tgz", + "integrity": "sha512-SFMsdUcmHF5OdZkL1CHEoSAwbP5EbAOPTLLboOCRRoOg21P4GJx+51jxGdJeGve6LSKLf4Pay7BkTwmE6vxYlg==", + "engines": { + "node": "^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0", + "@angular/core": ">=16.0.0", + "@ngx-translate/core": ">=15.0.0", + "rxjs": "^6.5.5 || ^7.4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@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.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "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.7", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.7.tgz", + "integrity": "sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "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.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", + "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "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.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.0.tgz", + "integrity": "sha512-SEjCPAVHWYUIQR+Yn03kJmrJjZDtJLYpj300m3HV9OTRZNpC5YpbMsM3eTkECyT4aWj8lDr9WeY6TWefpubtYQ==", + "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/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.0.2.tgz", + "integrity": "sha512-qkJs1oxHtneJ6QxDKpxNyneXGDM9SKVj+Bgi8xUAU3FEzpsYmE/aW3MfwYHOZl0pDBO8c2raqLvlyl3dGP6/Gg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "18.0.2", + "@angular-devkit/schematics": "18.0.2", + "jsonc-parser": "3.2.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/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "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.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "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/eslint": { + "version": "8.56.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", + "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz", + "integrity": "sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "3.10.18", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.10.18.tgz", + "integrity": "sha512-jOk52a1Kz+1oU5fNWwAcNe64/GsE7r/Q6ronwDox0D3ETo/cr4ICMQyeXrj7G6FPW1n8YjRoAZA2F0XBr6GicQ==", + "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/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "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.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "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/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/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@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.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/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.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-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/angular-svg-icon": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/angular-svg-icon/-/angular-svg-icon-18.0.0.tgz", + "integrity": "sha512-EUTrAYhlNBHxnIekmGcPnIN64wcF+osSWLYi9RB6LSuH1nYL2e5RSPBl1skgZo/JzcphjCEBzOt8SClRHiTWqQ==", + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/common": ">=18.0.0", + "@angular/core": ">=18.0.0", + "rxjs": ">=6.6.3" + } + }, + "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": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "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.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.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-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-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.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/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.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/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/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.3.tgz", + "integrity": "sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==", + "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.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001628", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001628.tgz", + "integrity": "sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==", + "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.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/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": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + }, + "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/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==", + "dev": true, + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "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": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.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.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.0" + }, + "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/cosmiconfig/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/cosmiconfig/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/critters": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.22.tgz", + "integrity": "sha512-NU7DEcQZM2Dy8XTKFHxtdnIM/drE312j2T4PCVaSUcS0oBeyT/NImpRw/Ap0zOr/1SE7SgPK9tGPg1WK/sVakw==", + "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.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.1.tgz", + "integrity": "sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==", + "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.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/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==", + "dev": true, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "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/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.682", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.682.tgz", + "integrity": "sha512-oCglfs8yYKs9RQjJFOHonSnhikPK3y+0SvSYc/YpYJV//6rqc0/hbwd0c7vgK4vrl6y2gJAwjkhkSGWK+z4KRA==" + }, + "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/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.5.5", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", + "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "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.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", + "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "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/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.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.3.tgz", + "integrity": "sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.3", + "@esbuild/android-arm": "0.21.3", + "@esbuild/android-arm64": "0.21.3", + "@esbuild/android-x64": "0.21.3", + "@esbuild/darwin-arm64": "0.21.3", + "@esbuild/darwin-x64": "0.21.3", + "@esbuild/freebsd-arm64": "0.21.3", + "@esbuild/freebsd-x64": "0.21.3", + "@esbuild/linux-arm": "0.21.3", + "@esbuild/linux-arm64": "0.21.3", + "@esbuild/linux-ia32": "0.21.3", + "@esbuild/linux-loong64": "0.21.3", + "@esbuild/linux-mips64el": "0.21.3", + "@esbuild/linux-ppc64": "0.21.3", + "@esbuild/linux-riscv64": "0.21.3", + "@esbuild/linux-s390x": "0.21.3", + "@esbuild/linux-x64": "0.21.3", + "@esbuild/netbsd-x64": "0.21.3", + "@esbuild/openbsd-x64": "0.21.3", + "@esbuild/sunos-x64": "0.21.3", + "@esbuild/win32-arm64": "0.21.3", + "@esbuild/win32-ia32": "0.21.3", + "@esbuild/win32-x64": "0.21.3" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.21.3.tgz", + "integrity": "sha512-DMOV+eeVra0yVq3XIojfczdEQsz+RiFnpEj7lqs8Gux9mlTpN7yIbw0a4KzLspn0Uhw6UVEH3nUAidSqc/rcQg==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "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/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/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/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.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/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/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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/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": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "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/foreground-child/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/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "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-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "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.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "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.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/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.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "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/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.2.tgz", + "integrity": "sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer": { + "version": "9.2.22", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.22.tgz", + "integrity": "sha512-SqLLa/Oe5rZUagTR9z+Zd6izyatHglbmbvVofo1KzuVB54YHleWzeHNLoR7FOICGOeQSqeLh1cordb3MzhGcEw==", + "dev": true, + "dependencies": { + "@inquirer/figures": "^1.0.2", + "@ljharb/through": "^2.3.13", + "ansi-escapes": "^4.3.2", + "chalk": "^5.3.0", + "cli-cursor": "^3.1.0", + "cli-width": "^4.1.0", + "external-editor": "^3.1.0", + "lodash": "^4.17.21", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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/ip-address/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/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.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-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-inside-container/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-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "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==", + "dev": true, + "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": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/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": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-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.3.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.3.0.tgz", + "integrity": "sha512-glPiBfKguqA7v8JsXO3iLjJWZ9FV1vNpoI0I9hI9Mnk5yetO9uPLSpiCEmiVijAssv2f54HpvtzvAHfhPieiDQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.0.1.tgz", + "integrity": "sha512-w+JDABxQCkxbGGxg+a2hUVZyqUS2JKngvIyLGu/xiw2ZwgsoSB0iiecLQsQORSeaKQ6iGrCyWG86RfNDuoA7Lg==", + "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.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.1.tgz", + "integrity": "sha512-KMXpzEJMsOFyRj6ZpDTnnlJrdr9umUY+eut5vlRvjVixohitnRFIRTFw9MEu9zPlBxTHZo6xD5ftKYiQZuJYQw==", + "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": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "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/karma": { + "version": "6.3.20", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz", + "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==", + "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.4.1", + "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.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.1.1.tgz", + "integrity": "sha512-oxeOSBVK/jdZsiX03LhHQkO4eISSQb5GbHi6Nsw3Mw7G4u6yUgacBAftnO7q+emPBLMsrNbz1pGIrj+Jb3z17A==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^4.0.3", + "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": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.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": "4.0.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz", + "integrity": "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==", + "dev": true, + "dependencies": { + "jasmine-core": "^3.6.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "karma": "*" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.1" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "3.99.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.1.tgz", + "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", + "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/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/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "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.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/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/lmdb": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.8.tgz", + "integrity": "sha512-9rp8JT4jPhCRJUL7vRARa2N06OLSYzLwQsEkhC6Qu5XbcLyM/XBLMzDlgS/K7l7c5CdURLdDk9uE+hPFIogHTQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "msgpackr": "^1.9.9", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.1.1", + "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.8", + "@lmdb/lmdb-darwin-x64": "3.0.8", + "@lmdb/lmdb-linux-arm": "3.0.8", + "@lmdb/lmdb-linux-arm64": "3.0.8", + "@lmdb/lmdb-linux-x64": "3.0.8", + "@lmdb/lmdb-win32-x64": "3.0.8" + } + }, + "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.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "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/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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "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.9.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.9.2.tgz", + "integrity": "sha512-f16coDZlTG1jskq3mxarwB+fGRrd0uXWt+o1WIhRfOwbXQZqUDsTVxQBFK9JjRQHblg8eAG2JSbprDXKjc7ijQ==", + "dev": true, + "dependencies": { + "@jsonjoy.com/json-pack": "^1.0.3", + "@jsonjoy.com/util": "^1.1.2", + "sonic-forest": "^1.0.0", + "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.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/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-json-stream/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.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/msgpackr": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.2.tgz", + "integrity": "sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.0.7" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + } + }, + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "dev": true, + "optional": true, + "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/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/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.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.1.0.tgz", + "integrity": "sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==", + "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": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz", + "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==", + "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.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "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.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "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.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "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.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.2.tgz", + "integrity": "sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==", + "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.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.1.tgz", + "integrity": "sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==", + "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.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-17.0.1.tgz", + "integrity": "sha512-fLu9MTdZTlJAHUek/VLklE6EpIiP3VZpTiuN7OOMCt2Sd67NCpSEetMaxHHEZiZxllp8ZLsUpvbEszqTFEc+wA==", + "dev": true, + "dependencies": { + "@npmcli/redact": "^2.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "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.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "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==", + "dev": true, + "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==", + "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/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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-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/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-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.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "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.5.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.5.0.tgz", + "integrity": "sha512-iBaLWI56PFP81cfBSomWTmhOo9W2/yhIOL+Tk8O1vBCpK39cM0tGxB+wgYjG31qq4ohGvysfXSdnj8h7g4rZxA==", + "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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "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.0", + "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.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "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/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "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": "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/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.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "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==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "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.1", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", + "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==" + }, + "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.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-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": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "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==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "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.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.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-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "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==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.77.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz", + "integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==", + "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": "14.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.2.1.tgz", + "integrity": "sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==", + "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.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "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/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/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.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "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.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/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": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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.7.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", + "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.2", + "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.3", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", + "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/sonic-forest": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sonic-forest/-/sonic-forest-1.0.3.tgz", + "integrity": "sha512-dtwajos6IWMEWXdEbW1IkEkyL2gztCAgDplRIX+OT5aRKnEd5e7r7YCxRgXZdhRP1FBdOBf8axeTPhzDv8T4wQ==", + "dev": true, + "dependencies": { + "tree-dump": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "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.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "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.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-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/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.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", + "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", + "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/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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.1", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.1.tgz", + "integrity": "sha512-WCkcRBVPSlHHq1dc/px9iOfqklvzCbdRwvlNfxGZsrHqf6aZttfPrd7DJTt6oR10dwUfpFFQeVTkPbBIZxX/YA==", + "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.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", + "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", + "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" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/undici": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.18.0.tgz", + "integrity": "sha512-nT8jjv/fE9Et1ilR6QoW8ingRTY2Pp4l2RUrdzV5Yz35RJDrtPc1DXvuNqcpsJSGIRHFdt3YKKktTzJA6r0fTA==", + "dev": true, + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "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.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "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/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.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/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/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==", + "dev": true, + "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.91.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", + "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.16.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz", + "integrity": "sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==", + "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/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/webpack-dev-server/node_modules/glob": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", + "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "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/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/webpack-dev-server/node_modules/minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "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/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/webpack-dev-server/node_modules/rimraf": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.7.tgz", + "integrity": "sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/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/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/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/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zone.js": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.4.tgz", + "integrity": "sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==", + "dependencies": { + "tslib": "^2.3.0" + } + } + } +} diff --git a/angular18/package.json b/angular18/package.json new file mode 100644 index 0000000..89c3fbb --- /dev/null +++ b/angular18/package.json @@ -0,0 +1,49 @@ +{ + "name": "easy-angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "add-page": "ng g m pages/page-name --routing && ng g component pages/page-name --skip-tests" + }, + "private": true, + "dependencies": { + "@angular/animations": "^18.0.1", + "@angular/common": "^18.0.1", + "@angular/compiler": "^18.0.1", + "@angular/core": "^18.0.1", + "@angular/forms": "^18.0.1", + "@angular/localize": "^18.0.1", + "@angular/platform-browser": "^18.0.1", + "@angular/platform-browser-dynamic": "^18.0.1", + "@angular/router": "^18.0.1", + "@caliatys/array-typer": "^1.0.0", + "@ng-bootstrap/ng-bootstrap": "^17.0.0", + "@ngx-translate/core": "^15.0.0", + "@ngx-translate/http-loader": "^8.0.0", + "@popperjs/core": "^2.11.8", + "angular-svg-icon": "^18.0.0", + "axios": "^1.6.7", + "bootstrap": "^5.3.3", + "rxjs": "~7.8.1", + "tslib": "^2.3.0", + "zone.js": "~0.14.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^18.0.2", + "@angular/cli": "^18.0.2", + "@angular/compiler-cli": "^18.0.1", + "@types/jasmine": "~3.10.0", + "@types/node": "^12.11.1", + "jasmine-core": "~4.0.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.1.0", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "typescript": "~5.4.5" + } +} diff --git a/angular18/src/app/app.component.html b/angular18/src/app/app.component.html new file mode 100644 index 0000000..bcacee3 --- /dev/null +++ b/angular18/src/app/app.component.html @@ -0,0 +1,9 @@ +
+
+ + + +
+
+ + diff --git a/angular18/src/app/app.component.scss b/angular18/src/app/app.component.scss new file mode 100644 index 0000000..c46e276 --- /dev/null +++ b/angular18/src/app/app.component.scss @@ -0,0 +1,9 @@ +.scrollable-container { + height: 100vh; + display: block; + .layout { + display: flex; + flex-direction: column; + min-height: 100vh; + } +} diff --git a/angular18/src/app/app.component.ts b/angular18/src/app/app.component.ts new file mode 100644 index 0000000..99b6ecb --- /dev/null +++ b/angular18/src/app/app.component.ts @@ -0,0 +1,56 @@ +// Angular modules +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; + +// Services +import { StoreService } from '@services/store.service'; + +// Components +import { ToastComponent } from '@blocks/toast/toast.component'; + +@Component({ + selector : 'app-root', + templateUrl : './app.component.html', + styleUrls : ['./app.component.scss'], + standalone : true, + imports : [RouterOutlet, ToastComponent, NgIf] +}) +export class AppComponent implements OnInit +{ + constructor + ( + public storeService : StoreService, + ) + { + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + public ngOnInit() : void + { + } + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- +} diff --git a/angular18/src/app/app.config.ts b/angular18/src/app/app.config.ts new file mode 100644 index 0000000..14515e6 --- /dev/null +++ b/angular18/src/app/app.config.ts @@ -0,0 +1,84 @@ +// Angular modules +import { DatePipe } from '@angular/common'; +import { withFetch } from '@angular/common/http'; +import { withInterceptorsFromDi } from '@angular/common/http'; +import { provideHttpClient } from '@angular/common/http'; +import { HttpClient } from '@angular/common/http'; +import { ApplicationConfig } from '@angular/core'; +import { importProvidersFrom } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { provideClientHydration } from '@angular/platform-browser'; +import { provideAnimations } from '@angular/platform-browser/animations'; +import { provideRouter } from '@angular/router'; +import { withInMemoryScrolling } from '@angular/router'; +import { withRouterConfig } from '@angular/router'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; +import { TranslateLoader } from '@ngx-translate/core'; +import { TranslateHttpLoader } from '@ngx-translate/http-loader'; +import { AngularSvgIconModule } from 'angular-svg-icon'; + +// Internal modules +import { environment } from '@env/environment'; +import { routes } from './app.routes'; + +// Services +import { AppService } from '@services/app.service'; +import { StoreService } from '@services/store.service'; + +export function createTranslateLoader(http : HttpClient) +{ + return new TranslateHttpLoader(http, './assets/i18n/', '.json'); +} + +export const appConfig : ApplicationConfig = { + providers : [ + + // Routing + provideRouter( + routes, + withRouterConfig({ + onSameUrlNavigation : 'reload', + }), + withInMemoryScrolling({ + scrollPositionRestoration : 'enabled' + }), + ), + + importProvidersFrom( + // Angular modules + BrowserModule, + + // External modules + TranslateModule.forRoot({ + defaultLanguage : environment.defaultLanguage, + loader : { + provide : TranslateLoader, + useFactory : (createTranslateLoader), + deps : [HttpClient] + } + }), + AngularSvgIconModule.forRoot(), + + // Internal modules + ), + + // External modules + + // Services + StoreService, + AppService, + + // Pipes + DatePipe, + + // Guards + + // Resolvers + + provideHttpClient(withFetch(), withInterceptorsFromDi()), + provideAnimations(), + provideClientHydration(), + ] +}; \ No newline at end of file diff --git a/angular18/src/app/app.routes.ts b/angular18/src/app/app.routes.ts new file mode 100644 index 0000000..8dc66e4 --- /dev/null +++ b/angular18/src/app/app.routes.ts @@ -0,0 +1,18 @@ +// Angular modules +import { Routes } from '@angular/router'; + +export const routes : Routes = [ + { + path : 'auth', + loadChildren : () => import('./pages/auth/auth.routes').then(m => m.routes), + }, + { + path : 'home', + loadComponent : () => import('./pages/home/home.component').then(m => m.HomeComponent), + }, + { path : '', redirectTo : '/home', pathMatch : 'full' }, + { + path : '**', + loadComponent : () => import('./pages/not-found/not-found.component').then(m => m.NotFoundComponent), + }, +]; \ No newline at end of file diff --git a/angular18/src/app/pages/auth/auth.component-2.html b/angular18/src/app/pages/auth/auth.component-2.html new file mode 100644 index 0000000..6232628 --- /dev/null +++ b/angular18/src/app/pages/auth/auth.component-2.html @@ -0,0 +1,21 @@ + +
+ +
+ + + + +
+
+ + + + +
+
+ + +
+
{{ 'VERSION' | translate }} {{ appVersion }}
+
diff --git a/angular18/src/app/pages/auth/auth.component-2.scss b/angular18/src/app/pages/auth/auth.component-2.scss new file mode 100644 index 0000000..4fe9985 --- /dev/null +++ b/angular18/src/app/pages/auth/auth.component-2.scss @@ -0,0 +1,41 @@ +// NOTE Header / Loading / Footer + +header, app-progress-bar, footer { + z-index: 10; +} + +header { + top: 0; + height: 56px; +} + +app-progress-bar { + top: 56px; +} + +footer { + bottom: 0; + height: 40px; +} + +// NOTE Layout + +.auth-component-container { + display: flex; + align-items: center; + min-height: 100vh; + padding-top: 60px; + padding-bottom: 40px; + .auth-component { + width: 100%; + max-width: 350px; + padding: 15px; + margin: auto; + } +} + +// NOTE Images + +#auth-svg { + height: 40px; +} diff --git a/angular18/src/app/pages/auth/auth.component.html b/angular18/src/app/pages/auth/auth.component.html new file mode 100644 index 0000000..93cbcf9 --- /dev/null +++ b/angular18/src/app/pages/auth/auth.component.html @@ -0,0 +1,10 @@ + +
+
+ Login image +
+
+ + +
+
diff --git a/angular18/src/app/pages/auth/auth.component.scss b/angular18/src/app/pages/auth/auth.component.scss new file mode 100644 index 0000000..c89bde5 --- /dev/null +++ b/angular18/src/app/pages/auth/auth.component.scss @@ -0,0 +1,14 @@ +// NOTE Layout +.row { + min-height: 100vh; + .col.img-wrapper { + min-height: 100vh; + overflow: hidden; + img { + object-fit: cover; + width: 100%; + height: 100%; + position: relative; + } + } +} \ No newline at end of file diff --git a/angular18/src/app/pages/auth/auth.component.ts b/angular18/src/app/pages/auth/auth.component.ts new file mode 100644 index 0000000..0acbace --- /dev/null +++ b/angular18/src/app/pages/auth/auth.component.ts @@ -0,0 +1,66 @@ +// Angular modules +import { NgIf } from '@angular/common'; +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; + +// Internal modules +import { environment } from '@env/environment'; + +// Services +import { StoreService } from '@services/store.service'; + +// Components +import { ProgressBarComponent } from '@blocks/progress-bar/progress-bar.component'; + +@Component({ + selector : 'app-auth', + templateUrl : './auth.component.html', + styleUrls : ['./auth.component.scss'], + standalone : true, + imports : [NgIf, ProgressBarComponent, RouterOutlet, AsyncPipe] +}) +export class AuthComponent implements OnInit +{ + // NOTE Component properties + public appName : string = environment.appName; + public appVersion : string = environment.version; + + constructor + ( + public storeService : StoreService, + ) + { + + } + + public ngOnInit() : void + { + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/pages/auth/auth.routes.ts b/angular18/src/app/pages/auth/auth.routes.ts new file mode 100644 index 0000000..385c1c9 --- /dev/null +++ b/angular18/src/app/pages/auth/auth.routes.ts @@ -0,0 +1,27 @@ +// Angular modules +import { Routes } from '@angular/router'; + +export const routes : Routes = [ + { + path : '', + children : [ + { + path : '', + redirectTo : 'login', + pathMatch : 'full', + }, + { + path : 'login', + loadComponent : () => import('./login/login.component').then(m => m.LoginComponent), + }, + { + path : 'forgot-password', + loadComponent : () => import('./forgot-password/forgot-password.component').then(m => m.ForgotPasswordComponent), + }, + { + path : 'validate-account', + loadComponent : () => import('./validate-account/validate-account.component').then(m => m.ValidateAccountComponent), + }, + ] + } +]; \ No newline at end of file diff --git a/angular18/src/app/pages/auth/forgot-password/forgot-password.component.html b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.html new file mode 100644 index 0000000..d41b7dc --- /dev/null +++ b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.html @@ -0,0 +1,38 @@ +
+
{{ 'FORGOT_YOUR_PWD' | translate }}
+
+ +
+
+ + +
+ + +
+ + + +
+ {{ 'FIELD_REQUIRED' | translate }} +
+
+ {{ 'FIELD_EMAIL' | translate }} +
+
+ +
+ +
+ + + +
+
+
diff --git a/angular18/src/app/pages/auth/forgot-password/forgot-password.component.scss b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.scss new file mode 100644 index 0000000..d19c673 --- /dev/null +++ b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.scss @@ -0,0 +1,4 @@ +.wrapper { + max-width: 350px; + width: 100%; +} diff --git a/angular18/src/app/pages/auth/forgot-password/forgot-password.component.ts b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.ts new file mode 100644 index 0000000..d23cb30 --- /dev/null +++ b/angular18/src/app/pages/auth/forgot-password/forgot-password.component.ts @@ -0,0 +1,89 @@ +// Angular modules +import { NgClass } from '@angular/common'; +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { FormGroup } from '@angular/forms'; +import { FormsModule } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; +import { FormControl } from '@angular/forms'; +import { Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { RouterLink } from '@angular/router'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +// Services +import { AppService } from '@services/app.service'; +import { StoreService } from '@services/store.service'; + +@Component({ + selector : 'app-forgot-password', + templateUrl : './forgot-password.component.html', + styleUrls : ['./forgot-password.component.scss'], + standalone : true, + imports : [FormsModule, ReactiveFormsModule, NgClass, NgIf, RouterLink, TranslateModule] +}) +export class ForgotPasswordComponent +{ + public formGroup !: FormGroup<{ + email : FormControl + }>; + + constructor + ( + public router : Router, + private storeService : StoreService, + private appService : AppService, + ) + { + this.initFormGroup(); + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private initFormGroup() : void + { + this.formGroup = new FormGroup({ + email : new FormControl({ + value : '', + disabled : false + }, { validators : [Validators.required, Validators.email], nonNullable : true }), + }); + } + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + public async onClickSubmit() : Promise + { + await this.forgotPassword(); + } + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private async forgotPassword() : Promise + { + this.storeService.isLoading.set(true); + + const email = this.formGroup.controls.email.getRawValue(); + const success = await this.appService.forgotPassword(email); + + this.storeService.isLoading.set(false); + + if (!success) + return; + + // NOTE Redirect to validate account + this.router.navigate(['/auth/validate-account']); + } + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- +} diff --git a/angular18/src/app/pages/auth/login/login.component.html b/angular18/src/app/pages/auth/login/login.component.html new file mode 100644 index 0000000..57ea669 --- /dev/null +++ b/angular18/src/app/pages/auth/login/login.component.html @@ -0,0 +1,52 @@ +
+
{{ 'WELCOME_TO' | translate }}
+
{{ appName }}
+
{{ 'PROJECT_DESC' | translate }}
+
+ +
+
+ + +
+ + +
+ + + +
+ {{ 'FIELD_REQUIRED' | translate }} +
+
+ {{ 'FIELD_EMAIL' | translate }} +
+
+ + +
+ + + +
+ {{ 'FIELD_REQUIRED' | translate }} +
+
+ + + +
+ +
+ +
+
+
diff --git a/angular18/src/app/pages/auth/login/login.component.scss b/angular18/src/app/pages/auth/login/login.component.scss new file mode 100644 index 0000000..c155cc4 --- /dev/null +++ b/angular18/src/app/pages/auth/login/login.component.scss @@ -0,0 +1,4 @@ +.wrapper { + max-width: 350px; + width: 100%; +} \ No newline at end of file diff --git a/angular18/src/app/pages/auth/login/login.component.ts b/angular18/src/app/pages/auth/login/login.component.ts new file mode 100644 index 0000000..db68ec3 --- /dev/null +++ b/angular18/src/app/pages/auth/login/login.component.ts @@ -0,0 +1,100 @@ +// Angular modules +import { NgClass } from '@angular/common'; +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { FormGroup } from '@angular/forms'; +import { FormsModule } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; +import { FormControl } from '@angular/forms'; +import { Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { RouterLink } from '@angular/router'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +// Internal modules +import { environment } from '@env/environment'; + +// Services +import { AppService } from '@services/app.service'; +import { StoreService } from '@services/store.service'; + +@Component({ + selector : 'app-login', + templateUrl : './login.component.html', + styleUrls : ['./login.component.scss'], + standalone : true, + imports : [FormsModule, ReactiveFormsModule, NgClass, NgIf, RouterLink, TranslateModule] +}) +export class LoginComponent +{ + public appName : string = environment.appName; + public formGroup !: FormGroup<{ + email : FormControl, + password : FormControl, + }>; + + constructor + ( + private router : Router, + private storeService : StoreService, + private appService : AppService, + ) + { + this.initFormGroup(); + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private initFormGroup() : void + { + this.formGroup = new FormGroup({ + email : new FormControl({ + value : '', + disabled : false + }, { validators : [Validators.required, Validators.email], nonNullable : true }), + password : new FormControl({ + value : '', + disabled : false + }, { validators : [Validators.required], nonNullable : true }) + }); + } + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + public async onClickSubmit() : Promise + { + await this.authenticate(); + } + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private async authenticate() : Promise + { + this.storeService.isLoading.set(true); + + const email = this.formGroup.controls.email.getRawValue(); + const password = this.formGroup.controls.password.getRawValue(); + const success = await this.appService.authenticate(email, password); + + this.storeService.isLoading.set(false); + + if (!success) + return; + + // NOTE Redirect to home + this.router.navigate(['/home']); + } + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/pages/auth/validate-account/validate-account.component.html b/angular18/src/app/pages/auth/validate-account/validate-account.component.html new file mode 100644 index 0000000..95a1cd7 --- /dev/null +++ b/angular18/src/app/pages/auth/validate-account/validate-account.component.html @@ -0,0 +1,31 @@ +
+
{{ 'VALIDATE_ACCOUNT' | translate }}
+
+ +
+
+ + +
+ + +
+ + + +
+ {{ 'FIELD_REQUIRED' | translate }} +
+
+ +
+ +
+ +
+
+
diff --git a/angular18/src/app/pages/auth/validate-account/validate-account.component.scss b/angular18/src/app/pages/auth/validate-account/validate-account.component.scss new file mode 100644 index 0000000..d19c673 --- /dev/null +++ b/angular18/src/app/pages/auth/validate-account/validate-account.component.scss @@ -0,0 +1,4 @@ +.wrapper { + max-width: 350px; + width: 100%; +} diff --git a/angular18/src/app/pages/auth/validate-account/validate-account.component.ts b/angular18/src/app/pages/auth/validate-account/validate-account.component.ts new file mode 100644 index 0000000..ec6d4b0 --- /dev/null +++ b/angular18/src/app/pages/auth/validate-account/validate-account.component.ts @@ -0,0 +1,111 @@ +// Angular modules +import { NgClass } from '@angular/common'; +import { NgIf } from '@angular/common'; +import { OnInit } from '@angular/core'; +import { Component } from '@angular/core'; +import { FormGroup } from '@angular/forms'; +import { FormsModule } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; +import { FormControl } from '@angular/forms'; +import { Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { Router } from '@angular/router'; +import { Params } from '@angular/router'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +// Internal modules +import { environment } from '@env/environment'; + +// Services +import { AppService } from '@services/app.service'; +import { StoreService } from '@services/store.service'; + +@Component({ + selector : 'app-validate-account', + templateUrl : './validate-account.component.html', + styleUrls : ['./validate-account.component.scss'], + standalone : true, + imports : [FormsModule, ReactiveFormsModule, NgClass, NgIf, TranslateModule] +}) +export class ValidateAccountComponent implements OnInit +{ + public formGroup !: FormGroup<{ + password : FormControl + }>; + private tokenFromUrl : string = ''; + + constructor + ( + private router : Router, + private storeService : StoreService, + private activatedRoute : ActivatedRoute, + private appService : AppService, + ) + { + this.initFormGroup(); + } + + public async ngOnInit() : Promise + { + // NOTE Get token from URL + this.activatedRoute.queryParams.subscribe((params : Params) => + { + this.tokenFromUrl = params['token']; + if (!environment.production) + console.log('ValidateAccountComponent : ngOnInit -> Token : ', this.tokenFromUrl); + }); + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private initFormGroup() : void + { + this.formGroup = new FormGroup({ + password : new FormControl({ + value : '', + disabled : false + }, { validators : [Validators.required], nonNullable : true }), + }); + } + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + public async onClickSubmit() : Promise + { + if (!this.tokenFromUrl) + return; + + await this.validateNewAccount(); + } + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private async validateNewAccount() : Promise + { + this.storeService.isLoading.set(true); + + const password = this.formGroup.controls.password.getRawValue(); + const success = await this.appService.validateAccount(this.tokenFromUrl, password); + + this.storeService.isLoading.set(false); + + if (!success) + return; + + // NOTE Redirect to home + this.router.navigate(['/home']); + } + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/pages/home/home.component.html b/angular18/src/app/pages/home/home.component.html new file mode 100644 index 0000000..70365cb --- /dev/null +++ b/angular18/src/app/pages/home/home.component.html @@ -0,0 +1,13 @@ + +
+ + + + +
+ Let's start the project! +
+
+ +
+
diff --git a/angular18/src/app/pages/home/home.component.scss b/angular18/src/app/pages/home/home.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular18/src/app/pages/home/home.component.ts b/angular18/src/app/pages/home/home.component.ts new file mode 100644 index 0000000..50c9b0e --- /dev/null +++ b/angular18/src/app/pages/home/home.component.ts @@ -0,0 +1,60 @@ +// Angular modules +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; + +// Services +import { StoreService } from '@services/store.service'; + +// Components +import { ProgressBarComponent } from '@blocks/progress-bar/progress-bar.component'; +import { PageLayoutComponent } from '@layouts/page-layout/page-layout.component'; + +@Component({ + selector : 'app-home', + templateUrl : './home.component.html', + styleUrls : ['./home.component.scss'], + standalone : true, + imports : [PageLayoutComponent, NgIf, ProgressBarComponent] +}) +export class HomeComponent implements OnInit +{ + constructor + ( + public storeService : StoreService + ) + { } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + public ngOnInit() : void + { + setTimeout(_ => + { + this.storeService.isLoading.set(false); + }, 2000); + } + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/pages/not-found/not-found.component.html b/angular18/src/app/pages/not-found/not-found.component.html new file mode 100644 index 0000000..749bd78 --- /dev/null +++ b/angular18/src/app/pages/not-found/not-found.component.html @@ -0,0 +1,8 @@ +
+
+

{{ 'NOT_FOUND' | translate }}

+ + {{ 'GO_TO_HOMEPAGE' | translate }} + +
+
diff --git a/angular18/src/app/pages/not-found/not-found.component.scss b/angular18/src/app/pages/not-found/not-found.component.scss new file mode 100644 index 0000000..e499785 --- /dev/null +++ b/angular18/src/app/pages/not-found/not-found.component.scss @@ -0,0 +1,9 @@ +.not-found-container { + display: flex; + align-items: center; + min-height: 100vh; + position: relative; + .not-found { + width: 100%; + } +} \ No newline at end of file diff --git a/angular18/src/app/pages/not-found/not-found.component.ts b/angular18/src/app/pages/not-found/not-found.component.ts new file mode 100644 index 0000000..c4e77a6 --- /dev/null +++ b/angular18/src/app/pages/not-found/not-found.component.ts @@ -0,0 +1,42 @@ +// Angular modules +import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +@Component({ + selector : 'app-not-found', + templateUrl : './not-found.component.html', + styleUrls : ['./not-found.component.scss'], + standalone : true, + imports : [RouterLink, TranslateModule] +}) +export class NotFoundComponent +{ + constructor() { } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- +} diff --git a/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.html b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.html new file mode 100644 index 0000000..c3357eb --- /dev/null +++ b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.html @@ -0,0 +1,10 @@ + + + +
+
+
+
+
+ +
{{ 'LOADING' | translate }}...
\ No newline at end of file diff --git a/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.scss b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.scss new file mode 100644 index 0000000..7ed17fd --- /dev/null +++ b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.scss @@ -0,0 +1,33 @@ +.slider { + position: relative; + width: 100%; + height: 5px; + overflow-x: hidden; + .line { + position: absolute; + opacity: 0.4; + background: #4a8df8; + width: 150%; + height: 5px; + } + .subline { + position: absolute; + background: #4a8df8; + height: 5px; + &.inc { + animation: increase 2s infinite; + } + &.dec { + animation: decrease 2s 0.5s infinite; + } + } +} + +@keyframes increase { + from { left: -5%; width: 5%; } + to { left: 130%; width: 100%;} +} +@keyframes decrease { + from { left: -80%; width: 80%; } + to { left: 110%; width: 10%;} +} \ No newline at end of file diff --git a/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.ts b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.ts new file mode 100644 index 0000000..a7da6bc --- /dev/null +++ b/angular18/src/app/shared/components/blocks/progress-bar/progress-bar.component.ts @@ -0,0 +1,27 @@ +// Angular modules +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { Input } from '@angular/core'; +import { OnInit } from '@angular/core'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +@Component({ + selector : 'app-progress-bar', + templateUrl : './progress-bar.component.html', + styleUrls : ['./progress-bar.component.scss'], + standalone : true, + imports : [NgIf, TranslateModule] +}) +export class ProgressBarComponent implements OnInit +{ + @Input() withLabel : boolean = false; + + constructor() { } + + public ngOnInit() : void + { + } + +} diff --git a/angular18/src/app/shared/components/blocks/toast/toast.component.html b/angular18/src/app/shared/components/blocks/toast/toast.component.html new file mode 100644 index 0000000..570f029 --- /dev/null +++ b/angular18/src/app/shared/components/blocks/toast/toast.component.html @@ -0,0 +1,31 @@ + + + + + + + + +
{{ toast.headerKey | translate }}
+
+
{{ toast.body }}
+
+ +
+ + + + + +
{{ toast.body }}
+
+ +
+ +
diff --git a/angular18/src/app/shared/components/blocks/toast/toast.component.scss b/angular18/src/app/shared/components/blocks/toast/toast.component.scss new file mode 100644 index 0000000..544e5dc --- /dev/null +++ b/angular18/src/app/shared/components/blocks/toast/toast.component.scss @@ -0,0 +1,7 @@ +:host { + position: fixed; + bottom: 0; + right: 0; + margin: 0.5em; + z-index: 1200; +} \ No newline at end of file diff --git a/angular18/src/app/shared/components/blocks/toast/toast.component.ts b/angular18/src/app/shared/components/blocks/toast/toast.component.ts new file mode 100644 index 0000000..cbce45f --- /dev/null +++ b/angular18/src/app/shared/components/blocks/toast/toast.component.ts @@ -0,0 +1,26 @@ +// Angular modules +import { NgFor } from '@angular/common'; +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +// External modules +import { NgbToast } from '@ng-bootstrap/ng-bootstrap'; +import { NgbToastHeader } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +// Internal modules +import { ToastManager } from './toast.manager'; + +@Component({ + selector : 'app-toast', + templateUrl : './toast.component.html', + styleUrls : ['./toast.component.scss'], + standalone : true, + imports : [NgFor, NgIf, NgbToast, NgbToastHeader, TranslateModule] +}) +export class ToastComponent +{ + + constructor(public toastManager : ToastManager) {} + +} diff --git a/angular18/src/app/shared/components/blocks/toast/toast.manager.ts b/angular18/src/app/shared/components/blocks/toast/toast.manager.ts new file mode 100644 index 0000000..5208eab --- /dev/null +++ b/angular18/src/app/shared/components/blocks/toast/toast.manager.ts @@ -0,0 +1,52 @@ +// Angular modules +import { Injectable } from '@angular/core'; + +export type ToastType = 'success' | 'info' | 'warning' | 'danger'; + +export class Toast +{ + public id !: number + readonly headerKey ?: string; + public withHeader : boolean; + public body : string; + public type : ToastType; + public autoHide : boolean; + public delay : number; + + constructor(body : string, type ?: ToastType, autoHide : boolean = false) + { + this.withHeader = true; + this.body = body; + this.type = type ?? 'danger'; + this.autoHide = autoHide; + this.delay = 10000; // 10 sec + + this.headerKey = this.type.toUpperCase(); + } +} + +@Injectable({ providedIn : 'root' }) +export class ToastManager +{ + public toasts : Toast[] = []; + private counter : number = 0; + + constructor() {} + + public show(toast : Toast) : void + { + toast.id = this.counter++; + this.toasts.push(toast); + } + + public quickShow(body : string, type ?: ToastType, autoHide : boolean = false) : void + { + const toast = new Toast(body, type, autoHide); + this.show(toast); + } + + public remove(id : number) : void + { + this.toasts = this.toasts.filter(t => t.id !== id); + } +} diff --git a/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.html b/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.html new file mode 100644 index 0000000..9676a75 --- /dev/null +++ b/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.html @@ -0,0 +1,17 @@ + +
+ +
+

{{ 'ALERT_DELETE_ENTRY' | translate }}

+
+ + +
+ + +
+
diff --git a/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.scss b/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.ts b/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.ts new file mode 100644 index 0000000..44eb414 --- /dev/null +++ b/angular18/src/app/shared/components/forms/form-confirm/form-confirm.component.ts @@ -0,0 +1,45 @@ +// Angular modules +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; +import { Input } from '@angular/core'; +import { Output } from '@angular/core'; +import { EventEmitter } from '@angular/core'; +import { FormsModule } from '@angular/forms'; + +// External modules +import { TranslateModule } from '@ngx-translate/core'; + +@Component({ + selector : 'app-form-confirm', + templateUrl : './form-confirm.component.html', + styleUrls : ['./form-confirm.component.scss'], + standalone : true, + imports : [FormsModule, TranslateModule] +}) +export class FormConfirmComponent implements OnInit +{ + @Input() data : any; + @Output() submitData : EventEmitter = new EventEmitter(); + @Output() submitClose : EventEmitter = new EventEmitter(); + + constructor() { } + + public ngOnInit() : void + { + } + + // ------------------------------------------------------------------------------- + // NOTE Action ------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + public async onClickSubmit() : Promise + { + this.submitData.emit(true); + } + + public onClickClose() : void + { + this.submitClose.emit(); + } + +} diff --git a/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.html b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.html new file mode 100644 index 0000000..093ca0e --- /dev/null +++ b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.html @@ -0,0 +1,35 @@ + + + + + diff --git a/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.scss b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.scss new file mode 100644 index 0000000..2fd5bbd --- /dev/null +++ b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.scss @@ -0,0 +1,20 @@ +.navbar-brand { + img { + width: 38px; + display: inline-block; + vertical-align: middle; + } + .title-wrapper { + vertical-align: middle; + display: inline-block; + border-left: 1px solid #adadad; + padding-left: 15px; + margin-left: 15px; + span { + display: block; + &.subtitle { + font-size: 71%; + } + } + } +} \ No newline at end of file diff --git a/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.ts b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.ts new file mode 100644 index 0000000..81410d0 --- /dev/null +++ b/angular18/src/app/shared/components/layouts/layout-header/layout-header.component.ts @@ -0,0 +1,73 @@ +// Angular modules +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { RouterLink } from '@angular/router'; +import { RouterLinkActive } from '@angular/router'; + +// External modules +import { NgbCollapse } from '@ng-bootstrap/ng-bootstrap'; +import { NgbDropdown } from '@ng-bootstrap/ng-bootstrap'; +import { NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap'; +import { NgbDropdownMenu } from '@ng-bootstrap/ng-bootstrap'; +import { TranslateModule } from '@ngx-translate/core'; + +// Internal modules +import { environment } from '@env/environment'; + +@Component({ + selector : 'app-layout-header', + templateUrl : './layout-header.component.html', + styleUrls : ['./layout-header.component.scss'], + standalone : true, + imports : [RouterLink, NgbCollapse, RouterLinkActive, NgbDropdown, NgbDropdownToggle, NgbDropdownMenu, TranslateModule] +}) +export class LayoutHeaderComponent implements OnInit +{ + public appName : string = environment.appName; + public isMenuCollapsed : boolean = true; + + constructor + ( + private router : Router, + ) + { + + } + + public ngOnInit() : void + { + + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + public async onClickLogout() : Promise + { + // NOTE Redirect to login + this.router.navigate(['/auth/login']); + } + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.html b/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.html new file mode 100644 index 0000000..7dbf1d2 --- /dev/null +++ b/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.scss b/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.ts b/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.ts new file mode 100644 index 0000000..a3fd880 --- /dev/null +++ b/angular18/src/app/shared/components/layouts/page-layout/page-layout.component.ts @@ -0,0 +1,51 @@ +// Angular modules +import { Component } from '@angular/core'; +import { OnInit } from '@angular/core'; + +// Components +import { LayoutHeaderComponent } from '../layout-header/layout-header.component'; + +@Component({ + selector : 'app-page-layout', + templateUrl : './page-layout.component.html', + styleUrls : ['./page-layout.component.scss'], + standalone : true, + imports : [LayoutHeaderComponent] +}) +export class PageLayoutComponent implements OnInit +{ + constructor() + { + + } + + public ngOnInit() : void + { + + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Actions ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Computed props ----------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Requests ----------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + // ------------------------------------------------------------------------------- + // NOTE Subscriptions ------------------------------------------------------------ + // ------------------------------------------------------------------------------- + +} diff --git a/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.html b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.html new file mode 100644 index 0000000..f357749 --- /dev/null +++ b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.html @@ -0,0 +1,12 @@ + + diff --git a/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.scss b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.scss new file mode 100644 index 0000000..469dc5b --- /dev/null +++ b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.scss @@ -0,0 +1,9 @@ +.modal-header { + background: var(--bs-info); + &, button { + color: white; + } + .modal-title { + text-transform: uppercase; + } +} diff --git a/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.ts b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.ts new file mode 100644 index 0000000..639e90f --- /dev/null +++ b/angular18/src/app/shared/components/modals/modal-wrapper/modal-wrapper.component.ts @@ -0,0 +1,103 @@ +// Angular modules +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { Input } from '@angular/core'; +import { OnInit } from '@angular/core'; +import { ViewChild } from '@angular/core'; +import { EventEmitter } from '@angular/core'; +import { Type } from '@angular/core'; + +// External modules +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; + +// Directives +import { ModalWrapperDirective as ModalWrapperDirective_1 } from '../../../directives/modal-wrapper.directive'; +import { ModalWrapperDirective } from '@directives/modal-wrapper.directive'; + +// Dynamic component loader - Angular +// https://angular.io/guide/dynamic-component-loader +// https://stackblitz.com/angular/bydvgpxaabj?file=src%2Fapp%2Fad-banner.component.ts + +export class ModalForm +{ + constructor(public component : Type, public data : any) {} +} + +export interface FormComponent +{ + data : any; + submitData : EventEmitter; + submitClose : EventEmitter; +} + +@Component({ + selector : 'app-modal-wrapper', + templateUrl : 'modal-wrapper.component.html', + styleUrls : ['modal-wrapper.component.scss'], + standalone : true, + imports : [NgIf, ModalWrapperDirective_1] +}) +export class ModalWrapperComponent implements OnInit +{ + @Input() component : any; + @Input() componentData : any; + @Input() modalData : { + title : string, + headerClasses : string, + closable : boolean, + } = { + title : '', + headerClasses : '', + closable : true, + }; + + @ViewChild(ModalWrapperDirective, { static : true }) modalWrapperHost !: ModalWrapperDirective; + + constructor(public activeModal : NgbActiveModal) + { + } + + public ngOnInit() : void + { + this.loadComponent(); + } + + // ------------------------------------------------------------------------------- + // NOTE Init --------------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + private loadComponent() : void + { + const modalForm = new ModalForm(this.component, this.componentData); + + const viewContainerRef = this.modalWrapperHost.viewContainerRef; + viewContainerRef.clear(); + + const componentRef = viewContainerRef.createComponent(modalForm.component); + + (componentRef.instance).data = modalForm.data; + (componentRef.instance).submitClose.subscribe(() => + { + this.submitClose(); + }); + (componentRef.instance).submitData.subscribe(event => + { + this.submitData(event); + }); + } + + // ------------------------------------------------------------------------------- + // NOTE Helpers ------------------------------------------------------------------ + // ------------------------------------------------------------------------------- + + private submitData($event : any) : void + { + this.activeModal.close($event); + } + + private submitClose() : void + { + this.activeModal.close(); + } + +} diff --git a/angular18/src/app/shared/directives/modal-wrapper.directive.ts b/angular18/src/app/shared/directives/modal-wrapper.directive.ts new file mode 100644 index 0000000..a07b655 --- /dev/null +++ b/angular18/src/app/shared/directives/modal-wrapper.directive.ts @@ -0,0 +1,12 @@ +// Angular modules +import { Directive } from '@angular/core'; +import { ViewContainerRef } from '@angular/core'; + +@Directive({ + selector : '[modal-wrapper-host]', + standalone : true, +}) +export class ModalWrapperDirective +{ + constructor(public viewContainerRef : ViewContainerRef) { } +} diff --git a/angular18/src/app/shared/enums/endpoint.enum.ts b/angular18/src/app/shared/enums/endpoint.enum.ts new file mode 100644 index 0000000..f87fa5f --- /dev/null +++ b/angular18/src/app/shared/enums/endpoint.enum.ts @@ -0,0 +1,6 @@ +export enum Endpoint +{ + AUTHENTICATE = 'authenticate', + FORGOT_PASSWORD = 'forgot-password', + VALIDATE_ACCOUNT = 'validate-account', +} diff --git a/angular18/src/app/shared/enums/environment.enum.ts b/angular18/src/app/shared/enums/environment.enum.ts new file mode 100644 index 0000000..fdaf84b --- /dev/null +++ b/angular18/src/app/shared/enums/environment.enum.ts @@ -0,0 +1,5 @@ +export enum EnvName +{ + LOCAL = 'local', + PROD = 'production', +} diff --git a/angular18/src/app/shared/enums/storage-key.enum.ts b/angular18/src/app/shared/enums/storage-key.enum.ts new file mode 100644 index 0000000..c1f2ce4 --- /dev/null +++ b/angular18/src/app/shared/enums/storage-key.enum.ts @@ -0,0 +1,4 @@ +export enum StorageKey +{ + TOKEN = 'Token', +} diff --git a/angular18/src/app/shared/helpers/storage.helper.ts b/angular18/src/app/shared/helpers/storage.helper.ts new file mode 100644 index 0000000..f541511 --- /dev/null +++ b/angular18/src/app/shared/helpers/storage.helper.ts @@ -0,0 +1,117 @@ +// Angular modules +import { Injectable } from '@angular/core'; + +// Internal modules +import { environment } from '@env/environment'; + +// Enums +import { StorageKey } from '@enums/storage-key.enum'; + +// Models +// import { AuthResponse } from '@models/auth-response.model'; + +@Injectable() +export class StorageHelper +{ + private static storagePrefix : string = environment.appName + '_' + environment.version + '_'; + + // ---------------------------------------------------------------------------------------------- + // SECTION Methods ------------------------------------------------------------------------------ + // ---------------------------------------------------------------------------------------------- + + // NOTE Token + + // public static setToken(user : AuthResponse) : void + // { + // StorageHelper.setItem(StorageKey.TOKEN, user); + // } + + // public static removeToken() : void + // { + // StorageHelper.removeItem(StorageKey.TOKEN); + // } + + // public static getToken() : AuthResponse | null + // { + // // Prevent SSR error + // if (typeof localStorage === 'undefined') + // return undefined; + // const data = StorageHelper.getItem(StorageKey.TOKEN); + // return data ? new AuthResponse(data) : null; + // } + + // !SECTION Methods + + // ---------------------------------------------------------------------------------------------- + // SECTION LocalStorage ------------------------------------------------------------------------- + // ---------------------------------------------------------------------------------------------- + + public static setItem(key : string, value : any, prefix : boolean = true) : void + { + const itemKey = this.prefixer(key, prefix); + localStorage.setItem(itemKey, JSON.stringify(value)); + } + + public static getItem(key : string, prefix : boolean = true) : any + { + const itemKey = this.prefixer(key, prefix); + const res = localStorage.getItem(itemKey); + if (res !== 'undefined') + return JSON.parse(res as any); + console.error('StorageHelper : getItem -> undefined key'); + return null; + } + + public static removeItem(key : string, prefix : boolean = true) : void + { + const itemKey = this.prefixer(key, prefix); + localStorage.removeItem(itemKey); + } + + public static getKeys(all : boolean = false) : string[] + { + const keys : string[] = []; + // NOTE Keys + for (const key in localStorage) + keys.push(key); + if (all) + return keys; + // NOTE Prefixed keys + return keys.filter((item) => item.startsWith(this.storagePrefix)); + } + + public static clearItems(all : boolean = false) : void + { + // NOTE Keys + if (all) + { + localStorage.clear(); + return; + } + // NOTE Prefixed keys + const prefixedKeys = this.getKeys(); + for (const prefixedKey of prefixedKeys) + this.removeItem(prefixedKey, false); + } + + public static clearItemsWithoutCurrentPrefix() : void + { + const allKeys = this.getKeys(true); + for (const key of allKeys) + if (!key.startsWith(this.storagePrefix)) + this.removeItem(key, false); + } + + // !SECTION LocalStorage + + // NOTE Private + + private static prefixer(key : string, autoPrefix : boolean) : string + { + let itemKey = key; + if (autoPrefix) + itemKey = this.storagePrefix + key; + return itemKey; + } + +} diff --git a/angular18/src/app/shared/helpers/string.helper.ts b/angular18/src/app/shared/helpers/string.helper.ts new file mode 100644 index 0000000..794146b --- /dev/null +++ b/angular18/src/app/shared/helpers/string.helper.ts @@ -0,0 +1,30 @@ +// Angular modules +import { Injectable } from '@angular/core'; + +@Injectable() +export class StringHelper +{ + /** JavaScript equivalent to printf/String.Format + * https://stackoverflow.com/a/31007976/7462178 + */ + public static interpolate(theString : string, argumentArray : string[]) : string + { + let regex = /%s/; + let _r = function(p : string, c : string) { return p.replace(regex, c); }; + return argumentArray.reduce(_r, theString); + } + + public static buildURIParams(parameters : object) : string + { + const parts = new URLSearchParams() + + for (const [key, value] of Object.entries(parameters)) + { + if (key === undefined || value === undefined) + continue; + parts.append(key, value) + } + + return '?' + parts.toString() + } +} diff --git a/angular18/src/app/shared/services/app.service.ts b/angular18/src/app/shared/services/app.service.ts new file mode 100644 index 0000000..6daf206 --- /dev/null +++ b/angular18/src/app/shared/services/app.service.ts @@ -0,0 +1,177 @@ +// Angular modules +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +// External modules +import { ArrayTyper } from '@caliatys/array-typer'; +import { TranslateService } from '@ngx-translate/core'; +import axios from 'axios'; +import { AxiosResponse } from 'axios'; +import { AxiosError } from 'axios'; +import { AxiosInstance } from 'axios'; +import { CreateAxiosDefaults } from 'axios'; + +// Internal modules +import { ToastManager } from '@blocks/toast/toast.manager'; +import { environment } from '@env/environment'; + +// Helpers +import { StorageHelper } from '@helpers/storage.helper'; + +// Enums +import { Endpoint } from '@enums/endpoint.enum'; + +// Models + +// Services +import { StoreService } from './store.service'; + +@Injectable() +export class AppService +{ + // NOTE Default configuration + private default : CreateAxiosDefaults = { + withCredentials : true, + timeout : 990000, + headers : { + 'Content-Type' : 'application/json', + 'Accept' : 'application/json', + }, + }; + + // NOTE Instances + private api : AxiosInstance = axios.create({ + baseURL : environment.apiBaseUrl, + ...this.default, + }); + + // NOTE Controller + private controller : AbortController = new AbortController(); + + constructor + ( + private storeService : StoreService, + private toastManager : ToastManager, + private router : Router, + private translateService : TranslateService, + ) + { + this.initRequestInterceptor(this.api); + this.initResponseInterceptor(this.api); + + this.initAuthHeader(); + } + + // ---------------------------------------------------------------------------------------------- + // SECTION Methods ------------------------------------------------------------------------------ + // ---------------------------------------------------------------------------------------------- + + public async authenticate(email : string, password : string) : Promise + { + return Promise.resolve(true); + + // StorageHelper.removeToken(); + + // const url = Endpoint.AUTHENTICATE; + // const { data } = await this.api.post(url, { email, password }); + + // if (!data) + // return false; + + // const authResponse = new AuthResponse(data); + // StorageHelper.setToken(authResponse); + // this.initAuthHeader(); + // return true; + } + + public async forgotPassword(email : string) : Promise + { + return Promise.resolve(true); + + // const url = Endpoint.FORGOT_PASSWORD; + // const { data } = await this.api.post(url, { email }); + + // return !!data; + } + + public async validateAccount(token : string, password : string) : Promise + { + return Promise.resolve(true); + + // const url = Endpoint.VALIDATE_ACCOUNT; + // const { data } = await this.api.post(url, { token, password }); + + // return !!data; + } + + // public async getLastLines(siteId : string) : Promise + // { + // const url = StringHelper.interpolate(Endpoint.GET_LAST_LINES, [ siteId ]); + // const { data } = await this.api.get(url); + + // if (!data) + // return []; + + // return ArrayTyper.asArray(Line, data); + // } + + // !SECTION Methods + + // ---------------------------------------------------------------------------------------------- + // SECTION Helpers ------------------------------------------------------------------------------ + // ---------------------------------------------------------------------------------------------- + + private initAuthHeader() : void + { + // const token = StorageHelper.getToken(); + // if (!token) + // return; + + // this.api.defaults.headers.common['Authorization'] = `Bearer ${token.jwtToken}`; + // this.api.defaults.headers.common['Token'] = token.jwtToken; + } + + public initRequestInterceptor(instance : AxiosInstance) : void + { + instance.interceptors.request.use((config) => + { + console.log('interceptors.request.config', config); + this.storeService.isLoading.set(true); + + return config; + }, + (error) => + { + console.log('interceptors.request.error', error); + this.storeService.isLoading.set(false); + + this.toastManager.quickShow(error); + return Promise.reject(error); + }); + } + + public initResponseInterceptor(instance : AxiosInstance) : void + { + instance.interceptors.response.use((response) => + { + console.log('interceptors.response.response', response); + this.storeService.isLoading.set(false); + + return response; + }, + async (error : AxiosError) => + { + console.log('interceptors.response.error', error); + this.storeService.isLoading.set(false); + + // NOTE Prevent request canceled error + if (error.code === 'ERR_CANCELED') + return Promise.resolve(error); + + this.toastManager.quickShow(error.message); + return Promise.reject(error); + }); + } + + // !SECTION Helpers +} \ No newline at end of file diff --git a/angular18/src/app/shared/services/store.service.ts b/angular18/src/app/shared/services/store.service.ts new file mode 100644 index 0000000..1fd4184 --- /dev/null +++ b/angular18/src/app/shared/services/store.service.ts @@ -0,0 +1,38 @@ +// Angular modules +import { isPlatformServer } from '@angular/common'; +import { Inject } from '@angular/core'; +import { signal } from '@angular/core'; +import { Injectable } from '@angular/core'; +import { PLATFORM_ID } from '@angular/core'; + +// External modules +import { TranslateService } from '@ngx-translate/core'; + +// Internal modules +import { environment } from '@env/environment'; + +@Injectable() +export class StoreService +{ + public isServer = signal(isPlatformServer(this.platformId)); + public isLoading = signal(true); + public pageTitle = signal(environment.appName); + + constructor + ( + @Inject(PLATFORM_ID) private platformId : Object, + private translateService : TranslateService + ) + { + } + + // ------------------------------------------------------------------------------- + // NOTE Page title --------------------------------------------------------------- + // ------------------------------------------------------------------------------- + + public setPageTitle(title : string, translate : boolean = true) : void + { + const pageTitle = translate ? this.translateService.instant(title) : title; + this.pageTitle.set(pageTitle); + } +} diff --git a/angular18/src/assets/.gitkeep b/angular18/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/angular18/src/assets/i18n/en.json b/angular18/src/assets/i18n/en.json new file mode 100644 index 0000000..c6b6d92 --- /dev/null +++ b/angular18/src/assets/i18n/en.json @@ -0,0 +1,24 @@ +{ + "NOT_FOUND" : "404 - Page not found", + "GO_TO_HOMEPAGE" : "Go to homepage", + "WELCOME_TO" : "Welcome to", + "PROJECT_DESC" : "A Centurio boilerplate solution", + "SIGN_IN" : "Sign in", + "LOGOUT" : "Logout", + "HOME" : "Home", + "VERSION" : "Version", + "USER" : "User", + "EMAIL" : "E-mail", + "FORGOT_YOUR_PWD" : "Forgot your password?", + "BACK_TO_LOGIN" : "Back to login", + "VALIDATE_ACCOUNT" : "Validate the account", + "VALIDATE" : "Validate", + "PASSWORD" : "Password", + "LOADING" : "Loading", + "CLOSE" : "Close", + "DELETE" : "Delete", + "ALERT_DELETE_ENTRY" : "Are you sure you want to delete this entry?", + "RESET_PASSWORD" : "Reset password", + "FIELD_REQUIRED" : "This field is required", + "FIELD_EMAIL" : "This field must be an email" +} diff --git a/angular18/src/assets/img/favicon/android-chrome-192x192.png b/angular18/src/assets/img/favicon/android-chrome-192x192.png new file mode 100644 index 0000000..a9cf199 Binary files /dev/null and b/angular18/src/assets/img/favicon/android-chrome-192x192.png differ diff --git a/angular18/src/assets/img/favicon/android-chrome-512x512.png b/angular18/src/assets/img/favicon/android-chrome-512x512.png new file mode 100644 index 0000000..400192c Binary files /dev/null and b/angular18/src/assets/img/favicon/android-chrome-512x512.png differ diff --git a/angular18/src/assets/img/favicon/apple-touch-icon.png b/angular18/src/assets/img/favicon/apple-touch-icon.png new file mode 100644 index 0000000..7f2d5bc Binary files /dev/null and b/angular18/src/assets/img/favicon/apple-touch-icon.png differ diff --git a/angular18/src/assets/img/favicon/browserconfig.xml b/angular18/src/assets/img/favicon/browserconfig.xml new file mode 100644 index 0000000..c0e4413 --- /dev/null +++ b/angular18/src/assets/img/favicon/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2d89ef + + + diff --git a/angular18/src/assets/img/favicon/favicon-16x16.png b/angular18/src/assets/img/favicon/favicon-16x16.png new file mode 100644 index 0000000..f75da1d Binary files /dev/null and b/angular18/src/assets/img/favicon/favicon-16x16.png differ diff --git a/angular18/src/assets/img/favicon/favicon-32x32.png b/angular18/src/assets/img/favicon/favicon-32x32.png new file mode 100644 index 0000000..323ddc8 Binary files /dev/null and b/angular18/src/assets/img/favicon/favicon-32x32.png differ diff --git a/angular18/src/assets/img/favicon/favicon.ico b/angular18/src/assets/img/favicon/favicon.ico new file mode 100644 index 0000000..c57de9e Binary files /dev/null and b/angular18/src/assets/img/favicon/favicon.ico differ diff --git a/angular18/src/assets/img/favicon/manifest.json b/angular18/src/assets/img/favicon/manifest.json new file mode 100644 index 0000000..314cace --- /dev/null +++ b/angular18/src/assets/img/favicon/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "EasyAngular", + "short_name": "EasyAngular", + "theme_color": "#2b46c7", + "background_color": "#2b46c7", + "display": "standalone", + "scope": "/", + "start_url": "", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/angular18/src/assets/img/favicon/mstile-144x144.png b/angular18/src/assets/img/favicon/mstile-144x144.png new file mode 100644 index 0000000..ce82d77 Binary files /dev/null and b/angular18/src/assets/img/favicon/mstile-144x144.png differ diff --git a/angular18/src/assets/img/favicon/mstile-150x150.png b/angular18/src/assets/img/favicon/mstile-150x150.png new file mode 100644 index 0000000..fff6ee9 Binary files /dev/null and b/angular18/src/assets/img/favicon/mstile-150x150.png differ diff --git a/angular18/src/assets/img/favicon/mstile-310x150.png b/angular18/src/assets/img/favicon/mstile-310x150.png new file mode 100644 index 0000000..ad49dc1 Binary files /dev/null and b/angular18/src/assets/img/favicon/mstile-310x150.png differ diff --git a/angular18/src/assets/img/favicon/mstile-310x310.png b/angular18/src/assets/img/favicon/mstile-310x310.png new file mode 100644 index 0000000..a0a4d6a Binary files /dev/null and b/angular18/src/assets/img/favicon/mstile-310x310.png differ diff --git a/angular18/src/assets/img/favicon/mstile-70x70.png b/angular18/src/assets/img/favicon/mstile-70x70.png new file mode 100644 index 0000000..1bfe18f Binary files /dev/null and b/angular18/src/assets/img/favicon/mstile-70x70.png differ diff --git a/angular18/src/assets/img/favicon/safari-pinned-tab.svg b/angular18/src/assets/img/favicon/safari-pinned-tab.svg new file mode 100644 index 0000000..e0d3884 --- /dev/null +++ b/angular18/src/assets/img/favicon/safari-pinned-tab.svg @@ -0,0 +1,44 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + diff --git a/angular18/src/assets/img/project/folder-structure.png b/angular18/src/assets/img/project/folder-structure.png new file mode 100644 index 0000000..96296e5 Binary files /dev/null and b/angular18/src/assets/img/project/folder-structure.png differ diff --git a/angular18/src/assets/img/project/login.png b/angular18/src/assets/img/project/login.png new file mode 100644 index 0000000..17bc0e8 Binary files /dev/null and b/angular18/src/assets/img/project/login.png differ diff --git a/angular18/src/assets/img/project/logo.svg b/angular18/src/assets/img/project/logo.svg new file mode 100644 index 0000000..1b67524 --- /dev/null +++ b/angular18/src/assets/img/project/logo.svg @@ -0,0 +1,7 @@ +Layer 1 \ No newline at end of file diff --git a/angular18/src/assets/scss/project.scss b/angular18/src/assets/scss/project.scss new file mode 100644 index 0000000..cfeeabf --- /dev/null +++ b/angular18/src/assets/scss/project.scss @@ -0,0 +1,48 @@ +// ---------------------------------------------------------------------------------------------- +// NOTE Browser style : Reset --------------------------------------------------------- Overwrite +// ---------------------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Project --------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Link + +// NOTE Scrollbar + +// NOTE Sortable table -------------------------------------------------------------------------- + +// NOTE Icons ----------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap --------------------------------------------------------------------- Overwrite +// ---------------------------------------------------------------------------------------------- + +// NOTE Pagination ------------------------------------------------------------------------------ + +// NOTE Button ---------------------------------------------------------------------------------- + +// NOTE Modal ----------------------------------------------------------------------------------- + +// NOTE Toast ----------------------------------------------------------------------------------- + +.toast-header { + background-color: transparent; +} +.toast-body { + background-color: rgba(255, 255, 255, 0.85); +} + +// NOTE Nav ------------------------------------------------------------------------------------- + +// NOTE Table ----------------------------------------------------------------------------------- + +// NOTE Select ---------------------------------------------------------------------------------- + +// NOTE Form ------------------------------------------------------------------------------------ + +// Checkbox + +// Radio + +// NOTE Sortable table -------------------------------------------------------------------------- diff --git a/angular18/src/assets/scss/styles.scss b/angular18/src/assets/scss/styles.scss new file mode 100644 index 0000000..628d529 --- /dev/null +++ b/angular18/src/assets/scss/styles.scss @@ -0,0 +1,80 @@ +// ---------------------------------------------------------------------------------------------- +// NOTE Variables ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +@import 'variables.scss'; + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Complete bootstrap +@import '../../../node_modules/bootstrap/scss/bootstrap.scss'; + +// NOTE Bootstrap configuration +// @import '../../../node_modules/bootstrap/scss/functions'; +// @import '../../../node_modules/bootstrap/scss/variables'; +// @import '../../../node_modules/bootstrap/scss/mixins'; + +// // NOTE Merge maps +// $theme-colors: map-merge($theme-colors, $custom-colors); + +// @import '../../../node_modules/bootstrap/scss/utilities'; + +// // NOTE Bootstrap layout & components +// @import '../../../node_modules/bootstrap/scss/root'; +// @import '../../../node_modules/bootstrap/scss/reboot'; +// @import '../../../node_modules/bootstrap/scss/type'; +// // @import '../../../node_modules/bootstrap/scss/images'; +// @import '../../../node_modules/bootstrap/scss/containers'; +// @import '../../../node_modules/bootstrap/scss/grid'; +// @import '../../../node_modules/bootstrap/scss/tables'; +// @import '../../../node_modules/bootstrap/scss/forms'; +// @import '../../../node_modules/bootstrap/scss/buttons'; +// @import '../../../node_modules/bootstrap/scss/transitions'; +// @import '../../../node_modules/bootstrap/scss/dropdown'; +// // @import '../../../node_modules/bootstrap/scss/button-group'; +// @import '../../../node_modules/bootstrap/scss/nav'; +// @import '../../../node_modules/bootstrap/scss/navbar'; +// @import '../../../node_modules/bootstrap/scss/card'; +// // @import '../../../node_modules/bootstrap/scss/accordion'; +// // @import '../../../node_modules/bootstrap/scss/breadcrumb'; +// // @import '../../../node_modules/bootstrap/scss/pagination'; +// @import '../../../node_modules/bootstrap/scss/badge'; +// // @import '../../../node_modules/bootstrap/scss/alert'; +// // @import '../../../node_modules/bootstrap/scss/progress'; +// // @import '../../../node_modules/bootstrap/scss/list-group'; +// // @import '../../../node_modules/bootstrap/scss/close'; +// @import '../../../node_modules/bootstrap/scss/toasts'; +// @import '../../../node_modules/bootstrap/scss/modal'; +// @import '../../../node_modules/bootstrap/scss/tooltip'; +// @import '../../../node_modules/bootstrap/scss/popover'; +// // @import '../../../node_modules/bootstrap/scss/carousel'; +// @import '../../../node_modules/bootstrap/scss/spinners'; +// // @import '../../../node_modules/bootstrap/scss/offcanvas'; + +// // NOTE Boostrap helpers +// @import '../../../node_modules/bootstrap/scss/helpers'; + +// // NOTE Boostrap utilities +// @import '../../../node_modules/bootstrap/scss/utilities/api'; + +// ---------------------------------------------------------------------------------------------- +// NOTE External components --------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// $roboto-font-path: "../../../node_modules/roboto-fontface/fonts" !default; +// @import "../../../node_modules/roboto-fontface/css/roboto/sass/roboto-fontface"; +// @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;400;700&display=swap'); + +// ---------------------------------------------------------------------------------------------- +// NOTE Project style --------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +@import 'project.scss'; + +// ---------------------------------------------------------------------------------------------- +// NOTE Overwrite styles ------------------------------------------------------------------------ +// ---------------------------------------------------------------------------------------------- + +// @import 'modules/_bootstrap.scss'; diff --git a/angular18/src/assets/scss/variables.scss b/angular18/src/assets/scss/variables.scss new file mode 100644 index 0000000..a8c075c --- /dev/null +++ b/angular18/src/assets/scss/variables.scss @@ -0,0 +1,66 @@ +// ---------------------------------------------------------------------------------------------- +// SECTION Variables ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Project --------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Colors ---------------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------------------------- +// NOTE Bootstrap ------------------------------------------------------------------------------- +// ---------------------------------------------------------------------------------------------- + +// NOTE Utilities ------------------------------------------------------------------------------- + +$utilities: ( + "cursor": ( + property: cursor, + class: cursor, + responsive: false, + values: pointer, + ) +); + +// NOTE Color system ---------------------------------------------------------------------------- + +// $primary: #375F9B; +$secondary: #8492A6; +$text-muted: #ACA7AA; +$info: #375F9B; // #3C78DA; +$danger: #D0021B; +$success: #12a366; +$min-contrast-ratio: 2.5; + +// NOTE Body ------------------------------------------------------------------------------------ + +// NOTE Grid ------------------------------------------------------------------------------------ + +// NOTE Borders --------------------------------------------------------------------------------- + +// NOTE Typography ----------------------------------------------------------------------------- + +// NOTE Links ----------------------------------------------------------------------------------- +// NOTE Badges ---------------------------------------------------------------------------------- +// NOTE Buttons --------------------------------------------------------------------------------- + +$btn-close-color: white; + +// NOTE Navbar ---------------------------------------------------------------------------------- +// NOTE Navs ------------------------------------------------------------------------------------ + +// NOTE Modal ----------------------------------------------------------------------------------- + +// NOTE Dropdowns ------------------------------------------------------------------------------- +// NOTE Cards ----------------------------------------------------------------------------------- + +// NOTE List group ------------------------------------------------------------------------------ +// NOTE Pagination ------------------------------------------------------------------------------ +// NOTE Popovers -------------------------------------------------------------------------------- +// NOTE Typography ------------------------------------------------------------------------------ +// NOTE Forms ----------------------------------------------------------------------------------- + +// NOTE Tables ---------------------------------------------------------------------------------- + +// !SECTION Variables diff --git a/angular18/src/environments/environment.prod.ts b/angular18/src/environments/environment.prod.ts new file mode 100644 index 0000000..7032681 --- /dev/null +++ b/angular18/src/environments/environment.prod.ts @@ -0,0 +1,21 @@ +// Enums +import { EnvName } from '@enums/environment.enum'; + +// Packages +import packageInfo from '../../package.json'; + +const scheme = 'http://'; +const host = 'localhost'; +const port = ':5000'; +const path = '/api/'; + +const baseUrl = scheme + host + port + path; + +export const environment = { + production : true, + version : packageInfo.version, + appName : 'EasyAngular', + envName : EnvName.PROD, + defaultLanguage : 'en', + apiBaseUrl : baseUrl, +}; diff --git a/angular18/src/environments/environment.ts b/angular18/src/environments/environment.ts new file mode 100644 index 0000000..262a8c1 --- /dev/null +++ b/angular18/src/environments/environment.ts @@ -0,0 +1,34 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +// Enums +import { EnvName } from '@enums/environment.enum'; + +// Packages +import packageInfo from '../../package.json'; + +const scheme = 'http://'; +const host = 'localhost'; +const port = ':5000'; +const path = '/api/'; + +const baseUrl = scheme + host + port + path; + +export const environment = { + production : false, + version : packageInfo.version, + appName : 'EasyAngular', + envName : EnvName.LOCAL, + defaultLanguage : 'en', + apiBaseUrl : baseUrl, +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/angular18/src/index.html b/angular18/src/index.html new file mode 100644 index 0000000..e9686fb --- /dev/null +++ b/angular18/src/index.html @@ -0,0 +1,25 @@ + + + + + EasyAngular + + + + + + + + + + + + + + + + + + + + diff --git a/angular18/src/main.ts b/angular18/src/main.ts new file mode 100644 index 0000000..a9bf696 --- /dev/null +++ b/angular18/src/main.ts @@ -0,0 +1,24 @@ +/// + +// Angular modules +import { enableProdMode } from '@angular/core'; +import { bootstrapApplication } from '@angular/platform-browser'; + +// External modules +import { appConfig } from './app/app.config'; + +// Internal modules +import { environment } from './environments/environment'; + +// Components +import { AppComponent } from './app/app.component'; + +if (environment.production) { + enableProdMode(); +} + +bootstrapApplication( + AppComponent, + appConfig +) +.catch(err => console.error(err)); \ No newline at end of file diff --git a/angular18/src/polyfills.ts b/angular18/src/polyfills.ts new file mode 100644 index 0000000..ea246eb --- /dev/null +++ b/angular18/src/polyfills.ts @@ -0,0 +1,54 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes recent versions of Safari, Chrome (including + * Opera), Edge on the desktop, and iOS and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js'; // Included with Angular CLI. + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ + +import '@angular/localize/init'; diff --git a/angular18/src/test.ts b/angular18/src/test.ts new file mode 100644 index 0000000..51bb020 --- /dev/null +++ b/angular18/src/test.ts @@ -0,0 +1,14 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); diff --git a/angular18/tsconfig.app.json b/angular18/tsconfig.app.json new file mode 100644 index 0000000..226adb4 --- /dev/null +++ b/angular18/tsconfig.app.json @@ -0,0 +1,17 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [ + "node" + ] + }, + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/angular18/tsconfig.json b/angular18/tsconfig.json new file mode 100644 index 0000000..72d15ad --- /dev/null +++ b/angular18/tsconfig.json @@ -0,0 +1,53 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": false, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "es2020", + "lib": [ + "es2020", + "dom", + "ES2021.String" + ], + "paths": { + "@blocks/*": ["src/app/shared/components/blocks/*"], + "@forms/*": ["src/app/shared/components/forms/*"], + "@layouts/*": ["src/app/shared/components/layouts/*"], + "@modals/*": ["src/app/shared/components/modals/*"], + "@enums/*": ["src/app/shared/enums/*"], + "@directives/*": ["src/app/shared/directives/*"], + "@pipes/*": ["src/app/shared/pipes/*"], + "@validators/*": ["src/app/shared/validators/*"], + "@factories/*": ["src/app/shared/factories/*"], + "@guards/*": ["src/app/shared/guards/*"], + "@helpers/*": ["src/app/shared/helpers/*"], + "@models/*": ["src/app/shared/models/*"], + "@interfaces/*": ["src/app/shared/interfaces/*"], + "@services/*": ["src/app/shared/services/*"], + "@env/*": ["src/environments/*"] + }, + "useDefineForClassFields": false + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} diff --git a/angular18/tsconfig.spec.json b/angular18/tsconfig.spec.json new file mode 100644 index 0000000..092345b --- /dev/null +++ b/angular18/tsconfig.spec.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +}