Repository: potassco/clinguin (language: python)

Issue:
Handle wrong parent type
Maybe add some error if the type of the parent is not a container, or a dropdown manu for dropdown manu items


Discussion / hints:

Fix patch:
diff --git a/.github/conda/meta.yaml b/.github/conda/meta.yaml
index e63b43ba..8ca08e92 100644
--- a/.github/conda/meta.yaml
+++ b/.github/conda/meta.yaml
@@ -19,7 +19,7 @@ requirements:
   - clingo>=5.6.0
   - clorm>=1.4.1
   - clingo-dl
-  - fastapi==0.103.*
+  - fastapi
   - networkx
   - uvicorn
   - clingraph
diff --git a/.github/deploy.yml b/.github/deploy.yml
index 50c96082..75bf30b7 100644
--- a/.github/deploy.yml
+++ b/.github/deploy.yml
@@ -43,7 +43,7 @@ conda:
           - clingo>=5.6.0
           - clorm>=1.4.1
           - clingo-dl
-          - fastapi==0.103.*
+          - fastapi
           - networkx
           - uvicorn
           - clingraph
diff --git a/.github/requirements.txt b/.github/requirements.txt
index 8f85ce58..734e4d65 100644
--- a/.github/requirements.txt
+++ b/.github/requirements.txt
@@ -1,9 +1,9 @@
 clingo>=5.6.0
 clorm>=1.4.1
 clingo-dl
-fastapi==0.103.*
+fastapi
 networkx
 uvicorn
 clingraph
 Pillow
-clingexplaid>=1.0.14
\ No newline at end of file
+clingexplaid>=1.0.14
diff --git a/.pylintrc b/.pylintrc
index c0aaa1bd..418e444e 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -14,6 +14,8 @@ max-public-methods=20
 max-returns=10
 max-statements=50
 min-public-methods=1
+max-positional-arguments=7
+
 
 [SIMILARITIES]
 
diff --git a/CHANGES.md b/CHANGES.md
index c4f8760f..ccafba1d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,18 @@
 # Changes
 
+## clinguin 2.1.1
+
+  * Bug fix
+    * Menu bar fixed to top
+
+
+## clinguin 2.0.1
+
+  * Bug fix
+    * Message elements now on top
+  * Docs
+    * Added documentation for mouse events
+
 ## clinguin 2.0.0
 
 
diff --git a/angular_frontend/angular.json b/angular_frontend/angular.json
index c68fdd54..32d0a203 100644
--- a/angular_frontend/angular.json
+++ b/angular_frontend/angular.json
@@ -3,7 +3,7 @@
   "version": 1,
   "newProjectRoot": "projects",
   "projects": {
-    "ClinGraphViz": {
+    "ClinguinAngular": {
       "projectType": "application",
       "schematics": {
         "@schematics/angular:component": {
@@ -32,8 +32,7 @@
             "styles": [
               "src/styles.scss"
             ],
-            "scripts": [
-            ]
+            "scripts": []
           },
           "configurations": {
             "production": {
@@ -66,10 +65,10 @@
           "builder": "@angular-devkit/build-angular:dev-server",
           "configurations": {
             "production": {
-              "browserTarget": "ClinGraphViz:build:production"
+              "browserTarget": "ClinguinAngular:build:production"
             },
             "development": {
-              "browserTarget": "ClinGraphViz:build:development"
+              "browserTarget": "ClinguinAngular:build:development"
             }
           },
           "defaultConfiguration": "development"
@@ -77,7 +76,7 @@
         "extract-i18n": {
           "builder": "@angular-devkit/build-angular:extract-i18n",
           "options": {
-            "browserTarget": "ClinGraphViz:build"
+            "browserTarget": "ClinguinAngular:build"
           }
         },
         "test": {
diff --git a/angular_frontend/package.json b/angular_frontend/package.json
index 77f1a977..6967882e 100644
--- a/angular_frontend/package.json
+++ b/angular_frontend/package.json
@@ -37,7 +37,7 @@
     "karma-chrome-launcher": "~3.2.0",
     "karma-coverage": "~2.2.0",
     "karma-jasmine": "~5.1.0",
-    "karma-jasmine-html-reporter": "~2.1.0",
+    "karma-jasmine-html-reporter": "~2.1.1",
     "typescript": "~5.1.3"
   }
-}
\ No newline at end of file
+}
diff --git a/angular_frontend/src/app/app.component.spec.ts b/angular_frontend/src/app/app.component.spec.ts
index 57160f58..f73faba9 100644
--- a/angular_frontend/src/app/app.component.spec.ts
+++ b/angular_frontend/src/app/app.component.spec.ts
@@ -14,16 +14,16 @@ describe('AppComponent', () => {
     expect(app).toBeTruthy();
   });
 
-  it(`should have as title 'ClinGraphViz'`, () => {
+  it(`should have as title 'ClinguinAngular'`, () => {
     const fixture = TestBed.createComponent(AppComponent);
     const app = fixture.componentInstance;
-    expect(app.title).toEqual('ClinGraphViz');
+    expect(app.title).toEqual('ClinguinAngular');
   });
 
   it('should render title', () => {
     const fixture = TestBed.createComponent(AppComponent);
     fixture.detectChanges();
     const compiled = fixture.nativeElement as HTMLElement;
-    expect(compiled.querySelector('.content span')?.textContent).toContain('ClinGraphViz app is running!');
+    expect(compiled.querySelector('.content span')?.textContent).toContain('ClinguinAngular app is running!');
   });
 });
diff --git a/angular_frontend/src/app/app.module.ts b/angular_frontend/src/app/app.module.ts
index c6ebeafc..1306e6db 100644
--- a/angular_frontend/src/app/app.module.ts
+++ b/angular_frontend/src/app/app.module.ts
@@ -14,8 +14,6 @@ import { MenuBarComponent } from './menu-bar/menu-bar.component';
 import { ButtonComponent } from './button/button.component';
 import { CanvasComponent } from './canvas/canvas.component';
 import { MessageComponent } from './message/message.component';
-import { MainPageComponent } from './clingraphviz/main-page/main-page.component';
-import { GraphOptionsComponent } from './clingraphviz/graph-options/graph-options.component';
 import { ConfigService } from './config.service';
 import { LocatorService } from './locator.service';
 import { TextfieldComponent } from './textfield/textfield.component';
@@ -47,8 +45,6 @@ export function appConfigInit(appConfigService: ConfigService) {
     ButtonComponent,
     CanvasComponent,
     MessageComponent,
-    MainPageComponent,
-    GraphOptionsComponent,
     TextfieldComponent,
     ModalComponent,
     ContextMenuComponent,
diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts
index 3cdf0881..237790bc 100644
--- a/angular_frontend/src/app/callback-helper.service.ts
+++ b/angular_frontend/src/app/callback-helper.service.ts
@@ -109,6 +109,8 @@ function handleRightClick(operation: string, event: Event) {
 
 
 function handleUpdate(when: WhenDto, event: Event | null) {
+  console.log("---- Handling update", when)
+
   let elementLookupService = LocatorService.injector.get(ElementLookupService)
 
   let operation = when.operation
@@ -265,6 +267,7 @@ function handleCallback(when: WhenDto, event: Event | null) {
 }
 
 function handleContext(when: WhenDto, event: Event | null) {
+  console.log("---- Handling context", when)
   let contextService = LocatorService.injector.get(ContextService)
   let operation = when.operation
   operation = replaceContext(operation)
diff --git a/angular_frontend/src/app/canvas/canvas.component.ts b/angular_frontend/src/app/canvas/canvas.component.ts
index c04ea5a8..6ec987c6 100644
--- a/angular_frontend/src/app/canvas/canvas.component.ts
+++ b/angular_frontend/src/app/canvas/canvas.component.ts
@@ -67,10 +67,8 @@ export class CanvasComponent {
     let svgNodeElements = this.svgContainer.nativeElement.querySelectorAll(".node, .edge")
     // let svgEdgeElements = this.svgContainer.nativeElement.querySelectorAll(".edge")
 
-    // console.log(svgNodeElements)
     let nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[] = []
     element.children.forEach(child => {
-      // console.log(child)
       let id_attr = this.attributeService.findAttribute("clingraph_id", child.attributes)
 
       if (id_attr != null) {
@@ -99,25 +97,17 @@ export class CanvasComponent {
 
   generateSvgNodeUiNodeAssociationList(svgNodeElements: any, nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[]) {
 
-    // console.log(nodeIdNodeElementLookup)
     let svgNodeUiNodeAssociationList: { "svg": HTMLElement, "ui": ElementDto }[] = []
 
     svgNodeElements.forEach((svgNodeElement: HTMLElement) => {
-      // svgNodeElement.tooltip('hide')
       let correspondingElementDtoNode: null | ElementDto = null
-      // console.error("----")
-      // console.error(svgNodeElement.id)
       nodeIdNodeElementLookup.forEach((item: { "key": string, "value": ElementDto }) => {
 
         if (svgNodeElement.id == item.key) {
           correspondingElementDtoNode = item.value
         } else {
-          // if  (svgNodeElement.id.startsWith("edge")){
-          // key =
-          // }
           for (const child of Array.from(svgNodeElement.children)) {
             if (child.tagName == "title") {
-              // console.log(child.innerHTML)
               if (child.innerHTML == item.key) {
                 correspondingElementDtoNode = item.value
               }
@@ -131,7 +121,7 @@ export class CanvasComponent {
         svgNodeUiNodeAssociationList.push({ "svg": svgNodeElement, "ui": correspondingElementDtoNode })
 
       } else {
-        console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")
+        console.debug("Warning: No svgElement defined for clingraph element", svgNodeElement.id)
       }
     })
 
@@ -145,32 +135,7 @@ export class CanvasComponent {
       let clickRelatedDoList: WhenDto[] = []
       this.callbackService.setCallbacks(elem.svg, elem.ui.when)
 
-      /*
-      uiElement.when.forEach((do_: WhenDto) => {
-        if (do_.actionType == "click") {
-          clickRelatedDoList.push(do_)
-        }
-      })
-
-      elem.svg.addEventListener("click",function(){
-        clickRelatedDoList.forEach((do_:WhenDto) => {
-          if (do_.interactionType == "update") {
-
 
-            let searchedElement : null | HTMLElement = document.getElementById(id)
-            if (searchedElement != null) {
-              if (key == "visibility") {
-                if (value == "hidden") {
-                  searchedElement.style.visibility = "hidden"
-                } else if (value == "shown") {
-                  searchedElement.style.visibility = "visible"
-                }
-              }
-            }
-          }
-        })
-      })
-      */
     })
   }
 
diff --git a/angular_frontend/src/app/clingraphviz/asptranslate.service.spec.ts b/angular_frontend/src/app/clingraphviz/asptranslate.service.spec.ts
deleted file mode 100644
index 186e1124..00000000
--- a/angular_frontend/src/app/clingraphviz/asptranslate.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { ASPtranslateService } from './asptranslate.service';
-
-describe('ASPtranslateService', () => {
-  let service: ASPtranslateService;
-
-  beforeEach(() => {
-    TestBed.configureTestingModule({});
-    service = TestBed.inject(ASPtranslateService);
-  });
-
-  it('should be created', () => {
-    expect(service).toBeTruthy();
-  });
-});
diff --git a/angular_frontend/src/app/clingraphviz/asptranslate.service.ts b/angular_frontend/src/app/clingraphviz/asptranslate.service.ts
deleted file mode 100644
index 0f557651..00000000
--- a/angular_frontend/src/app/clingraphviz/asptranslate.service.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Injectable } from '@angular/core';
-
-@Injectable({
-  providedIn: 'root'
-})
-export class ASPtranslateService {
-
-  constructor() { }
-
-  public toUserInputASP(node:string, id:string, type:string, name:string, value:string): string {
-    return `user_input(${node},${id},${type},${name},${value})`
-  }
-  
-}
diff --git a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.html b/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.html
deleted file mode 100644
index 42d4dfe4..00000000
--- a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<div>
-    <form [formGroup]="optionsForm" (ngSubmit)="submitForm()">
-        <div *ngFor="let option of optionsList">
-            <label>{{option.name}}</label>
-            <br>
-            <textarea id="{{option.name + '_' + this.compID}}" *ngIf="option.type == 'textarea'"
-                [formControlName]="option.name"></textarea>
-            <input id="{{option.name + '_' + this.compID}}" *ngIf="option.type == 'checkbox'" type="checkbox"
-                [formControlName]="option.name" />
-            <input id="{{option.name + '_' + this.compID}}"
-                *ngIf="option.type != 'textarea' && option.type != 'checkbox' && option.type != 'select'"
-                [type]="option.type" [formControlName]="option.name" />
-            <select id="{{option.name + '_' + this.compID}}" *ngIf="option.type == 'select'"
-                [formControlName]="option.name">
-                <option *ngFor="let val of retrieveSelectOptions(option)" value="{{val}}">{{val}}</option>
-            </select>
-        </div>
-        <input type="submit" value="Submit">
-    </form>
-
-</div>
\ No newline at end of file
diff --git a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.scss b/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.scss
deleted file mode 100644
index e69de29b..00000000
diff --git a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.spec.ts b/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.spec.ts
deleted file mode 100644
index e4bed708..00000000
--- a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.spec.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { GraphOptionsComponent } from './graph-options.component';
-
-describe('GraphOptionsComponent', () => {
-  let component: GraphOptionsComponent;
-  let fixture: ComponentFixture<GraphOptionsComponent>;
-
-  beforeEach(() => {
-    TestBed.configureTestingModule({
-      declarations: [GraphOptionsComponent]
-    });
-    fixture = TestBed.createComponent(GraphOptionsComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.ts b/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.ts
deleted file mode 100644
index 33b05e16..00000000
--- a/angular_frontend/src/app/clingraphviz/graph-options/graph-options.component.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Component, EventEmitter, Input, Output } from '@angular/core';
-import { FormGroup } from '@angular/forms';
-import { Input_Option, Select_Option } from '../types/options';
-
-@Component({
-  selector: 'app-graph-options',
-  templateUrl: './graph-options.component.html',
-  styleUrls: ['./graph-options.component.scss']
-})
-export class GraphOptionsComponent {
-  @Input() optionsList!:(Input_Option|Select_Option)[]
-  @Input() optionsForm!:FormGroup
-  @Input() compID:string = ""
-  @Output() submitEvent = new EventEmitter<string>()
-
-  constructor(){}
-
-  retrieveSelectOptions(opt:(Input_Option|Select_Option)){
-    if("options" in opt){
-      return opt.options
-    } else {
-      return []
-    }
-  }
-
-  submitForm(){
-    this.submitEvent.emit("");
-  }
-
-
-}
diff --git a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.html b/angular_frontend/src/app/clingraphviz/header-component/header-component.component.html
deleted file mode 100644
index 954bf993..00000000
--- a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<div class="toolbar">
-    <span>ClinGraphViz</span>
-    <nav>
-        <a href="/ast_page">AST</a>
-        <a>Clingraph</a>
-    </nav>
-</div>
diff --git a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.scss b/angular_frontend/src/app/clingraphviz/header-component/header-component.component.scss
deleted file mode 100644
index e49c32f0..00000000
--- a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-.toolbar {
-    position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-    height: 10%;
-    display: flex;
-    align-items: center;
-    background-color: #1976d2;
-    color: white;
-    font-weight: 600;
-    z-index:100;
-  }
-
-  .toolbar :not(a) {
-    padding: 20px 
-  }
-
-
-
-  .toolbar a {
-    padding: 10px
-  }
\ No newline at end of file
diff --git a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.spec.ts b/angular_frontend/src/app/clingraphviz/header-component/header-component.component.spec.ts
deleted file mode 100644
index 4222284a..00000000
--- a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.spec.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { HeaderComponentComponent } from './header-component.component';
-
-describe('HeaderComponentComponent', () => {
-  let component: HeaderComponentComponent;
-  let fixture: ComponentFixture<HeaderComponentComponent>;
-
-  beforeEach(() => {
-    TestBed.configureTestingModule({
-      declarations: [HeaderComponentComponent]
-    });
-    fixture = TestBed.createComponent(HeaderComponentComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.ts b/angular_frontend/src/app/clingraphviz/header-component/header-component.component.ts
deleted file mode 100644
index 1fb0682f..00000000
--- a/angular_frontend/src/app/clingraphviz/header-component/header-component.component.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component } from '@angular/core';
-
-@Component({
-  selector: 'app-header-component',
-  templateUrl: './header-component.component.html',
-  styleUrls: ['./header-component.component.scss']
-})
-export class HeaderComponentComponent {
-
-}
diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.html b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.html
deleted file mode 100644
index e2157352..00000000
--- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-<div class="row">
-    <div class="col left" style="flex-grow:1;">
-        <label>OPTIONS</label>
-        <br>
-        <form [formGroup]="optionsForm" (ngSubmit)="submitForm()">
-            <div *ngFor="let option of optionsList">
-                <label>{{option.name}}</label>
-                <br>
-                <textarea id="{{option.name + '_' + this.currID}}" *ngIf="option.type == 'textarea'"
-                    [formControlName]="option.name"></textarea>
-                <input id="{{option.name + '_checkbox' + '_' + this.currID}}" *ngIf="option.type == 'checkbox'" type="checkbox"
-                    [formControlName]="option.name" (click)="checkClick($event)" />
-                <input id="{{option.name + '_' + this.currID}}"
-                    *ngIf="option.type != 'textarea' && option.type != 'checkbox' && option.type != 'select'"
-                    [type]="option.type" [formControlName]="option.name" />
-                <select id="{{option.name + '_' + this.currID}}" *ngIf="option.type == 'select'"
-                    [formControlName]="option.name">
-                    <option *ngFor="let val of retrieveSelectOptions(option)" value="{{val}}">{{val}}</option>
-                </select>
-            </div>
-            <input type="submit" value="Submit">
-        </form>
-    </div>
-    <div class="col right" style="overflow:scroll; flex-grow: 10;">
-        <h2 *ngIf="errStr.length > 0" style="color: red;">{{errStr}}</h2>
-        <div #svgContainer (click)="handleNodeClick($event)"></div>
-        <h2 *ngIf="svgString.length <= 0">No graph was created from your request.</h2>
-    </div>
-</div>
\ No newline at end of file
diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.scss b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.scss
deleted file mode 100644
index 7959ab24..00000000
--- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.scss
+++ /dev/null
@@ -1,32 +0,0 @@
-* {
-    box-sizing: border-box;
-  }
-  
-  /* Create two equal columns that floats next to each other */
-  .col {
-    float: left;
-    padding: 10px;
-    height: 300px; /* Should be removed. Only for demonstration */
-  }
-  .left {
-    width: 25%;
-  }
-  
-  .right {
-    width: 75%;
-  }
-  
-  
-  /* Clear floats after the columns */
-  .row:after {
-    content: "";
-    display: table;
-    clear: both;
-  }
-  
-  /* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
-  @media screen and (max-width: 600px) {
-    .col {
-      width: 100%;
-    }
-  }
\ No newline at end of file
diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.spec.ts b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.spec.ts
deleted file mode 100644
index 1085ea2c..00000000
--- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.spec.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { MainPageComponent } from './main-page.component';
-
-describe('MainPageComponent', () => {
-  let component: MainPageComponent;
-  let fixture: ComponentFixture<MainPageComponent>;
-
-  beforeEach(() => {
-    TestBed.configureTestingModule({
-      declarations: [MainPageComponent]
-    });
-    fixture = TestBed.createComponent(MainPageComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts
deleted file mode 100644
index 3f4da55e..00000000
--- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';
-import { FormGroup, FormBuilder, FormControl } from '@angular/forms';
-import { GraphRequest, ClingraphVizDto } from '../types/messageTypes';
-import { NodeOptions, Input_Option, Select_Option } from '../types/options';
-import { ASPtranslateService } from '../asptranslate.service';
-import { ElementDto } from 'src/app/types/json-response.dto';
-import { AttributeHelperService } from 'src/app/attribute-helper.service';
-import { DrawFrontendService } from 'src/app/draw-frontend.service';
-
-@Component({
-  selector: 'app-main-page',
-  templateUrl: './main-page.component.html',
-  styleUrls: ['./main-page.component.scss']
-})
-export class MainPageComponent implements AfterViewInit {
-  @Input() element: ElementDto | null = null
-
-  @ViewChild("svgContainer")
-  svgContainer!: ElementRef;
-
-  optionsForm: FormGroup = new FormGroup({})
-  svgString = ""
-  type = ""
-  nodeOptionsList: NodeOptions[] = []
-  currID: string = ""
-  optionsList: (Input_Option | Select_Option)[] = []
-  errStr: string = ""
-
-  constructor(private attributeService: AttributeHelperService, private frontendService: DrawFrontendService, private fb: FormBuilder, private cd: ChangeDetectorRef, private aspService: ASPtranslateService) { }
-  //private svgService: SvgServiceService  }
-  ngAfterViewInit(): void {
-
-    if (this.element != null) {
-
-      let data = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes)
-      if (data != null) {
-        let clingraph_viz_data: ClingraphVizDto = data as ClingraphVizDto
-
-        this.svgString = clingraph_viz_data.data;
-        this.svgContainer.nativeElement.innerHTML = this.svgString
-
-        this.nodeOptionsList = clingraph_viz_data.option_data;
-        console.log("NodeOptions after init:", this.nodeOptionsList)
-        console.log("form after init: ", this.optionsForm)
-
-        this.cd.detectChanges()
-      }
-
-    }
-  }
-
-  retrieveSelectOptions(opt: (Input_Option | Select_Option)) {
-    if ("options" in opt) {
-      return opt.options
-    } else {
-      return []
-    }
-  }
-
-  handleNodeClick(event: Event) {
-    // console.log("clicked")
-    let element = event.target as HTMLElement
-    let parent = element.parentNode as HTMLElement
-    // console.log(element)
-    // console.log(parent)
-    if (parent !== null && parent.nodeName == 'g') {
-      // console.log("past first")
-      let title = parent.getElementsByTagName("title")[0]
-      // console.log(title)
-      if (title !== null) {
-        // console.log("past second")
-        const compId = title.textContent
-        if (compId !== null && compId !== "") {
-          if (parent.id.startsWith("node")) {
-            // console.log("clicked node with ID: ", compId)
-            this.type = "node"
-            this.updateOptions(compId, "node")
-          } else if (element.id.startsWith("edge")) {
-            // console.log("clicked")
-            this.type = "edge"
-            this.updateOptions(compId, "edge")
-          }
-        }
-      }
-    }
-  }
-
-  checkClick(event: Event) {
-    console.log("clicked box")
-    let target = (event.target as HTMLElement)
-    console.log(target.getAttribute("value"))
-    console.log(target.getAttribute("checked"))
-    console.log("form: ", this.optionsForm)
-  }
-
-  updateOptions(id: string, compType: string) {
-    this.optionsList.forEach((val) => {
-      val.state = this.optionsForm.value[val.name]
-    })
-    this.currID = id
-    let list = this.nodeOptionsList.filter((val) => { return val.id == id && val.compType == compType })
-    if (list.length != 1) {
-      console.log(`Something went wrong: There is more than one or no node/edge with id ${id} in the options list!`)
-      this.errStr = `Something went wrong: There is more than one or no node/edge with id ${id} in the options list!`
-    } else {
-      this.optionsList = list.map(((val) => { return val.options })).flat()
-      let group = new FormGroup({})
-      this.optionsList.forEach((val) => {
-        if (val.type == "checkbox") {
-          let check = val.state == "true" || val.state == true ? true : false
-          group.addControl(val.name, new FormControl(check))
-        } else {
-          group.addControl(val.name, new FormControl(val.state))
-        }
-      })
-
-      this.optionsForm = group
-      console.log("form after update: ", this.optionsForm)
-      console.log(this.nodeOptionsList)
-    }
-  }
-
-  submitForm() {
-    this.errStr = ""
-    let asp: string[] = []
-    let form = this.optionsForm.value
-    console.log("Form: ", form)
-    this.optionsList.forEach((val) => {
-      val.state = form[val.name]
-    })
-    this.nodeOptionsList.forEach((val) => {
-      val.options.forEach((opt) => {
-        asp.push(this.aspService.toUserInputASP(val.compType, val.id, opt.type, opt.name, opt.state))
-      })
-    })
-    let aspString: string = asp.join(",")
-    let req = { "function": `graphUpdate(${aspString})` }
-    console.log(req)
-
-    this.frontendService.uncheckedPost(req as GraphRequest)
-  }
-
-}
diff --git a/angular_frontend/src/app/clingraphviz/svg-service.service.spec.ts b/angular_frontend/src/app/clingraphviz/svg-service.service.spec.ts
deleted file mode 100644
index 25019844..00000000
--- a/angular_frontend/src/app/clingraphviz/svg-service.service.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-
-import { SvgServiceService } from './svg-service.service';
-
-describe('SvgServiceService', () => {
-  let service: SvgServiceService;
-
-  beforeEach(() => {
-    TestBed.configureTestingModule({});
-    service = TestBed.inject(SvgServiceService);
-  });
-
-  it('should be created', () => {
-    expect(service).toBeTruthy();
-  });
-});
diff --git a/angular_frontend/src/app/clingraphviz/svg-service.service.ts b/angular_frontend/src/app/clingraphviz/svg-service.service.ts
deleted file mode 100644
index 08c7108f..00000000
--- a/angular_frontend/src/app/clingraphviz/svg-service.service.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Injectable } from '@angular/core';
-import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
-import { GraphRequest, GraphResponse } from './types/messageTypes';
-import { catchError, map, tap } from 'rxjs/operators';
-import { Observable } from 'rxjs/internal/Observable';
-import { of } from 'rxjs/internal/observable/of';
-import { throwError } from 'rxjs/internal/observable/throwError';
-
-@Injectable()
-export class SvgServiceService {
-
-  constructor(
-    private http: HttpClient) { }
-
-    private backend_URI = "http://localhost:8000"
-
-    get(): Observable<GraphResponse>{
-      const resp = this.http.get<GraphResponse>(this.backend_URI,)
-      
-      .pipe(
-        catchError((error:HttpErrorResponse,caught) => {
-          // Handle the error here (e.g., log it or throw a custom error)
-          console.error('Error occurred during the HTTP request:', error);
-          return throwError(() => new Error(error.error)); 
-        })
-      );
-      return resp; 
-    }
-
-    post(graphRequest:GraphRequest): Observable<GraphResponse>{
-      const resp = this.http.post<GraphResponse>(this.backend_URI+"/backend",graphRequest)
-      .pipe(
-        catchError((error:HttpErrorResponse,caught) => {
-          // Handle the error here (e.g., log it or throw a custom error)
-          console.error('Error occurred during the HTTP request:', error);
-          return throwError(() => new Error(error.error)); 
-        })
-      );
-      return resp; 
-    }
-    
-    mock(graphRequest:GraphRequest): Observable<GraphResponse> {
-      const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
-      const options = { headers }
-      const resp = this.http.post<GraphRequest>(this.backend_URI+"/mock/",graphRequest,{...headers})
-      
-      .pipe(
-        catchError((error,caught) => {
-          // Handle the error here (e.g., log it or throw a custom error)
-          console.error('Error occurred during the HTTP request:', error);
-          return of(error)
-        })
-      );
-      return resp;
-    }
-}
diff --git a/angular_frontend/src/app/clingraphviz/types/messageTypes.ts b/angular_frontend/src/app/clingraphviz/types/messageTypes.ts
deleted file mode 100644
index 5bb7c857..00000000
--- a/angular_frontend/src/app/clingraphviz/types/messageTypes.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { AttributeDto } from "src/app/types/json-response.dto"
-import { NodeOptions } from "./options"
-
-export interface GraphRequest {
-    function: string
-}
-
-export interface ClingraphVizDto extends AttributeDto {
-    data: string,
-    option_data: NodeOptions[]
-}
\ No newline at end of file
diff --git a/angular_frontend/src/app/clingraphviz/types/options.ts b/angular_frontend/src/app/clingraphviz/types/options.ts
deleted file mode 100644
index c8d4c303..00000000
--- a/angular_frontend/src/app/clingraphviz/types/options.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export interface Input_Option {
-    name: string,
-    type: string,
-    state: any
-}
-
-export interface Select_Option {
-    name: string
-    type: string
-    state: any
-    options: string[]
-}
-
-export interface NodeOptions {
-    id: string,
-    compType: string
-    options: (Input_Option|Select_Option)[]
-}
\ No newline at end of file
diff --git a/angular_frontend/src/app/component-creation.service.ts b/angular_frontend/src/app/component-creation.service.ts
index 5ce0da97..d4cf78dc 100644
--- a/angular_frontend/src/app/component-creation.service.ts
+++ b/angular_frontend/src/app/component-creation.service.ts
@@ -5,7 +5,6 @@ import { LabelComponent } from './label/label.component';
 import { MenuBarComponent } from './menu-bar/menu-bar.component';
 import { ButtonComponent } from './button/button.component';
 import { CanvasComponent } from './canvas/canvas.component';
-import { MainPageComponent } from './clingraphviz/main-page/main-page.component';
 import { TextfieldComponent } from './textfield/textfield.component';
 import { ModalComponent } from './modal/modal.component';
 import { ProgressBarComponent } from './progress-bar/progress-bar.component';
@@ -27,7 +26,6 @@ export class ComponentCreationService {
       { key: "label", value: LabelComponent },
       { key: "button", value: ButtonComponent },
       { key: "canvas", value: CanvasComponent },
-      { key: "clingraph_interactive", value: MainPageComponent },
       { key: "textfield", value: TextfieldComponent },
       { key: "modal", value: ModalComponent },
       { key: "progress_bar", value: ProgressBarComponent },
diff --git a/angular_frontend/src/app/draw-frontend.service.ts b/angular_frontend/src/app/draw-frontend.service.ts
index e69567a6..21eda61e 100644
--- a/angular_frontend/src/app/draw-frontend.service.ts
+++ b/angular_frontend/src/app/draw-frontend.service.ts
@@ -33,7 +33,19 @@ export class DrawFrontendService {
 
         loader?.removeAttribute("hidden")
 
-        this.httpService.get().subscribe(
+        let errorIcon = document.getElementById("error")
+
+        errorIcon?.setAttribute("hidden", "true");
+
+        this.httpService.get().pipe(
+            catchError((error: HttpErrorResponse) => {
+                this.postMessage(`Connection Error`);
+                loader?.setAttribute("hidden", "true");
+                errorIcon?.removeAttribute("hidden");
+                return throwError(() => new Error(error.error));
+
+            })
+        ).subscribe(
             {
                 next: (data: ElementDto) => {
                     this.lastData = data
@@ -50,27 +62,27 @@ export class DrawFrontendService {
         let loader = document.getElementById("loader")
         loader?.removeAttribute("hidden")
 
-        this.httpService.post(callback.operation, context).subscribe(
-            {
-                next: (data: ElementDto) => {
-                    this.lastData = data
-                    this.frontendJson.next(data)
-                    loader?.setAttribute("hidden", "true")
-                }
-            })
+        let errorIcon = document.getElementById("error")
 
-    }
+        errorIcon?.setAttribute("hidden", "true");
 
-    uncheckedPost(serverRequest: ServerRequest): void {
+        this.httpService.post(callback.operation, context).pipe(
+            catchError((error: HttpErrorResponse) => {
+                this.postMessage(`Connection Error`);
+                loader?.setAttribute("hidden", "true");
+                errorIcon?.removeAttribute("hidden");
+                return throwError(() => new Error(error.error));
 
-        this.httpClient.post<ElementDto>(this.backend_URI + "/backend", serverRequest).subscribe(
-            //this.httpService.post(serverRequest.function).subscribe(
+            })
+        ).subscribe(
             {
                 next: (data: ElementDto) => {
                     this.lastData = data
                     this.frontendJson.next(data)
+                    loader?.setAttribute("hidden", "true")
                 }
             })
+
     }
 
     detectCreateMenuBar(element: ElementDto) {
@@ -128,4 +140,4 @@ export class DrawFrontendService {
         }
         return messageElement
     }
-}
\ No newline at end of file
+}
diff --git a/angular_frontend/src/app/http.service.ts b/angular_frontend/src/app/http.service.ts
index b5acd995..14dc24d8 100644
--- a/angular_frontend/src/app/http.service.ts
+++ b/angular_frontend/src/app/http.service.ts
@@ -32,8 +32,13 @@ export class HttpService {
     let frontendService = LocatorService.injector.get(DrawFrontendService)
 
 
-    const response = this.http.get<ElementDto>(this.backend_URI,)
-
+    let headers = new HttpHeaders({
+      'ngrok-skip-browser-warning': '1234'
+    });
+    let options = {
+      headers: headers
+    }
+    const response = this.http.get<ElementDto>(this.backend_URI, options)
       .pipe(
         catchError((error: HttpErrorResponse, caught) => {
           console.error('Error occurred during the HTTP request:', error);
@@ -49,6 +54,7 @@ export class HttpService {
   post(operation: string, context: ContextItem[]): Observable<ElementDto> {
     let clonedContext: ContextItem[] = []
     context.forEach(val => clonedContext.push(Object.assign({}, val)));
+    let frontendService = LocatorService.injector.get(DrawFrontendService)
 
     this.modalRefService.closeRemoveAllModals()
     this.elementLookupService.clearElementLookupDict()
@@ -59,7 +65,13 @@ export class HttpService {
     if (clonedContext.length > 0) {
       request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: operation, context: clonedContext })
     } else {
-      request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: operation })
+      request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: operation }).pipe(
+        catchError((error: HttpErrorResponse, caught) => {
+          console.error('Error occurred during the HTTP request:', error);
+          frontendService.postMessage("error connection")
+          return throwError(() => new Error(error.error));
+        })
+      );
     }
     return request
   }
diff --git a/angular_frontend/src/app/menu-bar/menu-bar.component.html b/angular_frontend/src/app/menu-bar/menu-bar.component.html
index 766b8bb3..520a2864 100644
--- a/angular_frontend/src/app/menu-bar/menu-bar.component.html
+++ b/angular_frontend/src/app/menu-bar/menu-bar.component.html
@@ -1,10 +1,10 @@
-<nav class="navbar navbar-expand  bg-light justify-content-between ">
+<nav class="navbar navbar-expand-exp navbar-light justify-content-between bg-light fixed-top">
   <a class="navbar-brand mx-3 text-dark">
-    <i #titleIcon ></i>
+    <i #titleIcon></i>
     {{title}}
   </a>
   <div>
-  <button *ngFor="let button of menuBarButtons" type="button" id={{button.id}} class="btn" ><i #icon></i> {{button.title}}</button>
+    <button *ngFor="let button of menuBarButtons" type="button" id={{button.id}} class="btn"><i #icon></i>
+      {{button.title}}</button>
   </div>
-</nav>
-  
\ No newline at end of file
+</nav>navbar navbar-expand navbar-light bg-light fixed-top
\ No newline at end of file
diff --git a/angular_frontend/src/app/menu-bar/menu-bar.component.ts b/angular_frontend/src/app/menu-bar/menu-bar.component.ts
index d8b97cae..254dd175 100644
--- a/angular_frontend/src/app/menu-bar/menu-bar.component.ts
+++ b/angular_frontend/src/app/menu-bar/menu-bar.component.ts
@@ -28,12 +28,17 @@ export class MenuBarComponent {
       this.elementLookupService.addElementObject(this.element.id, this, this.element)
       this.element.children.forEach(menuBarButton => {
         let menuBarButtonTitle = this.attributeService.findGetAttributeValue("label", menuBarButton.attributes, "")
-        let menuBarButtonObject = new MenuBarButton(menuBarButton.id, menuBarButtonTitle, menuBarButton)
+        let menuBarButtonOrder = this.attributeService.findGetAttributeValue("order", menuBarButton.attributes, "0")
+        let menuBarButtonObject = new MenuBarButton(menuBarButton.id, menuBarButtonTitle, menuBarButton, menuBarButtonOrder)
         this.elementLookupService.addElementObject(menuBarButton.id, menuBarButtonObject, menuBarButton)
         this.menuBarButtons.push(menuBarButtonObject)
       })
       this.cd.detectChanges()
 
+      this.menuBarButtons.sort((a: MenuBarButton, b: MenuBarButton) => {
+        return a.order - b.order
+      })
+
       this.menuBarButtons.forEach((menuBarButtonObject: MenuBarButton) => {
         let menuBarButtonHTML: HTMLElement | null = document.getElementById(menuBarButtonObject.id)
         if (menuBarButtonHTML != null) {
@@ -83,12 +88,14 @@ class MenuBarButton {
   id: string = ""
   title: string = ""
   element!: ElementDto
+  order: number = 0
   htmlElement: HTMLElement | null = null
 
-  constructor(id: string, title: string, element: ElementDto) {
+  constructor(id: string, title: string, element: ElementDto, order: string | null) {
     this.id = id
     this.title = title
     this.element = element
+    this.order = order != null ? parseInt(order) : 0
   }
 
   setHtmlElement(htmlElement: HTMLElement) {
diff --git a/angular_frontend/src/app/types/json-response.dto.ts b/angular_frontend/src/app/types/json-response.dto.ts
index 17179999..0159a962 100644
--- a/angular_frontend/src/app/types/json-response.dto.ts
+++ b/angular_frontend/src/app/types/json-response.dto.ts
@@ -1,4 +1,3 @@
-import { NodeOptions } from "../clingraphviz/types/options"
 
 
 export interface JsonResponse {
diff --git a/angular_frontend/src/app/window/window.component.html b/angular_frontend/src/app/window/window.component.html
index 386212b5..5d6ef382 100644
--- a/angular_frontend/src/app/window/window.component.html
+++ b/angular_frontend/src/app/window/window.component.html
@@ -1,5 +1,5 @@
 <div id={{window_id}} *ngIf="window != null" #parent
-    style="margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;">
+    style="margin-top: 30px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;">
     <ng-template #child></ng-template>
 
 </div>
@@ -7,8 +7,11 @@
     <div class="spinner-border text-black float-end" role="status">
     </div>
 </div>
-<div style="position: fixed; bottom:0;" *ngIf="window != null">
+<div id=error class="myspinner text-danger clearfix text-lg p-3 fs-1 float-end">
+    <i class="fa-solid fa-circle-exclamation"></i>
+</div>
+<div style="z-index: 9999; position: fixed; bottom:0;" *ngIf="window != null">
     <app-message *ngFor="let message of messageList" [element]="message"></app-message>
 </div>
 <app-context-menu *ngFor="let contextMenu of contextMenuList" [id]="contextMenu.id" [element]="contextMenu"
-    style="display: none; position: absolute;"></app-context-menu>
\ No newline at end of file
+    style="display: none; position: absolute;"></app-context-menu>
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json
index 0c351ef2..9a5cd95a 100644
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json
@@ -1,4 +1,1 @@
-{
-    "serverUrl": "http://localhost",
-    "serverPort": "8000"
-}
\ No newline at end of file
+{"serverPort": 8000, "serverUrl": "http://localhost"}
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
index f986854b..e8d625e3 100644
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
@@ -11,5 +11,5 @@
 <style>@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0052CC;--bs-secondary:#6554C0;--bs-success:#36B37E;--bs-info:#B3BAC5;--bs-warning:#FFAB00;--bs-danger:#FF5630;--bs-light:#F4F5F7;--bs-dark:#212529;--bs-primary-rgb:0, 82, 204;--bs-secondary-rgb:101, 84, 192;--bs-success-rgb:54, 179, 126;--bs-info-rgb:179, 186, 197;--bs-warning-rgb:255, 171, 0;--bs-danger-rgb:255, 86, 48;--bs-light-rgb:244, 245, 247;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#002152;--bs-secondary-text-emphasis:#28224d;--bs-success-text-emphasis:#164832;--bs-info-text-emphasis:#484a4f;--bs-warning-text-emphasis:#664400;--bs-danger-text-emphasis:#662213;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#ccdcf5;--bs-secondary-bg-subtle:#e0ddf2;--bs-success-bg-subtle:#d7f0e5;--bs-info-bg-subtle:#f0f1f3;--bs-warning-bg-subtle:#ffeecc;--bs-danger-bg-subtle:#ffddd6;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#99baeb;--bs-secondary-border-subtle:#c1bbe6;--bs-success-border-subtle:#afe1cb;--bs-info-border-subtle:#e1e3e8;--bs-warning-border-subtle:#ffdd99;--bs-danger-border-subtle:#ffbbac;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0052CC;--bs-link-color-rgb:0, 82, 204;--bs-link-decoration:underline;--bs-link-hover-color:#0042a3;--bs-link-hover-color-rgb:0, 66, 163;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(0, 82, 204, .25);--bs-form-valid-color:#36B37E;--bs-form-valid-border-color:#36B37E;--bs-form-invalid-color:#FF5630;--bs-form-invalid-border-color:#FF5630}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}: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}</style><link rel="stylesheet" href="styles.873dc2da1e53dafd.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.873dc2da1e53dafd.css"></noscript></head>
 <body>
   <app-root></app-root>
-<script src="runtime.84bc4c0ecf672dbc.js" type="module"></script><script src="polyfills.c3c1ec5412338255.js" type="module"></script><script src="main.1cc00d505f1cf91c.js" type="module"></script></body>
+<script src="runtime.496fedc6e58b1167.js" type="module"></script><script src="polyfills.26316270d5c34064.js" type="module"></script><script src="main.6297c055e9df0b42.js" type="module"></script></body>
 </html>
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.1cc00d505f1cf91c.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.1cc00d505f1cf91c.js
deleted file mode 100644
index 68cfdcd7..00000000
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.1cc00d505f1cf91c.js
+++ /dev/null
@@ -1,1 +0,0 @@
-(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{700:(yi,Yt,He)=>{"use strict";function $(e){return"function"==typeof e}function ut(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Ke=ut(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=i});function Be(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Ke?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Ke?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Ke(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&Be(i,t)}remove(t){const{_finalizers:i}=this;i&&Be(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ue(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const dt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},je={setTimeout(e,t,...i){const{delegate:n}=je;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=je;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ft(e){je.setTimeout(()=>{const{onUnhandledError:t}=dt;if(!t)throw e;t(e)})}function wt(){}const Z=Xe("C",void 0,void 0);function Xe(e,t,i){return{kind:e,value:t,error:i}}let et=null;function xe(e){if(dt.useDeprecatedSynchronousErrorHandling){const t=!et;if(t&&(et={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=et;if(et=null,i)throw n}}else e()}class tn extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ue(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new bi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Xe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Xe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function St(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){Di(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){Di(n)}else Di(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){Di(i)}}}class bi extends tn{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&dt.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&St(t.next,s),error:t.error&&St(t.error,s),complete:t.complete&&St(t.complete,s)}):r=t}this.destination=new mr(r)}}function Di(e){dt.useDeprecatedSynchronousErrorHandling?function It(e){dt.useDeprecatedSynchronousErrorHandling&&et&&(et.errorThrown=!0,et.error=e)}(e):ft(e)}function vr(e,t){const{onStoppedNotification:i}=dt;i&&je.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function yo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function wi(e){return e}let Ye=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function Do(e){return e&&e instanceof tn||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ue(e)}(i)?i:new bi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new bi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?wi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??dt.Promise)&&void 0!==t?t:Promise}const as=ut(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ne=(()=>{class e extends Ye{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Pt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,Be(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new Ye;return i.source=this,i}}return e.create=(t,i)=>new Pt(t,i),e})();class Pt extends ne{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ht(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends tn{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Ft(e,t){return mt((i,n)=>{let r=0;i.subscribe(ht(n,s=>{n.next(e.call(t,s,r++))}))})}function tt(e){return this instanceof tt?(this.v=e,this):new tt(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const gg=function TS(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function Ci(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof tt?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield tt(i.read());if(r)return yield tt(void 0);yield yield tt(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function kt(e){if(e instanceof Ye)return e;if(null!=e){if(fg(e))return function MS(e){return new Ye(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function IS(e){return new Ye(t=>{for(let i=0;i<e.length&&!t.closed;i++)t.next(e[i]);t.complete()})}(e);if(dg(e))return function NS(e){return new Ye(t=>{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,ft)})}(e);if(hg(e))return yg(e);if(_g(e))return function AS(e){return new Ye(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function OS(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new Ye(t=>{(function xS(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Ft((s,o)=>t(n,s,r,o))(kt(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RS(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c<n?y(b):l.push(b),y=b=>{s&&t.next(b),c++;let D=!1;kt(i(b,u++)).subscribe(ht(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&c<n;){const T=l.shift();o?Xi(t,o,()=>y(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ht(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(wi,e)}const wo=new Ye(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Xa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ht(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Sg(e,t){if(!e)throw new Error("Iterable cannot be null");return new Ye(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function Co(e,t){return t?function US(e,t){if(null!=e){if(fg(e))return function kS(e,t){return kt(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function BS(e,t){return new Ye(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function LS(e,t){return kt(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Sg(e,t);if(_g(e))return function VS(e,t){return new Ye(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function HS(e,t){return Sg(mg(e),t)}(e,t)}throw pg(e)}(e,t):kt(e)}class jS extends ne{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return Co(e,Xa(e))}function Tg(e={}){const{connector:t=(()=>new ne),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new bi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),kt(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new bi({next:()=>{n.unsubscribe(),e()}});return kt(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ht(n,l=>{r?.unsubscribe();let c=0;const u=s++;kt(e(l,u)).subscribe(r=ht(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $S(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function el(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).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 i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GS=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function te(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty(GS)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function tl(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function ie(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function nl(e){return Ng(e,rl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function il(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(QS))?e[Gu]:null}const rl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),QS=Re({ngInjectorDef:Re});var ge=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}(ge||{});let zu;function mn(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=nl(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const $e=globalThis,So={},Ju="__NG_DI_FLAG__",sl="ngTempTokenPath",eE=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iE(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||iE)(te(e),t)}function fe(e,t=ge.Default){return L(e,ol(t))}function ol(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;i<e.length;i++){const n=te(e[i]);if(Array.isArray(n)){if(0===n.length)throw new F(900,!1);let r,s=ge.Default;for(let o=0;o<n.length;o++){const a=n[o],l=rE(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}t.push(L(r,s))}else t.push(L(n))}return t}function Eo(e,t){return e[Ju]=t,e.prototype[Ju]=t,e}function rE(e){return e[Ju]}function Bi(e){return{toString:e}.toString()}var al=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(al||{}),ei=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(ei||{});const Si={},Ee=[],ll=Re({\u0275cmp:Re}),Ku=Re({\u0275dir:Re}),Xu=Re({\u0275pipe:Re}),kg=Re({\u0275mod:Re}),Vi=Re({\u0275fac:Re}),To=Re({__NG_ELEMENT_ID__:Re}),Lg=Re({__NG_ENV_ID__:Re});function Bg(e,t,i){let n=e.length;for(;;){const r=e.indexOf(t,i);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const s=t.length;if(r+s===n||e.charCodeAt(r+s)<=32)return r}i=r+1}}function ed(e,t,i){let n=0;for(;n<i.length;){const r=i[n];if("number"==typeof r){if(0!==r)break;n++;const s=i[n++],o=i[n++],a=i[n++];e.setAttribute(t,o,a,s)}else{const s=r,o=i[++n];Hg(s)?e.setProperty(t,s,o):e.setAttribute(t,s,o),n++}}return n}function Vg(e){return 3===e||4===e||6===e}function Hg(e){return 64===e.charCodeAt(0)}function Mo(e,t){if(null!==t&&0!==t.length)if(null===e||0===e.length)e=t.slice();else{let i=-1;for(let n=0;n<t.length;n++){const r=t[n];"number"==typeof r?i=r:0===i||Ug(e,i,r,null,-1===i||2===i?t[++n]:null)}}return e}function Ug(e,t,i,n,r){let s=0,o=e.length;if(-1===t)o=-1;else for(;s<e.length;){const a=e[s++];if("number"==typeof a){if(a===t){o=-1;break}if(a>t){o=s-1;break}}}for(;s<e.length;){const a=e[s];if("number"==typeof a)break;if(a===i){if(null===n)return void(null!==r&&(e[s+1]=r));if(n===e[s+1])return void(e[s+2]=r)}s++,null!==n&&s++,null!==r&&s++}-1!==o&&(e.splice(o,0,t),s=o+1),e.splice(s++,0,i),null!==n&&e.splice(s++,0,n),null!==r&&e.splice(s++,0,r)}const jg="ng-template";function aE(e,t,i){let n=0,r=!0;for(;n<e.length;){let s=e[n++];if("string"==typeof s&&r){const o=e[n++];if(i&&"class"===s&&-1!==Bg(o.toLowerCase(),t,0))return!0}else{if(1===s){for(;n<e.length&&"string"==typeof(s=e[n++]);)if(s.toLowerCase()===t)return!0;return!1}"number"==typeof s&&(r=!1)}}return!1}function $g(e){return 4===e.type&&e.value!==jg}function lE(e,t,i){return t===(4!==e.type||i?e.value:jg)}function cE(e,t,i){let n=4;const r=e.attrs||[],s=function fE(e){for(let t=0;t<e.length;t++)if(Vg(e[t]))return t;return e.length}(r);let o=!1;for(let a=0;a<t.length;a++){const l=t[a];if("number"!=typeof l){if(!o)if(4&n){if(n=2|1&n,""!==l&&!lE(e,l,i)||""===l&&1===t.length){if(ti(n))return!1;o=!0}}else{const c=8&n?l:t[++a];if(8&n&&null!==e.attrs){if(!aE(e.attrs,c,i)){if(ti(n))return!1;o=!0}continue}const h=uE(8&n?"class":l,r,$g(e),i);if(-1===h){if(ti(n))return!1;o=!0;continue}if(""!==c){let g;g=h>s?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uE(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r<t.length;){const o=t[r];if(o===e)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=t[++r];for(;"string"==typeof a;)a=t[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function hE(e,t){let i=e.indexOf(4);if(i>-1)for(i++;i<e.length;){const n=e[i];if("number"==typeof n)return-1;if(n===t)return i;i++}return-1}(t,e)}function Gg(e,t,i=!1){for(let n=0;n<t.length;n++)if(cE(e,t[n],i))return!0;return!1}function pE(e,t){e:for(let i=0;i<t.length;i++){const n=t[i];if(e.length===n.length){for(let r=0;r<e.length;r++)if(e[r]!==n[r])continue e;return!0}}return!1}function zg(e,t){return e?":not("+t.trim()+")":t}function gE(e){let t=e[0],i=1,n=2,r="",s=!1;for(;i<e.length;){let o=e[i];if("string"==typeof o)if(2&n){const a=e[++i];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function Ge(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===al.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=cl(n,!1),i.pipeDefs=cl(n,!0),i.id=function wE(e){let t=0;const i=[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 i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vE(e){return me(e)||Ht(e)}function yE(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Si;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ll]||null}function Ht(e){return e[Ku]||null}function rn(e){return e[Xu]||null}function Yg(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||Si,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function cl(e,t){if(!e)return null;const i=t?rn:vE;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yE)}const pt=0,j=1,se=2,nt=3,ni=4,No=5,Zt=6,hs=7,vt=8,tr=9,ps=10,re=11,Ao=12,Jg=13,gs=14,yt=15,Oo=16,_s=17,Ei=18,xo=19,Qg=20,nr=21,Hi=22,ul=23,dl=24,pe=25,td=1,Kg=2,Ti=7,ms=9,Ut=11;function yn(e){return Array.isArray(e)&&"object"==typeof e[td]}function sn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function hl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[se])}function Sr(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IE=$e.WeakRef??class ME{constructor(t){this.ref=t}deref(){return this.ref}},AE=0,Mi=null,pl=!1;function Lt(e){const t=Mi;return Mi=e,t}class i_{constructor(){this.id=AE++,this.ref=function NE(e){return new IE(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=pl;pl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{pl=t}}producerAccessed(){if(pl)throw new Error("");if(null===Mi)return;let t=Mi.producers.get(this.id);void 0===t?(t={consumerNode:Mi.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Mi.trackingVersion},Mi.producers.set(this.id,t),this.consumers.set(Mi.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Mi.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Mi?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class PE extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=Lt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{Lt(t)}}cleanup(){this.cleanupFn()}}class FE{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function on(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LE),kE}function kE(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Si)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LE(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function BE(e,t){return e[l_]=t}(e,{previous:Si,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FE(l&&l.currentValue,t,a===Si),e[n]=t}on.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Ii=function(e,t,i){};function Ze(e){for(;Array.isArray(e);)e=e[pt];return e}function ml(e,t){return Ze(t[e])}function bn(e,t){return Ze(t[e.index])}function f_(e,t){return e.data[t]}function xn(e,t){const i=t[e];return yn(i)?i:i[pt]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function GE(e){1024&e[se]||(e[se]|=1024,g_(e,1))}function p_(e){1024&e[se]&&(e[se]&=-1025,g_(e,-1))}function g_(e,t){let i=e[nt];if(null===i)return;i[No]+=t;let n=i;for(i=i[nt];null!==i&&(1===t&&1===n[No]||-1===t&&0===n[No]);)i[No]+=t,n=i,i=i[nt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function an(e){return K.lFrame.contextLView=e,e[vt]}function ln(e){return K.lFrame.contextLView=null,e}function jt(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ni(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[j];return 2===t.type?t.declTNode:1===t.type?e[Zt]:null}function S_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=E_(),i=e[j];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(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 M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 un(){return K.lFrame.selectedIndex}function Er(e){K.lFrame.selectedIndex=e}function lt(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function vl(){return A_}function rr(e){A_=e}function yl(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i<n;i++){const s=e.data[i].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(e.contentHooks??=[]).push(-i,o),a&&((e.contentHooks??=[]).push(i,a),(e.contentCheckHooks??=[]).push(i,a)),l&&(e.viewHooks??=[]).push(-i,l),c&&((e.viewHooks??=[]).push(i,c),(e.viewCheckHooks??=[]).push(i,c)),null!=u&&(e.destroyHooks??=[]).push(i,u)}}function bl(e,t,i){O_(e,t,3,i)}function Dl(e,t,i,n){(3&e[se])===i&&O_(e,t,i,n)}function md(e,t){let i=e[se];(3&i)===t&&(i&=8191,i+=1,e[se]=i)}function O_(e,t,i,n){const s=n??-1,o=t.length-1;let a=0;for(let l=void 0!==n?65535&e[_s]:0;l<o;l++)if("number"==typeof t[l+1]){if(a=t[l],null!=n&&a>=n)break}else t[l]<0&&(e[_s]+=65536),(a<s||-1==s)&&(fT(e,i,t,l),e[_s]=(4294901760&e[_s])+l+2),l++}function x_(e,t){Ii(4,e,t);const i=Lt(null);try{t.call(e)}finally{Lt(i),Ii(5,e,t)}}function fT(e,t,i,n){const r=i[n]<0,s=i[n+1],a=e[r?-i[n]:i[n]];r?e[se]>>13<e[_s]>>16&&(3&e[se])===t&&(e[se]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Fo{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function ko(e){return 32767&e}function Lo(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function wl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let mT=0;const Ai={};function Cl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[j];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=Sl(e,t),s=e.injectorIndex;if(yd(r)){const o=ko(r),a=Lo(r,t),l=a[j].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function Sl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(To)&&(n=i[To]),null==n&&(n=i[To]=mT++);const r=n&R_;t.data[e+(r>>P_)]|=1<<r}(e,t,i)}function k_(e,t,i){if(i&ge.Optional||void 0!==e)return e;$u()}function L_(e,t,i,n){if(i&ge.Optional&&void 0===n&&(n=null),!(i&(ge.Self|ge.Host))){const r=e[tr],s=mn(void 0);try{return r?r.get(t,n,i&ge.Optional):xg(t,n,i&ge.Optional)}finally{mn(s)}}return k_(n,0,i)}function B_(e,t,i,n=ge.Default,r){if(null!==e){if(2048&t[se]&&!(n&ge.Self)){const o=function ST(e,t,i,n,r){let s=e,o=t;for(;null!==s&&null!==o&&2048&o[se]&&!(512&o[se]);){const a=V_(s,o,i,n|ge.Self,Ai);if(a!==Ai)return a;let l=s.parent;if(!l){const c=o[Qg];if(c){const u=c.get(i,Ai,n);if(u!==Ai)return u}l=j_(o),o=o[gs]}s=l}return r}(e,t,i,n,Ai);if(o!==Ai)return o}const s=V_(e,t,i,n,Ai);if(s!==Ai)return s}return L_(t,i,n,r)}function V_(e,t,i,n,r){const s=function DT(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(To)?e[To]:void 0;return"number"==typeof t?t>=0?t&R_:CT:t}(i);if("function"==typeof s){if(!S_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][Zt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?Sl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[j],a=ko(l),t=Lo(l,t)):a=-1);-1!==a;){const u=t[j];if(H_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Ai)return h}l=t[a+8],l!==Ds&&U_(n,t[j].data[a+8]===c)&&H_(s,a,t)?(o=u,a=ko(l),t=Lo(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[j],a=o.data[e+8],u=El(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Ai}function El(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_<g;_++){const y=o[_];if(_<l&&i===y||_>=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Fo}(r)){const o=r;o.resolving&&function zS(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():ie(e)}(s[i]));const a=wl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?mn(o.injectImpl):null;S_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&mn(c),wl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<<e)}function U_(e,t){return!(e&ge.Self||e&ge.Host&&t)}class dn{constructor(t,i){this._tNode=t,this._lView=i}get(t,i,n){return B_(this._tNode,this._lView,t,ol(n),i)}}function CT(){return new dn(jt(),A())}function Et(e){return Bi(()=>{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(te(e));return t&&t()}:Sr(e)}function j_(e){const t=e[j],i=t.type;return 2===i?t.declTNode:1===i?e[Zt]:null}const Ss="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Sd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Ss)?l[Ss]:Object.defineProperty(l,Ss,{value:[]})[Ss];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function Tl(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Ho(e,t){const i=[];for(let n=0;n<e;n++)i.push(t);return i}function Rn(e,t,i){let n=Ns(e,t);return n>=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<<i];if(t===o)return s<<i;o>t?r=s:n=s+1}return~(r<<i)}(e,t,1)}const Md=Eo(Ts("Optional"),8),Id=Eo(Ts("SkipSelf"),4);function xl(e){return 128==(128&e.flags)}var sr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(sr||{});const xd=new Map;let tM=0;const Pd="__ngContext__";function Jt(e,t){yn(t)?(e[Pd]=t[xo],function iM(e){xd.set(e[xo],e)}(t)):e[Pd]=t}let Fd;function kd(e,t){return Fd(e,t)}function $o(e){const t=e[nt];return sn(t)?t[nt]:t}function dm(e){return hm(e[Ao])}function fm(e){return hm(e[ni])}function hm(e){for(;null!==e&&!sn(e);)e=e[ni];return e}function xs(e,t,i,n,r){if(null!=n){let s,o=!1;sn(n)?s=n:yn(n)&&(o=!0,n=n[pt]);const a=Ze(n);0===e&&null!==i?null==r?mm(t,i,a):Mr(t,i,a,r||null,!0):1===e&&null!==i?Mr(t,i,a,r||null,!0):2===e?function Vl(e,t,i){const n=Ll(e,t);n&&function wM(e,t,i,n){e.removeChild(t,i,n)}(e,n,t,i)}(t,a,o):3===e&&t.destroyNode(a),null!=s&&function EM(e,t,i,n,r){const s=i[Ti];s!==Ze(i)&&xs(t,e,n,s,r);for(let a=Ut;a<i.length;a++){const l=i[a];zo(l[j],l,e,t,n,s)}}(t,e,s,i,r)}}function Fl(e,t,i){return e.createElement(t,i)}function gm(e,t){const i=e[ms],n=i.indexOf(t);p_(t),i.splice(n,1)}function kl(e,t){if(e.length<=Ut)return;const i=Ut+t,n=e[i];if(n){const r=n[Oo];null!==r&&r!==e&&gm(r,n),t>0&&(e[i-1][ni]=n[ni]);const s=Tl(e,Ut+t);!function pM(e,t){zo(e,t,t[re],2,null,null),t[pt]=null,t[Zt]=null}(n[j],n);const o=s[Ei];null!==o&&o.detachView(s[j]),n[nt]=null,n[ni]=null,n[se]&=-129}return n}function Bd(e,t){if(!(256&t[se])){const i=t[re];t[ul]?.destroy(),t[dl]?.destroy(),i.destroyNode&&zo(e,t,i,3,null,null),function mM(e){let t=e[Ao];if(!t)return Vd(e[j],e);for(;t;){let i=null;if(yn(t))i=t[Ao];else{const n=t[Ut];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)yn(t)&&Vd(t[j],t),t=t[nt];null===t&&(t=e),yn(t)&&Vd(t[j],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[se])){t[se]&=-129,t[se]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n<i.length;n+=2){const r=t[i[n]];if(!(r instanceof Fo)){const s=i[n+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];Ii(4,a,l);try{l.call(a)}finally{Ii(5,a,l)}}else{Ii(4,r,s);try{s.call(r)}finally{Ii(5,r,s)}}}}}(e,t),function bM(e,t){const i=e.cleanup,n=t[hs];if(null!==i)for(let s=0;s<i.length-1;s+=2)if("string"==typeof i[s]){const o=i[s+3];o>=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s<r.length;s++)(0,r[s])()}}(e,t),1===t[j].type&&t[re].destroy();const i=t[Oo];if(null!==i&&sn(t[nt])){i!==t[nt]&&gm(i,t);const n=t[Ei];null!==n&&n.detachView(e)}!function rM(e){xd.delete(e[xo])}(t)}}function Hd(e,t,i){return function _m(e,t,i){let n=t;for(;null!==n&&40&n.type;)n=(t=n).parent;if(null===n)return i[pt];{const{componentOffset:r}=n;if(r>-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return bn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Ll(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Hl,zd,Ul,Dm=function bm(e,t,i){return 40&e.type?bn(e,i):null};function Bl(e,t,i,n){const r=Hd(e,n,t),s=t[re],a=ym(n.parent||t[Zt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;l<i.length;l++)vm(s,r,i[l],a,!1);else vm(s,r,i,a,!1);void 0!==Ud&&Ud(s,n,t,i,r)}function Go(e,t){if(null!==t){const i=t.type;if(3&i)return bn(t,e);if(4&i)return jd(-1,e[t.index]);if(8&i){const n=t.child;if(null!==n)return Go(e,n);{const r=e[t.index];return sn(r)?jd(-1,r):Ze(r)}}if(32&i)return kd(t,e)()||Ze(e[t.index]);{const n=Cm(e,t);return null!==n?Array.isArray(n)?n[0]:Go($o(e[yt]),n):Go(e,t.next)}}return null}function Cm(e,t){return null!==t?e[yt][Zt].projection[t.projection]:null}function jd(e,t){const i=Ut+e+1;if(i<t.length){const n=t[i],r=n[j].firstChild;if(null!==r)return Go(n,r)}return t[Ti]}function $d(e,t,i,n,r,s,o){for(;null!=i;){const a=n[i.index],l=i.type;if(o&&0===t&&(a&&Jt(Ze(a),n),i.flags|=2),32!=(32&i.flags))if(8&l)$d(e,t,i.child,n,r,s,!1),xs(t,e,r,a,s);else if(32&l){const c=kd(i,n);let u;for(;u=c();)xs(t,e,r,u,s);xs(t,e,r,a,s)}else 16&l?Em(e,t,n,i,r,s):xs(t,e,r,a,s);i=o?i.projectionNext:i.next}}function zo(e,t,i,n,r,s){$d(i,n,e.firstChild,t,r,s,!1)}function Em(e,t,i,n,r,s){const o=i[yt],l=o[Zt].projection[n.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)xs(t,e,r,l[c],s);else{let c=l;const u=o[nt];xl(n)&&(c.flags|=128),$d(e,t,c,u,r,s,!0)}}function Tm(e,t,i){""===i?e.removeAttribute(t,"class"):e.setAttribute(t,"class",i)}function Mm(e,t,i){const{mergedAttrs:n,classes:r,styles:s}=i;null!==n&&ed(e,t,n),null!==r&&Tm(e,t,r),null!==s&&function MM(e,t,i){e.setAttribute(t,"style",i)}(e,t,s)}function Rs(e){return function Gd(){if(void 0===Hl&&(Hl=null,$e.trustedTypes))try{Hl=$e.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Hl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Ul&&(Ul=null,$e.trustedTypes))try{Ul=$e.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Ul}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function Wo(e,t){const i=function LM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t="<body><remove></remove>"+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function qo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=qo(Rm,qo(Pm,$i("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")),qo(Fm,$i("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")),qo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=qo(Zd,$i("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"),$i("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")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r<n.length;r++){const s=n.item(r),o=s.name,a=o.toLowerCase();if(!km.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=s.value;Zd[a]&&(l=qd(l)),this.buf.push(" ",o,'="',Lm(l),'"')}return this.buf.push(">"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push("</"),this.buf.push(i),this.buf.push(">"))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&amp;").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let jl;function Jd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=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}(Fs||{});function Bm(e){const t=Yo();return t?Im(t.sanitize(Fs.HTML,e)||""):Wo(e,"HTML")?Im(or(e)):function WM(e,t){let i=null;try{jl=jl||function xm(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=jl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=jl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),ie(e))}function Qd(e){const t=Yo();return t?t.sanitize(Fs.URL,e)||"":Wo(e,"URL")?or(e):qd(ie(e))}function Yo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const $l=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=So){if(i===So){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;Gl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i<e.length;i++){const{ngModule:n,providers:r}=e[i];ef(r,s=>{t(s,n)})}}function Gl(e,t,i,n){if(!(e=te(e)))return!1;let r=null,s=il(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=il(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)Gl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{Gl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Sr(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:$l,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),zl={},iI={};let rf;function Wl(){return void 0===rf&&(rf=new Kd),rf}class zn{}class ql extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=mn(void 0);try{return t()}finally{er(i),mn(n)}}get(t,i=So,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=ol(n);const s=er(this),o=mn(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&nl(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),zl):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Wl():this.parent).get(t,i=n&ge.Optional&&i===So?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[sl]=a[sl]||[]).unshift(Nt(t)),s)throw a;return function sE(e,t,i,n){const r=e[sl];throw t[Pg]&&r.unshift(t[Pg]),e.message=function oE(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eE,"\n  ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[sl]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{mn(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=mn(void 0);try{const r=this.get($l.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),mn(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=te(t))?t:te(t&&t.provide);const n=function sI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),zl)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,zl,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===zl&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=te(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=nl(e),i=null!==t?t.factory:Sr(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Ho(t,"?"),new F(204,!1);const i=function JS(e){return e&&(e[rl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=te(e);return Sr(r)||sf(r)}if(tf(e))n=()=>te(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(te(e.useExisting));else{const r=te(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Sr(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Yl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class yI{}class Km{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let ec=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(jt(),A())}function Vs(e,t){return new Fe(bn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function SI(){const e=A(),i=xn(jt().index,e);return(yn(i)?i:e)[re]}(),t})(),EI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class tc{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new tc("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new ql(s,t||Wl(),n||null,r)}let Qt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=So,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ne{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Te{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(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=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof $e.requestAnimationFrame;let t=$e[e?"requestAnimationFrame":"setTimeout"],i=$e[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call($e,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Sf(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Sf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Sf(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Te.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Te.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function Cf(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 Sf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Te);let t=!0;return function Eg(...e){const t=Xa(e),i=function FS(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?kt(n[0]):bg(i)(Co(n,t)):wo}(new Ye(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new Ye(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Te.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Te.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Qo(e){for(;e;){e[se]|=64;const t=$o(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Qo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=Lt(this);this.trackingVersion++;try{t(i,n)}finally{Lt(r)}}destroy(){this.trackingVersion++}}let ic=null;function yv(){return ic??=new vv,ic}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=ic,i.lView=e,ic=new vv)}const oe={};function x(e){wv(ve(),A(),un()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[se])){const s=e.preOrderCheckHooks;null!==s&&bl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&Dl(t,s,0,i)}Er(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(jt(),i,te(e),t)}function rc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[pt]=r,h[se]=140|n,(null!==c||e&&2048&e[se])&&(h[se]|=2048),h_(h),h[nt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[re]=a||e&&e[re],h[tr]=l||e&&e[tr]||null,h[Zt]=s,h[xo]=function nM(){return tM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Po(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ni(s,!0),s}function Ko(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;s<i;s++)t.push(n),e.blueprint.push(n),e.data.push(null);return r}function Cv(e,t,i,n,r){const s=bv(t,ul),o=un(),a=2&n;try{if(Er(-1),a&&t.length>pe&&wv(e,t,pe,!1),Ii(a?2:0,r),a)s.runInContext(i,n,r);else{const c=Lt(null);try{i(n,r)}finally{Lt(c)}}}finally{a&&null===t[ul]&&Dv(t,ul),Er(o),Ii(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=Lt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;o<s;o++){const a=e.data[o];a.contentQueries&&a.contentQueries(1,i[o],o)}}finally{Lt(n)}}}function Nf(e,t,i){v_()&&(function cN(e,t,i,n){const r=i.directiveStart,s=i.directiveEnd;Cr(i)&&function _N(e,t,i){const n=bn(t,e),r=Sv(i);let o=16;i.signals?o=4096:i.onPush&&(o=64);const a=sc(e,rc(e,r,null,o,n,t,null,e[ps].rendererFactory.createRenderer(n,i),null,null,null));e[t.index]=a}(t,i,e.data[r+i.componentOffset]),e.firstCreatePass||Cl(i,t),Jt(n,t);const o=i.initialInputs;for(let a=r;a<s;a++){const l=e.data[a],c=Tr(t,e,a,i);Jt(c,t),null!==o&&mN(0,a-r,c,l,0,o),ii(l)&&(xn(i.index,t)[vt]=Tr(t,e,a,i))}}(e,t,i,bn(i,t)),64==(64&i.flags)&&Nv(e,t,i))}function Af(e,t,i=bn){const n=t.localNames;if(null!==n){let r=t.index+1;for(let s=0;s<n.length;s+=2){const o=n[s+1],a=-1===o?i(t,e):e[o];e[r++]=a}}}function Sv(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=Of(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):t}function Of(e,t,i,n,r,s,o,a,l,c,u){const h=pe+n,g=h+r,_=function JI(e,t){const i=[];for(let n=0;n<t;n++)i.push(n<e?null:oe);return i}(h,g),y="function"==typeof c?c():c;return _[j]={type:e,blueprint:_,template:i,queries:null,viewQuery:a,declTNode:t,data:_.slice().fill(null,h),bindingStartIndex:h,expandoStartIndex:g,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:y,incompleteFirstPass:!1,ssrId:u}}let Ev=e=>null;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Pn(e,t,i,n,r,s,o,a){const l=bn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=xn(t,e);16&i[se]||(i[se]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];if(Gg(t,o.selectors,!1))if(n||(n=[]),ii(o))if(null!==o.findHostDirectiveDefs){const a=[];r=r||new Map,o.findHostDirectiveDefs(o,a,r),n.unshift(...a,o),Rf(e,t,a.length)}else n.unshift(o),Rf(e,t,0);else r=r||new Map,o.findHostDirectiveDefs?.(o,n,r),n.push(o)}return null===n?null:[n,r]}(e,i);let o,a;null===s?o=a=null:[o,a]=s,null!==o&&Iv(e,t,i,o,r,a),r&&function fN(e,t,i){if(t){const n=e.localNames=[];for(let r=0;r<t.length;r+=2){const s=i[t[r+1]];if(null==s)throw new F(-301,!1);n.push(t[r],s)}}}(i,n,r)}i.mergedAttrs=Mo(i.mergedAttrs,i.attrs)}function Iv(e,t,i,n,r,s){for(let c=0;c<n.length;c++)wd(Cl(i,t),e,n[c].type);!function pN(e,t,i){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+i,e.providerIndexes=t}(i,e.data.length,n.length);for(let c=0;c<n.length;c++){const u=n[c];u.providersResolver&&u.providersResolver(u)}let o=!1,a=!1,l=Ko(e,t,n.length,null);for(let c=0;c<n.length;c++){const u=n[c];i.mergedAttrs=Mo(i.mergedAttrs,u.hostAttrs),gN(e,i,t,l,u),hN(l,u,r),null!==u.contentQueries&&(i.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(i.flags|=64);const h=u.type.prototype;!o&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(i.index),o=!0),!a&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(i.index),a=!0),l++}!function iN(e,t,i){const r=t.directiveEnd,s=e.data,o=t.attrs,a=[];let l=null,c=null;for(let u=t.directiveStart;u<r;u++){const h=s[u],g=i?i.get(h):null,y=g?g.outputs:null;l=Tv(h.inputs,u,l,g?g.inputs:null),c=Tv(h.outputs,u,c,y);const b=null===l||null===o||$g(t)?null:vN(l,u,o);a.push(b)}null!==l&&(l.hasOwnProperty("class")&&(t.flags|=8),l.hasOwnProperty("style")&&(t.flags|=16)),t.initialInputs=a,t.inputs=l,t.outputs=c}(e,i,s)}function Nv(e,t,i){const n=i.directiveStart,r=i.directiveEnd,s=i.index,o=function iT(){return K.lFrame.currentDirectiveIndex}();try{Er(s);for(let a=n;a<r;a++){const l=e.data[a],c=t[a];fd(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&uN(l,c)}}finally{Er(-1),fd(o)}}function uN(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Rf(e,t,i){t.componentOffset=i,(e.components??=[]).push(t.index)}function hN(e,t,i){if(i){if(t.exportAs)for(let n=0;n<t.exportAs.length;n++)i[t.exportAs[n]]=e;ii(t)&&(i[""]=e)}}function gN(e,t,i,n,r){e.data[n]=r;const s=r.factory||(r.factory=Sr(r.type)),o=new Fo(s,ii(r),v);e.blueprint[n]=o,i[n]=o,function aN(e,t,i,n,r){const s=r.hostBindings;if(s){let o=e.hostBindingOpCodes;null===o&&(o=e.hostBindingOpCodes=[]);const a=~t.index;(function lN(e){let t=e.length;for(;t>0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Ko(e,i,r.hostVars,oe),r)}function Oi(e,t,i,n,r,s){const o=bn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?ie(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[re],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a<o.length;)Av(n,i,o[a++],o[a++],o[a++])}function Av(e,t,i,n,r){const s=Lt(null);try{const o=e.inputTransforms;null!==o&&o.hasOwnProperty(n)&&(r=o[n].call(t,r)),null!==e.setInput?e.setInput(t,r,i,n):t[n]=r}finally{Lt(s)}}function vN(e,t,i){let n=null,r=0;for(;r<i.length;){const s=i[r];if(0!==s)if(5!==s){if("number"==typeof s)break;if(e.hasOwnProperty(s)){null===n&&(n=[]);const o=e[s];for(let a=0;a<o.length;a+=2)if(o[a]===t){n.push(s,o[a+1],i[r+1]);break}}r+=2}else r+=2;else r+=4}return n}function Ov(e,t,i,n){return[e,!0,!1,t,null,0,n,i,null,null,null]}function xv(e,t){const i=e.contentQueries;if(null!==i)for(let n=0;n<i.length;n+=2){const s=i[n+1];if(-1!==s){const o=e.data[s];pd(i[n]),o.contentQueries(2,t[s],s)}}}function sc(e,t){return e[Ao]?e[Jg][ni]=t:e[Ao]=t,e[Jg]=t,t}function Ff(e,t,i){pd(0);const n=Lt(null);try{t(e,i)}finally{Lt(n)}}function Rv(e){return e[hs]||(e[hs]=[])}function Pv(e){return e.cleanup||(e.cleanup=[])}function kv(e,t){const i=e[tr],n=i?i.get(Ar,null):null;n&&n.handleError(t)}function kf(e,t,i,n,r){for(let s=0;s<i.length;){const o=i[s++],a=i[s++];Av(e.data[o],t[o],n,a,r)}}function yN(e,t){const i=xn(t,e),n=i[j];!function bN(e,t){for(let i=t.length;i<e.blueprint.length;i++)t.push(e.blueprint[i])}(n,i);const r=i[pt];null!==r&&null===i[Hi]&&(i[Hi]=gf(r,i[tr])),Lf(n,i,i[vt])}function Lf(e,t,i){gd(t);try{const n=e.viewQuery;null!==n&&Ff(1,n,i);const r=e.template;null!==r&&Cv(e,t,r,1,i),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&xv(e,t),e.staticViewQueries&&Ff(2,e.viewQuery,i);const s=e.components;null!==s&&function DN(e,t){for(let i=0;i<t.length;i++)yN(e,t[i])}(t,s)}catch(n){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),n}finally{t[se]&=-5,_d()}}let Lv=(()=>{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PE(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function oc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o<t.length;o++){const a=t[o];"number"==typeof a?s=a:1==s?r=Hu(r,a):2==s&&(n=Hu(n,a+": "+t[++o]+";"))}i?e.styles=n:e.stylesWithoutHost=n,i?e.classes=r:e.classesWithoutHost=r}function Xo(e,t,i,n,r=!1){for(;null!==i;){const s=t[i.index];null!==s&&n.push(Ze(s)),sn(s)&&Bv(s,n);const o=i.type;if(8&o)Xo(e,t,i.child,n);else if(32&o){const a=kd(i,t);let l;for(;l=a();)n.push(l)}else if(16&o){const a=Cm(t,i);if(Array.isArray(a))n.push(...a);else{const l=$o(t[yt]);Xo(l[j],l,a,n,!0)}}i=r?i.projectionNext:i.next}return n}function Bv(e,t){for(let i=Ut;i<e.length;i++){const n=e[i],r=n[j].firstChild;null!==r&&Xo(n[j],n,r,t)}e[Ti]!==e[pt]&&t.push(e[Ti])}function ac(e,t,i,n=!0){const r=t[ps],s=r.rendererFactory,o=r.afterRenderEventManager;s.begin?.(),o?.begin();try{Vv(e,t,e.template,i)}catch(l){throw n&&kv(t,l),l}finally{s.end?.(),r.effectManager?.flush(),o?.end()}}function Vv(e,t,i,n){const r=t[se];if(256!=(256&r)){t[ps].effectManager?.flush(),gd(t);try{h_(t),function D_(e){return K.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==i&&Cv(e,t,i,2,n);const o=3==(3&r);if(o){const c=e.preOrderCheckHooks;null!==c&&bl(t,c,null)}else{const c=e.preOrderHooks;null!==c&&Dl(t,c,0,null),md(t,0)}if(function SN(e){for(let t=dm(e);null!==t;t=fm(t)){if(!t[Kg])continue;const i=t[ms];for(let n=0;n<i.length;n++){GE(i[n])}}}(t),Hv(t,2),null!==e.contentQueries&&xv(e,t),o){const c=e.contentCheckHooks;null!==c&&bl(t,c)}else{const c=e.contentHooks;null!==c&&Dl(t,c,1),md(t,1)}!function ZI(e,t){const i=e.hostBindingOpCodes;if(null===i)return;const n=bv(t,dl);try{for(let r=0;r<i.length;r++){const s=i[r];if(s<0)Er(~s);else{const o=s,a=i[++r],l=i[++r];nT(a,o),n.runInContext(l,2,t[o])}}}finally{null===t[dl]&&Dv(t,dl),Er(-1)}}(e,t);const a=e.components;null!==a&&jv(t,a,0);const l=e.viewQuery;if(null!==l&&Ff(2,l,n),o){const c=e.viewCheckHooks;null!==c&&bl(t,c)}else{const c=e.viewHooks;null!==c&&Dl(t,c,2),md(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),t[se]&=-73,p_(t)}finally{_d()}}}function Hv(e,t){for(let i=dm(e);null!==i;i=fm(i))for(let n=Ut;n<i.length;n++)Uv(i[n],t)}function EN(e,t,i){Uv(xn(t,e),i)}function Uv(e,t){if(!function jE(e){return 128==(128&e[se])}(e))return;const i=e[j];if(80&e[se]&&0===t||1024&e[se]||2===t)Vv(i,e,i.template,e[vt]);else if(e[No]>0){Hv(e,1);const r=e[j].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n<t.length;n++)EN(e,t[n],i)}class ea{get rootNodes(){const t=this._lView,i=t[j];return Xo(i,t,i.firstChild,[])}constructor(t,i){this._lView=t,this._cdRefInjectingView=i,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[vt]}set context(t){this._lView[vt]=t}get destroyed(){return 256==(256&this._lView[se])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[nt];if(sn(t)){const i=t[8],n=i?i.indexOf(this):-1;n>-1&&(kl(t,n),Tl(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[j],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[se]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Qo(this._cdRefInjectingView||this._lView)}detach(){this._lView[se]&=-129}reattach(){this._lView[se]|=128}detectChanges(){ac(this._lView[j],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){zo(e,t,t[re],2,null,null)}(this._lView[j],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends ea{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;ac(t[j],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends ec{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ta(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=ol(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ta extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _E(e){return e.map(gE).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(EI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Fl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=rc(null,P,null,T,null,null,h,g,o,null,C);let U,J;gd(O);try{const ue=this.componentDef;let _e,ct=null;ue.findHostDirectiveDefs?(_e=[],ct=new Map,ue.findHostDirectiveDefs(ue,_e,ct),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[j],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Vt=function ON(e,t,i,n,r,s,o){const a=r[j];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=Mo(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(oc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=rc(r,Sv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),sc(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function PN(e,t,i,n){if(n)ed(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mE(e){const t=[],i=[];let n=1,r=2;for(;n<e.length;){let s=e[n];if("string"==typeof s)2===r?""!==s&&t.push(s,e[++n]):8===r&&i.push(s);else{if(!ti(r))break;r=s}n++}return{attrs:t,classes:i}}(t.selectors[0]);r&&ed(e,i,r),s&&s.length>0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r<t.length;r++){const s=i[r];n.push(null!=s?Array.from(s):null)}}(J,this.ngContentSelectors,i),U=function RN(e,t,i,n,r,s){const o=jt(),a=r[j],l=bn(o,r);Iv(a,r,o,i,null,n);for(let u=0;u<i.length;u++)Jt(Tr(r,a,o.directiveStart+u,o),r);Nv(a,r,o),l&&Jt(l,r);const c=Tr(r,a,o.directiveStart+o.componentOffset,o);if(e[vt]=r[vt]=c,null!==s)for(const u of s)u(c,t);return If(a,o,e),c}(Vt,ue,_e,ct,O,[kN]),Lf(P,O,null)}finally{_d()}return new NN(this.componentType,U,Vs(J,O),O,J)}}class NN extends yI{constructor(t,i,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.previousInputValues=null,this.instance=i,this.hostView=this.changeDetectorRef=new TN(r),this.componentType=t}setInput(t,i){const n=this._tNode.inputs;let r;if(null!==n&&(r=n[t])){if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),i))return;const s=this._rootLView;kf(s[j],s,r,t,i),this.previousInputValues.set(t,i),Qo(xn(this._tNode.index,s))}}get injector(){return new dn(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}function kN(){const e=jt();yl(A()[j],e)}function Oe(e){let t=function zv(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),i=!0;const n=[e];for(;t;){let r;if(ii(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new F(903,!1);r=t.\u0275dir}if(r){if(i){n.push(r);const o=e;o.inputs=lc(e.inputs),o.inputTransforms=lc(e.inputTransforms),o.declaredInputs=lc(e.declaredInputs),o.outputs=lc(e.outputs);const a=r.hostBindings;a&&HN(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&BN(e,l),c&&VN(e,c),el(e.inputs,r.inputs),el(e.declaredInputs,r.declaredInputs),el(e.outputs,r.outputs),null!==r.inputTransforms&&(null===o.inputTransforms&&(o.inputTransforms={}),el(o.inputTransforms,r.inputTransforms)),ii(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(e),a===Oe&&(i=!1)}}t=Object.getPrototypeOf(t)}!function LN(e){let t=0,i=null;for(let n=e.length-1;n>=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=Mo(r.hostAttrs,i=Mo(i,r.hostAttrs))}}(n)}function lc(e){return e===Si?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function cc(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Kt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function De(e,t,i,n){const r=A();return Kt(r,bs(),t)&&(ve(),Oi(lt(),r,e,t,i,n)),De}function Gs(e,t,i,n){return Kt(e,bs(),i)?t+ie(i)+n:oe}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),yl(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ni(h,!1);const g=ay(c,l,h,e);vl()&&Bl(c,l,g,h),Jt(g,l),sc(l,l[u]=Ov(g,l,g,h)),hl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[re].createComment("")};function R(e,t,i){const n=A();return Kt(n,bs(),t)&&Pn(ve(),lt(),n,e,t,n[re],i,!1),R}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function V(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[re],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&oc(l,l.attrs,!1),null!==l.mergedAttrs&&oc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=hl(l);return Ni(l,!0),Mm(a,c,l),32!=(32&l.flags)&&vl()&&Bl(s,r,c,l),0===function WE(){return K.lFrame.elementDepthCount}()&&Jt(c,r),function qE(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),V}function H(){let e=jt();ud()?dd():(e=e.parent,Ni(e,!1));const t=e;(function ZE(e){return K.skipHydrationRootTNode===e})(t)&&function XE(){K.skipHydrationRootTNode=null}(),function YE(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(yl(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),H}function ke(e,t,i,n){return V(e,t,i,n),H(),ke}let cy=(e,t,i,n,r,s)=>(rr(!0),Fl(n,r,function N_(){return K.lFrame.currentNamespace}()));function wn(){return A()}function pc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=jt();return function py(e,t,i,n,r,s,o){const a=hl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=bn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(Ze(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===i&&r[s+1]===n){const a=t[hs],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D<b;D+=2){const U=t[y[D]][y[D+1]].subscribe(s),J=h.length;h.push(s,U),c&&c.push(r,n.index,J,-(J+1))}}}(s,r,r[re],o,e,t,n),ce}function gy(e,t,i,n){try{return Ii(6,t,i),!1!==i(n)}catch(r){return kv(e,r),!1}finally{Ii(7,t,i)}}function _y(e,t,i,n,r){return function s(o){if(o===Function)return n;Qo(e.componentOffset>-1?xn(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dE(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r<t.length;r++){const s=t[r];if("*"!==s){if(null===n?Gg(e,s,!0):pE(n,s))return r}else i=r}return i}function qf(e){const t=A()[yt][Zt];if(!t.projection){const n=t.projection=Ho(e?e.length:1,null),r=n.slice();let s=t.child;for(;null!==s;){const o=e?wA(s,e):0;null!==o&&(r[o]?r[o].projectionNext=s:n[o]=s,r[o]=s),s=s.next}}}function Yf(e,t=0,i){const n=A(),r=ve(),s=js(r,pe+e,16,null,i||null);null===s.projection&&(s.projection=t),dd(),(!n[Hi]||ys())&&32!=(32&s.flags)&&function SM(e,t,i){Em(t[re],0,t,i,Hd(e,i,t),ym(i.parent||t[Zt],i,t))}(r,n,s)}function Cn(e,t,i){return Ks(e,"",t,"",i),Cn}function Ks(e,t,i,n,r){const s=A(),o=Gs(s,t,i,n);return o!==oe&&Pn(ve(),lt(),s,e,o,s[re],r,!1),Ks}function gc(e,t){return e<<17|t<<2}function ar(e){return e>>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t<i&&e.charCodeAt(t)>32;)t++;return t}(e,Ot.key=t,i),Xs(e,t,i))}function Xs(e,t,i){for(;t<i&&e.charCodeAt(t)<=32;)t++;return t}function aa(e,t,i){return si(e,t,i,!1),aa}function we(e,t){return si(e,t,null,!0),we}function Rr(e){!function oi(e,t,i,n){const r=ve(),s=ji(2);r.firstUpdatePass&&Ry(r,null,s,n);const o=A();if(i!==oe&&Kt(o,s,i)){const a=r.data[un()];if(Ly(a,n)&&!xy(r,s)){let l=n?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(i=Hu(l,i||"")),Gf(r,a,o,i,n)}else!function jA(e,t,i,n,r,s,o,a){r===oe&&(r=Ee);let l=0,c=0,u=0<r.length?r[0]:null,h=0<s.length?s[0]:null;for(;null!==u||null!==h;){const g=l<r.length?r[l+1]:void 0,_=c<s.length?s[c+1]:void 0;let b,y=null;u===h?(l+=2,c+=2,g!==_&&(y=h,b=_)):null===h||null!==u&&u<h?(l+=2,y=u):(c+=2,y=h,b=_),null!==y&&Fy(e,t,i,n,y,b,o,a),u=l<r.length?r[l]:null,h=c<s.length?s[c]:null}}(r,a,o,o[re],o[s+1],o[s+1]=function HA(e,t,i){if(null==i||""===i)return Ee;const n=[],r=or(i);if(Array.isArray(r))for(let s=0;s<r.length;s++)e(n,r[s],!0);else if("object"==typeof r)for(const s in r)r.hasOwnProperty(s)&&e(n,s,r[s]);else"string"==typeof r&&t(n,r);return n}(e,t,i),n,s)}}(UA,Pi,e,!0)}function Pi(e,t){for(let i=function AA(e){return function Ny(e){Ot.key=0,Ot.keyEnd=0,Ot.value=0,Ot.valueEnd=0,Ot.textEnd=e.length}(e),My(e,Xs(e,0,Ot.textEnd))}(t);i>=0;i=My(t,i))Rn(e,Ty(t),!0)}function si(e,t,i,n){const r=A(),s=ve(),o=ji(2);s.firstUpdatePass&&Ry(s,e,o,n),t!==oe&&Kt(r,o,t)&&Fy(s,s.data[un()],r,r[re],e,r[o+1]=function $A(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Nt(or(e)))),e}(t,i),n,o)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[un()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=la(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=la(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s<r;s++)n=la(n,e[s].hostAttrs,i);return la(n,t.attrs,i)}(e,t,n)}return void 0!==s&&(n?t.residualClasses=s:t.residualStyles=s),i}(r,s,t,n),function TA(e,t,i,n,r,s){let o=s?t.classBindings:t.styleBindings,a=ar(o),l=xr(o);e[n]=i;let u,c=!1;if(Array.isArray(i)?(u=i[1],(null===u||Ns(i,u)>0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=gc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function SA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=gc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=gc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=gc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a<o&&(s=t[a],n=la(n,s.hostAttrs,r),s!==e);)a++;return null!==e&&(i.directiveStylingLast=a),n}function la(e,t,i){const n=i?1:2;let r=-1;if(null!==t)for(let s=0;s<t.length;s++){const o=t[s];"number"==typeof o?r=o:r===n&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),Rn(e,o,!!i||t[++s]))}return void 0===e?null:e}function UA(e,t,i){const n=String(t);""!==n&&!n.includes(" ")&&Rn(e,n,i)}function Fy(e,t,i,n,r,s,o,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function EA(e){return 1==(1&e)}(c)?ky(l,t,i,r,xr(c),o):void 0;_c(u)||(_c(s)||function CA(e){return 2==(2&e)}(c)&&(s=ky(l,null,i,r,a,o)),function TM(e,t,i,n,r){if(t)r?e.addClass(i,n):e.removeClass(i,n);else{let s=-1===n.indexOf("-")?void 0:sr.DashCase;null==r?e.removeStyle(i,n,s):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),s|=sr.Important),e.setStyle(i,n,r,s))}}(n,o,ml(un(),i),r,s))}function ky(e,t,i,n,r,s){const o=null===t;let a;for(;r>0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===oe&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!_c(_)&&(_=Ed(l,n)),_c(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function _c(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function Le(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,vl()&&Bl(n,i,o,s),Ni(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function Pl(e,t){return e.createText(t)}(t[re],n));function xt(e){return ai("",e,""),xt}function ai(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==oe&&function zi(e,t,i){const n=ml(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[re],n,i)}(n,un(),r),ai}function Yn(e,t,i){const n=A();return Kt(n,bs(),t)&&Pn(ve(),lt(),n,e,t,n[re],i,!0),Yn}const to="en-US";let o0=to;function th(e,t,i,n,r){if(e=te(e),Array.isArray(e))for(let s=0;s<e.length;s++)th(e[s],t,i,n,r);else{const s=ve(),o=A(),a=jt();let l=Ir(e)?e:te(e.provide);const c=Wm(e),u=1048575&a.providerIndexes,h=a.directiveStart,g=a.providerIndexes>>20;if(Ir(e)||!e.multi){const _=new Fo(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Cl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Cl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Fo(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?te(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r<n;r++)if(t[r]===e)return r;return-1}function ax(e,t,i,n){return rh(this.multi,[])}function lx(e,t,i,n){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Tr(i,i[j],this.providerFactory.index,n);s=a.slice(0,o),rh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],rh(r,s);return s}function rh(e,t){for(let i=0;i<e.length;i++)t.push((0,e[i])());return t}function ze(e,t=[]){return i=>{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function On(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:ec,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new ql([...t.providers,{provide:Fr,useValue:this},{provide:ec,useValue:this.componentFactoryResolver}],t.parent||Wl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}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,i){return this._results.reduce(t,i)}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,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(i&&(r=i(r),s=i(s)),s!==r)return!1}return!0}(n._results,r,i))&&(n._results=r,n.length=r.length,n.last=r[this.length-1],n.first=r[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}function Vx(e,t,i,n=!0){const r=t[j];if(function vM(e,t,i,n){const r=Ut+n,s=i.length;n>0&&(i[r-1][ni]=t),n<s-Ut?(t[ni]=i[r],G_(i,Ut+n,t)):(i.push(t),t[ni]=null),t[nt]=i;const o=t[Oo];null!==o&&i!==o&&function yM(e,t){const i=e[ms];t[yt]!==t[nt][nt][yt]&&(e[Kg]=!0),null===i?e[ms]=[t]:i.push(t)}(o,t);const a=t[Ei];null!==a&&a.insertView(e),t[se]|=128}(r,t,e,i),n){const s=jd(i,e),o=t[re],a=Ll(o,e[Ti]);null!==a&&function gM(e,t,i,n,r,s){n[pt]=r,n[Zt]=t,zo(e,n,i,1,r,s)}(r,e[Zt],o,t,a,s)}}let it=(()=>{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=it,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=rc(e,r,i,4096&e[se]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Oo]=e[t.index];const c=e[Ei];return null!==c&&(a[Ei]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new ea(r)}};function jx(){return Dc(jt(),A())}function Dc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let En=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(jt(),A())}const Zx=En,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new dn(this._hostTNode,this._hostLView)}get parentInjector(){const t=Sl(this._hostTNode,this._hostLView);if(yd(t)){const i=Lo(t,this._hostLView),n=ko(t);return new dn(i[j].data[n+8],i)}return new dn(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ut}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Vo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ta(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $E(e){return sn(e[nt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[nt],u=new Y0(c,c[Zt],c[nt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=kl(this._lContainer,i);n&&(Tl(uh(this._lContainer),i),Bd(n[j],n))}detach(t){const i=this._adjustIndex(t,-1),n=kl(this._lContainer,i);return n&&null!=Tl(uh(this._lContainer),i)?new ea(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return sn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,sc(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ti])return;let r;r=8&i.type?Ze(n):function Jx(e,t){const i=e[re],n=i.createComment(""),r=bn(t,e);return Mr(i,Ll(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ti]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s<n;s++){const o=i.getByIndex(s);r.push(this.queries[o.indexInDeclarationView].clone())}return new fh(r)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let i=0;i<this.queries.length;i++)null!==i1(t,i).matches&&this.queries[i].setDirty()}}class X0{constructor(t,i,n=null){this.predicate=t,this.flags=i,this.read=n}}class hh{constructor(t=[]){this.queries=t}elementStart(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].elementStart(t,i)}elementEnd(t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementEnd(t)}embeddedTView(t){let i=null;for(let n=0;n<this.length;n++){const r=null!==i?i.length:0,s=this.getByIndex(n).embeddedTView(t,r);s&&(s.indexInDeclarationView=n,null!==i?i.push(s):i=[s])}return null!==i?new hh(i):null}template(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].template(t,i)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class ph{constructor(t,i=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=i}elementStart(t,i){this.isApplyingToNode(i)&&this.matchTNode(t,i)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,i){this.elementStart(t,i)}embeddedTView(t,i){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,i),new ph(this.metadata)):null}isApplyingToNode(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const i=this._declarationNodeIndex;let n=t.parent;for(;null!==n&&8&n.type&&n.index!==i;)n=n.parent;return i===(null!==n?n.index:-1)}return this._appliesToNextNode}matchTNode(t,i){const n=this.metadata.predicate;if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=n[r];this.matchTNodeWithReadOption(t,i,Xx(i,s)),this.matchTNodeWithReadOption(t,i,El(i,t,s,!1,!1))}else n===it?4&i.type&&this.matchTNodeWithReadOption(t,i,-1):this.matchTNodeWithReadOption(t,i,El(i,t,n,!1,!1))}matchTNodeWithReadOption(t,i,n){if(null!==n){const r=this.metadata.read;if(null!==r)if(r===Fe||r===En||r===it&&4&i.type)this.addMatch(i.index,-2);else{const s=El(i,t,r,!1,!1);null!==s&&this.addMatch(i.index,s)}else this.addMatch(i.index,n)}}addMatch(t,i){null===this.matches?this.matches=[t,i]:this.matches.push(t,i)}}function Xx(e,t){const i=e.localNames;if(null!==i)for(let n=0;n<i.length;n+=2)if(i[n]===t)return i[n+1];return null}function tR(e,t,i,n){return-1===i?function eR(e,t){return 11&e.type?Vs(e,t):4&e.type?Dc(e,t):null}(t,e):-2===i?function nR(e,t,i){return i===Fe?Vs(t,e):i===it?Dc(t,e):i===En?J0(t,e):void 0}(e,t,n):Tr(e,e[j],i,t)}function e1(e,t,i,n){const r=t[Ei].queries[n];if(null===r.matches){const s=e.data,o=i.matches,a=[];for(let l=0;l<o.length;l+=2){const c=o[l];a.push(c<0?null:tR(t,s[c],o[l+1],i.metadata.read))}r.matches=a}return r.matches}function gh(e,t,i,n){const r=e.queries.getByIndex(i),s=r.matches;if(null!==s){const o=e1(e,t,r,i);for(let a=0;a<s.length;a+=2){const l=s[a];if(l>0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ut;h<u.length;h++){const g=u[h];g[Oo]===g[nt]&&gh(g[j],g,c,n)}if(null!==u[ms]){const h=u[ms];for(let g=0;g<h.length;g++){const _=h[g];gh(_[j],_,c,n)}}}}}return n}function X(e){const t=A(),i=ve(),n=C_();pd(n+1);const r=i1(i,n);if(e.dirty&&function UE(e){return 4==(4&e[se])}(t)===(2==(2&r.metadata.flags))){if(null===r.matches)e.reset([]);else{const s=r.crossesNgTemplate?gh(i,t,n,[]):e1(i,t,r,n);e.reset(s,CI),e.notifyOnChanges()}return!0}return!1}function We(e,t,i){const n=ve();n.firstCreatePass&&(n1(n,new X0(e,t,i),-1),2==(2&t)&&(n.staticViewQueries=!0)),t1(n,A(),t)}function gt(e,t,i,n){const r=ve();if(r.firstCreatePass){const s=jt();n1(r,new X0(t,i,n),s.index),function rR(e,t){const i=e.contentQueries||(e.contentQueries=[]);t!==(i.length?i[i.length-1]:-1)&&i.push(e.queries.length-1,t)}(r,e),2==(2&i)&&(r.staticContentQueries=!0)}t1(r,A(),i)}function ee(){return function iR(e,t){return e[Ei].queries[t].queryList}(A(),C_())}function t1(e,t,i){const n=new ch(4==(4&i));(function tN(e,t,i,n){const r=Rv(t);r.push(i),e.firstCreatePass&&Pv(e).push(n,r.length-1)})(e,t,n,n.destroy),null===t[Ei]&&(t[Ei]=new fh),t[Ei].queries.push(new dh(n))}function n1(e,t,i){null===e.queries&&(e.queries=new hh),e.queries.track(new ph(t,i))}function i1(e,t){return e.queries.getByIndex(t)}function Tn(e,t){return Dc(e,t)}const D1=new W("Application Initializer");let bh=(()=>{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(pc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const li=new W("LocaleId",{providedIn:"root",factory:()=>fe(li,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||to}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jS(!1)}add(){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.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const E1=new W(""),Ec=new W("");let Th,Sh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function ZR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Te.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Te),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}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,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xE(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Qt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Te(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Te,useFactory:e},{provide:$l,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Tc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return pc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(li,to)||to),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=wi){return e=e??$S,mt((i,n)=>{let r,s=!0;i.subscribe(ht(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Io(e){const t=me(e)||Ht(e)||rn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(ec).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Qt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(E1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Tc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Tc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(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),()=>Tc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Tc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Te),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Te),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let rt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=xn(e.index,t);return new ea(n,n)}return 47&e.type?new ea(t[yt],t):null}(jt(),A(),16==(16&e))}class j1{constructor(){}supports(t){return cc(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{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||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex<G1(n,r,s)?i:n,a=G1(o,r,s),l=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(i=i._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let g=0;g<c;g++){const _=g<s.length?s[g]:s[g]=0,y=_+g;u<=y&&y<c&&(s[g]=_+1)}s[o.previousIndex]=u-c}}a!==l&&t(o,a,l)}}forEachPreviousItem(t){let i;for(i=this._previousItHead;null!==i;i=i._nextPrevious)t(i)}forEachAddedItem(t){let i;for(i=this._additionsHead;null!==i;i=i._nextAdded)t(i)}forEachMovedItem(t){let i;for(i=this._movesHead;null!==i;i=i._nextMoved)t(i)}forEachRemovedItem(t){let i;for(i=this._removalsHead;null!==i;i=i._nextRemoved)t(i)}forEachIdentityChange(t){let i;for(i=this._identityChangesHead;null!==i;i=i._nextIdentityChange)t(i)}diff(t){if(null==t&&(t=[]),!cc(t))throw new F(900,!1);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let r,s,o,i=this._itHead,n=!1;if(Array.isArray(t)){this.length=t.length;for(let a=0;a<this.length;a++)s=t[a],o=this._trackByFn(a,s),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,s,o,a)),Object.is(i.item,s)||this._addIdentityChange(i,s)):(i=this._mismatch(i,s,o,a),n=!0),i=i._next}else r=0,function qN(e,t){if(Array.isArray(e))for(let i=0;i<e.length;i++)t(e[i]);else{const i=e[Symbol.iterator]();let n;for(;!(n=i.next()).done;)t(n.value)}}(t,a=>{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),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,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),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,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{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,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n<i.length&&(r=i[n]),n+t+r}function W1(){return new Nc([new j1])}let Nc=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Wl();return new ta(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function wa(){return kh}class RP{}const Xt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s<o;s++){const l=r.get(s).context;l.index=s,l.count=o,l.ngForOf=this._ngForOf}n.forEachIdentityChange(s=>{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(En),v(it),v(Nc))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(En),v(it))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends vk{static makeCurrent(){!function xP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ta=Ta||document.querySelector("base"),Ta?Ta.getAttribute("href"):null}();return null==i?null:function bk(e){$c=$c||document.createElement("a"),$c.setAttribute("href",e);const t=$c.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ta=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let $c,Ta=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Te))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const np="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt),L(Yl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/MathML/"},rp=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(rp,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Yl),L(Tk),L(Xt),L(Nr),L(Te),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=wa().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>wa().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Fk(){ep.makeCurrent()},multi:!0},{provide:Xt,useFactory:function Lk(){return function OM(e){zd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){$e.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},$e.getAllAngularTestabilities=()=>t.getAllTestabilities(),$e.getAllAngularRootElements=()=>t.getAllRootElements(),$e.frameworkStabilizers||($e.frameworkStabilizers=[]),$e.frameworkStabilizers.push(n=>{const r=$e.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?wa().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:E1,useClass:Sh,deps:[Te,Eh,Ec]},{provide:Sh,useClass:Sh,deps:[Te,Eh,Ec]}],Vb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:tp,useClass:Ok,multi:!0,deps:[Xt,Te,Nr]},{provide:tp,useClass:Pk,multi:!0,deps:[Xt]},xb,Nb,Mb,{provide:vf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Yl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let $t=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s<this.elementLookup.length;s++)this.elementLookup[s].id==n&&(r=s);return r}addElementObject(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullTagHTML(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].object=r}addElementTagHTML(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullObject(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].tagHtml=r}addElementAll(n,r,s,o){let a=this.elementLookup.find(l=>{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let Gt=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ht(i,void 0,void 0,o=>{s=kt(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function di(e,t){return mt((i,n)=>{let r=0;i.subscribe(ht(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class Gc{}class zc{}class Fi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Fi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Fi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Fi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function Wc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(Wc):[Wc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(Wc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(Wc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Ma{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Fi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":a<i.length-1?"&":"")+o}}else this.params=new ur,this.urlWithParams=i}serializeBody(){return null===this.body?null:Wb(this.body)||qb(this.body)||Yb(this.body)||function t2(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof ur?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||Yb(this.body)?null:qb(this.body)?this.body.type||null:Wb(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof ur?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(t={}){const i=t.method||this.method,n=t.url||this.url,r=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,a=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let l=t.headers||this.headers,c=t.params||this.params;const u=t.context??this.context;return void 0!==t.setHeaders&&(l=Object.keys(t.setHeaders).reduce((h,g)=>h.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Ma(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var oo=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(oo||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Fi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=oo.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class ao extends cp{constructor(t={}){super(t),this.type=oo.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new ao({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let qc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Ma)o=n;else{let c,u;c=s.headers instanceof Fi?s.headers:new Fi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Ma(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Ma||"events"===s.observe)return a;const l=a.pipe(di(c=>c instanceof ao));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Ft(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Ft(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Ft(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Ft(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ia=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(Dh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends Gc{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ia),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(zc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Co(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new Ye(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Fi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let U=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,U&&(U=!1,O={error:ue,text:O})}}U?(o.next(new ao({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:oo.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:oo.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:oo.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[qc,nD,eD,{provide:Gc,useExisting:eD},{provide:zc,useExisting:nD},{provide:Ia,useValue:g2,multi:!0},{provide:fp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ia,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(qc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s<this.modals.length;s++){let o=this.modals[s];if(null!=o&&o.key==n){r=s;break}}return r>=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Zc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o<this.contextKeyVal.length;o++){let a=this.contextKeyVal[o];a.key==n&&(a.value=r,s=!0)}0==s&&this.contextKeyVal.push(new S2(n,r))}getContext(){return this.contextKeyVal}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextKeyVal.length;s++)if(this.contextKeyVal[s].key==n){r=s;break}return r>=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class S2{constructor(t,i){this.key=t,this.value=i}}let Na=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L($t))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),E2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=Gt.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new Ye(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(qc),L(aD),L(lD),L($t),L(Zc),L(Na))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ne,this.menuBar=new ne,this.messageLists=new ne,this.contextMenus=new ne,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}operationPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.operation,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(E2),L(qc),L(Zc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),en=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.contains(c)&&n.classList.remove(c),n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(rt),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&We(T2,5,En),2&n){let s;X(s=ee())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,Tn)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r<e.length;r++){let s=e.charAt(r);if("("==s)n+=1,i+=s;else if(")"==s){if(n-=1,i+=s,n<0){console.log("ERROR - BRACKE LEVEL LOWER THAN 0");break}}else","==s&&0==n?(t.push(i),i=""):i+=s}return t.push(i),t}function dD(e){Gt.injector.get(Na).contextMenus.length>0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=Gt.injector.get(Na),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=Gt.injector.get($t),n=e.operation;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a&&"shown"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=Gt.injector.get(Na).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&Gt.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=Gt.injector.get(Zc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}console.log("out"),null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=Gt.injector.get(Bn),n=e.operation;n=pD(n),e.operation=n,i.operationPost(e)}function _D(e,t){let i=Gt.injector.get(Zc),n=e.operation;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c<o.length;c++)l=l+","+o[c];return void i.addContext(a,l)}}let r="The value of context event should be a tuple of size 2, but got "+e.operation;console.error(r),Gt.injector.get(Bn).postMessage(r,"warning")}let fi=(()=>{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){Gt.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){Gt.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){Gt.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].operation="("+h.map(g=>g.operation).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){Gt.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Ft(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function zt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return zt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Fu(e))return us(o=>zt(o,t,i))(kt(e));if(!r)throw new TypeError("Invalid event target");return new Ye(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Aa{constructor(t,i=Aa.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Aa.now=yD.now;const bD=new class V2 extends Aa{constructor(t,i=Aa.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,Be(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new Ye(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?kt(e[0]):new Ye(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n<e.length;n++)i.push(kt(e[n]).subscribe(ht(t,r=>{if(i){for(let s=0;s<i.length;s++)s!==n&&i[s].unsubscribe();i=null}t.next(r)})))}}(e))}function hp(...e){const t=Lu(e),i=wD(e);return i.length?new Ye(n=>{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o<i.length;o++)kt(i[o]).subscribe(ht(n,a=>{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):wo}function Qc(...e){return function G2(){return bg(1)}()(Co(e,Xa(e)))}function Mt(e){return mt((t,i)=>{kt(e).subscribe(ht(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function hi(e){return e<=0?()=>wo:mt((t,i)=>{let n=0;t.subscribe(ht(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function SD(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ht(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):wi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l<r;l++)kt(e[l]).subscribe(ht(n,c=>{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(wi))&&(o=null))},wt));i.subscribe(ht(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function ED(e,t){return t?i=>Qc(t.pipe(hi(1),function W2(){return mt((e,t)=>{e.subscribe(ht(t,wt))})}()),i.pipe(ED(e))):us((i,n)=>kt(e(i,n)).pipe(hi(1),function q2(e){return Ft(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=Et(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=Et(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[ze([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=wa()?wa().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({type:e,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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[ze([oL]),Oe]}),t})();const Wt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return pc(e)?Co(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new Ye(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let h=!1;kt(i[u]).subscribe(ht(s,g=>{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Ft(BD))}}function mp(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function qD(e,t){return vp(t).filter(i=>!eu(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class pn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&we("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&we("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Oe]}),t})();const Oa="VALID",nu="INVALID",lo="PENDING",xa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Oa}get invalid(){return this.status===nu}get pending(){return this.status==lo}get disabled(){return this.status===xa}get enabled(){return this.status!==xa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=lo,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=xa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Oa,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Oa||this.status===lo)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?xa:Oa}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=lo,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?xa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(lo)?lo:this._anyControlsHaveStatus(nu)?nu:Oa}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Ra}),Ra="always";function Pa(e,t,i=Ra){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:pn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends pn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return Pa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(Pa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ze([RL]),Oe,on]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(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}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(pn,13),v(Wt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[ze([kL]),Oe,on]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=Et(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[ze([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l<a.length;l++){const u=this._getOptionValue(a[l].value);s.push(u)}}else{const a=r.options;for(let l=0;l<a.length;l++){const c=a[l];if(c.selected){const u=this._getOptionValue(c.value);s.push(u)}}}this.value=s,n(s)}}_registerOption(n){const r=(this._idCounter++).toString();return this._optionMap.set(r,n),r}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r)._value,n))return r;return null}_getOptionValue(n){const r=function HL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r)._value:n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=Et(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[ze([VL]),Oe]}),t})(),Dw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Ra}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Ra}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",pi="bottom",gi="right",Hn="left",Pp="auto",ka=[Vn,pi,gi,Hn],co="start",La="end",Fw="viewport",Ba="popper",kw=ka.reduce(function(e,t){return e.concat([t+"-"+co,t+"-"+La])},[]),Lw=[].concat(ka,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+co,t+"-"+La])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,uo=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function fo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&uo(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&uo(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return fo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Vw(hu(e))}function Va(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(Va(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ha(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Hp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=fo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function ho(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?ho(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case pi:l={x:o,y:t.y+t.height};break;case gi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case co:l[c]=l[c]-(t[u]/2-i[u]/2);break;case La:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?Ba:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,ka)),P=e.rects.popper,O=e.elements[y?g===Ba?"reference":Ba:g],U=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=Va(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ha(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=fo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),ct=g===Ba?_e:J,Dt={top:U.top-ct.top+T.top,bottom:ct.bottom-U.bottom+T.bottom,left:U.left-ct.left+T.left,right:ct.right-U.right+T.right},Vt=e.modifiersData.offset;if(g===Ba&&Vt){var mi=Vt[r];Object.keys(Dt).forEach(function(_n){var Xr=[gi,pi].indexOf(_n)>=0?1:-1,es=[Vn,pi].indexOf(_n)>=0?"y":"x";Dt[_n]+=mi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Pw(e),t,Pw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(vo,_r){return vo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=ho(t.placement),h=u?a?kw:kw.filter(function(y){return ho(y)===u}):ka,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),U=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,ct=O[0],Dt=0;Dt<O.length;Dt++){var Vt=O[Dt],mi=ki(Vt),_n=ho(Vt)===co,Xr=[Vn,pi].indexOf(mi)>=0,es=Xr?"width":"height",jn=jp(t,{placement:Vt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),vi=Xr?_n?gi:Hn:_n?pi:Vn;U[es]>J[es]&&(vi=du(vi));var Mu=du(vi),ts=[];if(s&&ts.push(jn[mi]<=0),a&&ts.push(jn[vi]<=0,jn[Mu]<=0),ts.every(function(vo){return vo})){ct=Vt,_e=!1;break}ue.set(Vt,ts)}if(_e)for(var ag=function(_r){var Qa=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Qa)return ct=Qa,"break"},Ja=y?3:1;Ja>0&&"break"!==ag(Ja);Ja--);t.placement!==ct&&(t.modifiersData[n]._skip=!0,t.placement=ct,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ua(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=fo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function EB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=ho(t.placement),P=!C,O=Up(T),U=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,ct="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof ct?{mainAxis:ct,altAxis:ct}:Object.assign({mainAxis:0,altAxis:0},ct),Vt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,mi={x:0,y:0};if(J){if(s){var _n,Xr="y"===O?Vn:Hn,es="y"===O?pi:gi,jn="y"===O?"height":"width",vi=J[O],Mu=vi+D[Xr],ts=vi-D[es],Iu=_?-_e[jn]/2:0,ag=C===co?ue[jn]:_e[jn],Ja=C===co?-_e[jn]:-ue[jn],Nu=t.elements.arrow,vo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Qa=_r[Xr],Au=_r[es],ns=Ua(0,ue[jn],vo[jn]),lg=P?ue[jn]/2-Iu-ns-Qa-Dt.mainAxis:ag-ns-Qa-Dt.mainAxis,hj=P?-ue[jn]/2+Iu+ns+Au+Dt.mainAxis:Ja+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ha(t.elements.arrow),pj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,uS=null!=(_n=Vt?.[O])?_n:0,_j=vi+hj-uS,dS=Ua(_?fu(Mu,vi+lg-uS-pj):Mu,vi,_?zr(ts,_j):ts);J[O]=dS,mi[O]=dS-vi}if(a){var fS,is=J[U],Ou="y"===U?"height":"width",hS=is+D["x"===O?Vn:Hn],pS=is-D["x"===O?pi:gi],ug=-1!==[Vn,Hn].indexOf(T),gS=null!=(fS=Vt?.[U])?fS:0,_S=ug?hS:is-ue[Ou]-_e[Ou]-gS+Dt.altAxis,mS=ug?is+ue[Ou]+_e[Ou]-gS-Dt.altAxis:pS,vS=_&&ug?function SB(e,t,i){var n=Ua(e,t,i);return n>i?i:n}(_S,is,mS):Ua(_?_S:hS,is,_?mS:pS);J[U]=vS,mi[U]=vS-is}t.modifiersData[n]=mi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Hn,gi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,ka))}(r.padding,i),g=$p(s),_="y"===l?Vn:Hn,y="y"===l?pi:gi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ha(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Ua(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=uo(t.width)/e.offsetWidth||1,n=uo(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=fo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=fo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return!t.some(function(n){return!(n&&"function"==typeof n.getBoundingClientRect)})}function VB(e){void 0===e&&(e={});var i=e.defaultModifiers,n=void 0===i?[]:i,r=e.defaultOptions,s=void 0===r?qw:r;return function(a,l,c){void 0===c&&(c=s);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},qw,s),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},h=[],g=!1,_={state:u,setOptions:function(T){var C="function"==typeof T?T(u.options):T;b(),u.options=Object.assign({},s,u.options,C),u.scrollParents={reference:Gr(a)?Va(a):a.contextElement?Va(a.contextElement):[],popper:Va(l)};var P=function kB(e){var t=FB(e);return dB.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}(function BB(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}([].concat(n,u.options.modifiers)));return u.orderedModifiers=P.filter(function(O){return O.enabled}),function y(){u.orderedModifiers.forEach(function(D){var C=D.options,O=D.effect;if("function"==typeof O){var U=O({state:u,name:D.name,instance:_,options:void 0===C?{}:C});h.push(U||function(){})}})}(),_.update()},forceUpdate:function(){if(!g){var T=u.elements,C=T.reference,P=T.popper;if(Yw(C,P)){u.rects={reference:PB(C,Ha(P),"fixed"===u.options.strategy),popper:$p(P)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(Dt){return u.modifiersData[Dt.name]=Object.assign({},Dt.data)});for(var O=0;O<u.orderedModifiers.length;O++)if(!0!==u.reset){var U=u.orderedModifiers[O],J=U.fn,ue=U.options;"function"==typeof J&&(u=J({state:u,options:void 0===ue?{}:ue,name:U.name,instance:_})||u)}else u.reset=!1,O=-1}}},update:LB(function(){return new Promise(function(D){_.forceUpdate(),D(u)})}),destroy:function(){b(),g=!0}};if(!Yw(a,l))return _;function b(){h.forEach(function(D){return D()}),h=[]}return _.setOptions(c).then(function(D){!g&&c.onFirstUpdate&&c.onFirstUpdate(D)}),_}}var pu={passive:!0},GB={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Zw(e){var t,i=e.popper,n=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,h=e.isFixed,g=o.x,_=void 0===g?0:g,y=o.y,b=void 0===y?0:y,D="function"==typeof u?u({x:_,y:b}):{x:_,y:b};_=D.x,b=D.y;var T=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),P=Hn,O=Vn,U=window;if(c){var J=Ha(i),ue="clientHeight",_e="clientWidth";J===Un(i)&&"static"!==Yi(J=gr(i)).position&&"absolute"===a&&(ue="scrollHeight",_e="scrollWidth"),(r===Vn||(r===Hn||r===gi)&&s===La)&&(O=pi,b-=(h&&J===U&&U.visualViewport?U.visualViewport.height:J[ue])-n.height,b*=l?1:-1),r!==Hn&&(r!==Vn&&r!==pi||s!==La)||(P=gi,_-=(h&&J===U&&U.visualViewport?U.visualViewport.width:J[_e])-n.width,_*=l?1:-1)}var _n,Vt=Object.assign({position:a},c&&GB),mi=!0===u?function zB(e,t){var n=e.y,r=t.devicePixelRatio||1;return{x:uo(e.x*r)/r||0,y:uo(n*r)/r||0}}({x:_,y:b},Un(i)):{x:_,y:b};return _=mi.x,b=mi.y,Object.assign({},Vt,l?((_n={})[O]=C?"0":"",_n[P]=T?"0":"",_n.transform=(U.devicePixelRatio||1)<=1?"translate("+_+"px, "+b+"px)":"translate3d("+_+"px, "+b+"px, 0)",_n):((t={})[O]=C?b+"px":"",t[P]=T?_+"px":"",t.transform="",t))}var QB=VB({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function HB(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,s=void 0===r||r,o=n.resize,a=void 0===o||o,l=Un(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",i.update,pu)}),a&&l.addEventListener("resize",i.update,pu),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",i.update,pu)}),a&&l.removeEventListener("resize",i.update,pu)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function jB(e){var t=e.state;t.modifiersData[e.name]=$w({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function WB(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=void 0===n||n,s=i.adaptive,o=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:ki(t.placement),variation:ho(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,Zw(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,Zw(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function YB(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},s=t.elements[i];!Xn(s)||!Li(s)||(Object.assign(s.style,n),Object.keys(r).forEach(function(o){var a=r[o];!1===a?s.removeAttribute(o):s.setAttribute(o,!0===a?"":a)}))})},effect:function ZB(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],s=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]).reduce(function(l,c){return l[c]="",l},{});!Xn(r)||!Li(r)||(Object.assign(r.style,a),Object.keys(s).forEach(function(l){r.removeAttribute(l)}))})}},requires:["computeStyles"]}]});const eV={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function XB(e){var t=e.state,n=e.name,r=e.options.offset,s=void 0===r?[0,0]:r,o=Lw.reduce(function(u,h){return u[h]=function KB(e,t,i){var n=ki(e),r=[Hn,Vn].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,gi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=wn();V(0,"button",1),ce("click",function(){return an(i),ln(z().close())}),H()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function po(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,ja=new Map,gn=(e,t,i,n)=>{let r=n.context||{};const s=ja.get(t);if(s)switch(n.runningTransition){case"continue":return wo;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),ja.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new Ye(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ne,l=new ne,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));ja.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=zt(t,"transitionend").pipe(Mt(c),di(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{ja.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let $a=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L($a))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=gn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Te))},e.\u0275cmp=Ge({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&we("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[on,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(x(1),R("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var qe=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(qe||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=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 DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=zt(t,"keydown").pipe(Mt(r),di(g=>g.which===qe.Escape),SD(g=>g.preventDefault())),u=zt(t,"mousedown").pipe(Ft(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&bC(_,a):"outside"===i?!bu(_,s):bC(_,a)||!bu(_,s))}),Mt(r)),h=zt(t,"mouseup").pipe(pp(u),di(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return ED(()=>i)}(0),Mt(r));CD([c.pipe(Ft(g=>0)),h.pipe(Ft(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/  +/gi,pH={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"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function EC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),we("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>qa)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&gt(s,rg,4),2&n){let o;X(o=ee())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&we("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Su=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>qa)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&De("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Su{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>qa)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[ze([{provide:Su,useExisting:ae(()=>e)}]),Oe]}),t})(),qa=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ne,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(EC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(EC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(hi(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.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,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&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(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==qe.Space&&r!==qe.Enter){if(r!==qe.Tab){if(l||a){if(this.open(),s.length){switch(r){case qe.ArrowDown:o=Math.min(o+1,s.length-1);break;case qe.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case qe.Home:o=0;break;case qe.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else zt(n.target,"focusout").pipe(hi(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&zt(a,"click").pipe(hi(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(OH),v(Xt),v(Te),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(gt(s,sg,5),gt(s,Su,5)),2&n){let o;X(o=ee())&&(r._menu=o.first),X(o=ee())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&we("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[on]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(hi(1)).subscribe(()=>{gn(this._zone,this._el.nativeElement,(n,r)=>{r&&po(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return gn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Te))},e.\u0275cmp=Ge({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),we("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ne,this._dismissed=new ne,this._hidden=new ne,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Ya=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Ya||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ne,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ne,this.hidden=new ne}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(hi(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(gn(this._zone,n,()=>n.classList.remove("show"),r),gn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(gn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&po(o),o.classList.add("show")},n),gn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{zt(n,"keydown").pipe(Mt(this._closed$),di(s=>s.which===qe.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Ya.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;zt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),SD(()=>r=!1),Vu(()=>zt(n,"mouseup").pipe(Mt(this._closed$),hi(1))),di(({target:s})=>n===s)).subscribe(()=>{r=!0}),zt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Ya.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&gn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Xt),v(Fe),v(Te))},e.\u0275cmp=Ge({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&We(BV,7),2&n){let s;X(s=ee())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(De("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),we("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),V(0,"div",0,1)(2,"div",2),Yf(3),H()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ne,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=zt(t,"focusin").pipe(Mt(i),Ft(s=>s.target));zt(t,"keydown").pipe(Mt(i),di(s=>s.which===qe.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&zt(t,"click").pipe(Mt(i),pp(r),Ft(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(hi(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof it?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Qt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Qt),L(zn),L(Xt),L(LH),L(vf),L(Te))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L($a))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lS=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Zp,kC,BC,UC,GC,lS,KC,eS,tS,nS,iS,rS,sS,oS,aS];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Zp,kC,BC,UC,GC,lS,KC,eS,tS,nS,iS,rS,sS,oS,aS]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(V(0,"button",8),ke(1,"i",null,9),Le(3),H()),2&e){const i=t.$implicit;Cn("id",i.element.id),x(3),xt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&(this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon"),""!==this.attributeService.findGetAttributeValue("icon",n.attributes,"")&&(s.label=" "+s.label))}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.operationPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(en),v(rt),v(Bn),v(Xt),v($t),v(fi))},e.\u0275cmp=Ge({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&We(aU,7),2&n){let s;X(s=ee())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(V(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),Le(6),H(),V(7,"div",6),B(8,lU,4,2,"button",7),H()()()()()),2&n&&(x(4),Cn("id",null==r.element?null:r.element.id),x(2),ai(" ",r.buttonLabel," "),x(2),R("ngForOf",r.dropDownMenuItems))},dependencies:[kn,qa,LC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=Gt.injector.get(en);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(We(dU,7),We(fU,7),We(hU,7)),2&n){let s;X(s=ee())&&(r.label=s.first),X(s=ee())&&(r.middleDiv=s.first),X(s=ee())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(V(0,"div",null,0)(2,"div",null,1),ke(4,"p",2,3),H()()),2&n&&(x(4),R("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon"),""!==this.attributeService.findGetAttributeValue("icon",n,"")&&(this.buttonLabel=" "+this.buttonLabel);let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&We(gU,5),2&n){let s;X(s=ee())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(V(0,"button",0,1),ke(2,"i",null,2),Le(4),H()),2&n&&(De("disabled",!!r.disabledAttribute||null),x(4),xt(r.buttonLabel))}}),t})();var mU=He(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(V(0,"div"),ke(1,"img",1,2),H()),2&e){const i=z();x(1),R("src",i.imageSource,Qd)}}function DU(e,t){1&e&&ke(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"-&gt;"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(We(vU,5),We(yU,5)),2&n){let s;X(s=ee())&&(r.theImage=s.first),X(s=ee())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(R("ngIf","normal"==r.imageType),x(1),R("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const SU=["svgContainer"];function EU(e,t){if(1&e&&ke(0,"textarea",13),2&e){const i=z().$implicit,n=z();Cn("id",i.name+"_"+n.currID),R("formControlName",i.name)}}function TU(e,t){if(1&e){const i=wn();V(0,"input",14),ce("click",function(r){return an(i),ln(z(2).checkClick(r))}),H()}if(2&e){const i=z().$implicit,n=z();Cn("id",i.name+"_checkbox_"+n.currID),R("formControlName",i.name)}}function MU(e,t){if(1&e&&ke(0,"input",15),2&e){const i=z().$implicit,n=z();Cn("id",i.name+"_"+n.currID),R("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(V(0,"option",17),Le(1),H()),2&e){const i=t.$implicit;Cn("value",i),x(1),xt(i)}}function NU(e,t){if(1&e&&(V(0,"select",13),B(1,IU,2,2,"option",16),H()),2&e){const i=z().$implicit,n=z();Cn("id",i.name+"_"+n.currID),R("formControlName",i.name),x(1),R("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(V(0,"div")(1,"label"),Le(2),H(),ke(3,"br"),B(4,EU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),H()),2&e){const i=t.$implicit;x(2),xt(i.name),x(2),R("ngIf","textarea"==i.type),x(1),R("ngIf","checkbox"==i.type),x(1),R("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),x(1),R("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(V(0,"h2",18),Le(1),H()),2&e){const i=z();x(1),xt(i.errStr)}}function xU(e,t){1&e&&(V(0,"h2"),Le(1,"No graph was created from your request."),H())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(en),v(Bn),v(ZL),v(rt),v(CU))},e.\u0275cmp=Ge({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&We(SU,5),2&n){let s;X(s=ee())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(V(0,"div",0)(1,"div",1)(2,"label"),Le(3,"OPTIONS"),H(),ke(4,"br"),V(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),ke(7,"input",4),H()(),V(8,"div",5),B(9,OU,2,1,"h2",6),V(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),H(),B(12,xU,2,0,"h2",9),H()()),2&n&&(x(5),R("formGroup",r.optionsForm),x(1),R("ngForOf",r.optionsList),x(3),R("ngIf",r.errStr.length>0),x(3),R("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Kc,gp,uu,JD,QD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&We(PU,5),2&n){let s;X(s=ee())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(V(0,"div",0),ke(1,"input",1,2),H()),2&n&&(x(1),Cn("type",r.inputType),R("placeholder",r.placeholder),De("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=wn();V(0,"div",1)(1,"h4",2),Le(2),H(),V(3,"button",3),ce("click",function(){return ln(an(i).$implicit.dismiss("Cross click"))}),H()(),V(4,"div",4),ke(5,"app-container",5),H()}if(2&e){const i=z();x(2),xt(i.modalTitle),x(3),R("element",i.element)("parentLayout",i.parentLayout)}}let cS=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visibility",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}this.modalRef=null},l=>{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}null!=this.element&&this.modalRefService.removeModalByKey(this.element.id),this.modalRef=null})}this.cd.detectChanges()}}getDismissReason(n){return n===Ya.ESC?"by pressing ESC":n===Ya.BACKDROP_CLICK?"by clicking on a backdrop":`with: ${n}`}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(rt),v(en),v($t),v(HC),v(lD))},e.\u0275cmp=Ge({type:e,selectors:[["app-modal"]],viewQuery:function(n,r){if(1&n&&(We(kU,5,En),We(LU,5,it)),2&n){let s;X(s=ee())&&(r.child=s.first),X(s=ee())&&(r.content=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["content",""],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"element","parentLayout"]],template:function(n,r){1&n&&B(0,BU,6,3,"ng-template",null,0,Tn)}}),t})();const VU=["progress"],HU=["progressBar"];let UU=(()=>{var e;class t{constructor(n,r){this.cd=n,this.attributeService=r,this.element=null,this.parentLayout="",this.value=0,this.min=0,this.max=100,this.label="",this.out_label="",this.percentage=0}ngAfterViewInit(){null!=this.element&&(this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("value",n);null!=r&&(this.value=Number(r.value));let s=this.attributeService.findAttribute("min",n);null!=s&&(this.min=Number(s.value));let o=this.attributeService.findAttribute("max",n);null!=o&&(this.max=Number(o.value));let a=this.attributeService.findAttribute("label",n);null!=a&&(this.label=a.value);let l=this.attributeService.findAttribute("out_label",n);null!=l&&(this.out_label=l.value),null!=r&&(this.percentage=this.value/(this.max-this.min)*100);let c=this.progressBar.nativeElement,u=this.progress.nativeElement;this.attributeService.setAttributesDirectly(u,n),this.attributeService.addAttributes(u,n),this.attributeService.addClasses(c,n,["progress-bar"],[])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(en))},e.\u0275cmp=Ge({type:e,selectors:[["app-progress-bar"]],viewQuery:function(n,r){if(1&n&&(We(VU,7),We(HU,7)),2&n){let s;X(s=ee())&&(r.progress=s.first),X(s=ee())&&(r.progressBar=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:7,vars:17,consts:[[1,"progress"],["progress",""],["role","progressbar","aria-valuemin","min","aria-valuemax","max",1,"progress-bar"],["progressBar",""],[1,"progress-label",2,"text-align","center"]],template:function(n,r){if(1&n&&(V(0,"div",0,1)(2,"div",2,3),Le(4),H(),V(5,"span",4),Le(6),H()()),2&n){const s=function ri(e){return function vs(e,t){return e[t]}(function eT(){return K.lFrame.contextLView}(),pe+e)}(1);aa("position","relative")("height","100%")("display","flex")("align-items","center"),x(2),aa("width",r.percentage,"%")("height",s.offsetHeight+"px"),De("aria-valuenow",r.value),x(2),ai("",r.label," "),x(1),aa("width",100-r.percentage,"%"),x(1),xt(r.out_label)}}}),t})();const jU=["checkbox"],$U=["checkboxForm"];let GU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.checkboxID=crypto.randomUUID(),this.checkboxLabel="",this.disabledAttribute=!1,this.checked=!1,this.type="checkbox"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.checkbox.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.checkboxLabel=this.attributeService.findGetAttributeValue("label",n,""),null!=this.attributeService.findAttribute("checked",n)&&(this.checked=!0);let s=this.attributeService.findAttribute("type",n);null!=s&&("checkbox"===s.value||"radio"===s.value?this.type=s.value:(console.warn("Invalid value for type attribute. Defaulting to checkbox."),this.type="checkbox"));let o=this.checkbox.nativeElement,a=this.checkboxForm.nativeElement;this.attributeService.setAttributesDirectly(o,n),this.attributeService.addAttributes(o,n),this.attributeService.textAttributes(o,n),this.attributeService.addClasses(a,n,[],[]),this.attributeService.addGeneralAttributes(o,n);let l=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==l?this.disabledAttribute=!1:"true"==l?this.disabledAttribute=!0:(console.warn("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(l),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-checkbox"]],viewQuery:function(n,r){if(1&n&&(We(jU,5),We($U,5)),2&n){let s;X(s=ee())&&(r.checkbox=s.first),X(s=ee())&&(r.checkboxForm=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:6,consts:[[1,"form-check"],["checkboxForm",""],["value","",1,"form-check-input",3,"type","id"],["checkbox",""],[1,"form-check-label",3,"for"]],template:function(n,r){1&n&&(V(0,"div",0,1),ke(2,"input",2,3),V(4,"label",4),Le(5),H()()),2&n&&(x(2),Cn("type",r.type),Ks("id","checkbox-",r.checkboxID,""),De("disabled",!!r.disabledAttribute||null)("checked",!!r.checked||null),x(2),Ks("for","checkbox-",r.checkboxID,""),x(1),xt(r.checkboxLabel))}}),t})(),zU=(()=>{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cS},{key:"progress_bar",value:UU},{key:"checkbox",value:GU}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(zU),L($t),L(en))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function WU(e,t){if(1&e){const i=wn();V(0,"ngb-alert",1),ce("closed",function(){return an(i),ln(z().messageClosed())}),V(1,"strong"),Le(2),H(),Le(3),H()}if(2&e){const i=z();R("type",i.attrType)("dismissible",!0),x(2),xt(i.attrTitle),x(1),ai(" ",i.attrMessage,"\n")}}let qU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visibility="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visibility=this.attributeService.findGetAttributeValue("visibility",n,"shown"),console.log("visibility: "+this.visibility),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visibility="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(fi),v(en),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,WU,4,4,"ngb-alert",0),2&n&&R("ngIf","shown"==r.visibility)},dependencies:[Ln,j3]}),t})();function YU(e,t){if(1&e&&(V(0,"li",2)(1,"a"),ke(2,"i",3),Le(3),H()()),2&e){const i=t.$implicit;R("id",i.id),x(3),xt(i.text)}}let ZU=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(en),v(fi))},e.\u0275cmp=Ge({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(V(0,"ul",0),B(1,YU,4,2,"li",1),H()),2&n&&(x(1),R("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const JU=["parent"],QU=["child"];function KU(e,t){}function XU(e,t){1&e&&(V(0,"div",5,6),B(2,KU,0,0,"ng-template",null,7,Tn),H()),2&e&&Cn("id",z().window_id)}function ej(e,t){1&e&&ke(0,"app-message",10),2&e&&R("element",t.$implicit)}function tj(e,t){if(1&e&&(V(0,"div",8),B(1,ej,1,1,"app-message",9),H()),2&e){const i=z();x(1),R("ngForOf",i.messageList)}}function nj(e,t){if(1&e&&ke(0,"app-context-menu",11),2&e){const i=t.$implicit;R("id",i.id)("element",i)}}let ij=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r<n.attributes.length;r++){let s=n.attributes[r].value;s=this.stringSanitizer(s),n.attributes[r].value=s;let o=n.attributes[r].key;o=this.stringSanitizer(o),n.attributes[r].key=o,"image"!=o&&(s=s.replace("\\n","<br>"))}for(let r=0;r<n.when.length;r++){void 0!==n.when[r].event&&(n.when[r].actionType=n.when[r].event),void 0!==n.when[r].action&&(n.when[r].interactionType=n.when[r].action);let s=n.when[r].operation;s=this.stringSanitizer(s),n.when[r].operation=s;let o=n.when[r].actionType;o=this.stringSanitizer(o),n.when[r].actionType=o;let a=n.when[r].interactionType;a=this.stringSanitizer(a),n.when[r].interactionType=a}n.children.forEach(r=>{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(en),v(rt),v(Bn),v($t),v(Na),v(fi))},e.\u0275cmp=Ge({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(We(JU,5),We(QU,5,En)),2&n){let s;X(s=ee())&&(r.parent=s.first),X(s=ee())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,XU,4,1,"div",0),V(1,"div",1),ke(2,"div",2),H(),B(3,tj,2,1,"div",3),B(4,nj,1,2,"app-context-menu",4)),2&n&&(R("ngIf",null!=r.window),x(3),R("ngIf",null!=r.window),x(1),R("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,qU,ZU]}),t})();const rj=["titleIcon"];function sj(e,t){if(1&e&&(V(0,"button",4),ke(1,"i",null,5),Le(3),H()),2&e){const i=t.$implicit;Cn("id",i.id),x(3),ai(" ",i.title,"")}}let oj=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new aj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}operationExecutor(n){null!=n&&this.displayFrontend.operationPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(rt),v(Bn),v(fi),v(en),v($t),v(fi))},e.\u0275cmp=Ge({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&We(rj,5),2&n){let s;X(s=ee())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(V(0,"nav",0)(1,"a",1),ke(2,"i",null,2),Le(4),H(),V(5,"div"),B(6,sj,4,2,"button",3),H()()),2&n&&(x(4),ai(" ",r.title," "),x(2),R("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class aj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const lj=["contentWrapper"];function cj(e,t){1&e&&ke(0,"app-menu-bar",3),2&e&&R("element",z().menuBar)}let uj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){Gt.injector.get($t).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(rt),v($t))},e.\u0275cmp=Ge({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&We(lj,5),2&n){let s;X(s=ee())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,cj,1,1,"app-menu-bar",0),V(1,"div",1,2),ke(3,"app-new-main"),H()),2&n&&R("ngIf",null!=r.menuBar)},dependencies:[Ln,ij,oj],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:1%}"]}),t})();function dj(e){return()=>e.load()}let fj=(()=>{var e;class t{constructor(n){this.injector=n,Gt.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275mod=Pe({type:e,bootstrap:[uj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:dj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=cl(t,!1),n.pipeDefs=cl(i,!0)})(cS,[cD],[]),Bk().bootstrapModule(fj).catch(e=>console.error(e))},919:(yi,Yt)=>{"use strict";Yt.byteLength=function Ue(Z){var le=ye(Z),Xe=le[1];return 3*(le[0]+Xe)/4-Xe},Yt.toByteArray=function dt(Z){var le,Ct,be=ye(Z),Xe=be[0],et=be[1],xe=new ut(function M(Z,le,be){return 3*(le+be)/4-be}(0,Xe,et)),It=0,tn=et>0?Xe-4:Xe;for(Ct=0;Ct<tn;Ct+=4)le=$[Z.charCodeAt(Ct)]<<18|$[Z.charCodeAt(Ct+1)]<<12|$[Z.charCodeAt(Ct+2)]<<6|$[Z.charCodeAt(Ct+3)],xe[It++]=le>>16&255,xe[It++]=le>>8&255,xe[It++]=255&le;return 2===et&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===et&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},Yt.fromByteArray=function wt(Z){for(var le,be=Z.length,Xe=be%3,et=[],It=0,tn=be-Xe;It<tn;It+=16383)et.push(ft(Z,It,It+16383>tn?tn:It+16383));return 1===Xe?et.push(He[(le=Z[be-1])>>2]+He[le<<4&63]+"=="):2===Xe&&et.push(He[(le=(Z[be-2]<<8)+Z[be-1])>>10]+He[le>>4&63]+He[le<<2&63]+"="),et.join("")};for(var He=[],$=[],ut=typeof Uint8Array<"u"?Uint8Array:Array,Ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=0;Be<64;++Be)He[Be]=Ke[Be],$[Ke.charCodeAt(Be)]=Be;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function je(Z){return He[Z>>18&63]+He[Z>>12&63]+He[Z>>6&63]+He[63&Z]}function ft(Z,le,be){for(var et=[],xe=le;xe<be;xe+=3)et.push(je((Z[xe]<<16&16711680)+(Z[xe+1]<<8&65280)+(255&Z[xe+2])));return et.join("")}$["-".charCodeAt(0)]=62,$["_".charCodeAt(0)]=63},7:(yi,Yt,He)=>{"use strict";var ut=He(919),Ke=He(601),Be="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Yt.lW=M,Yt.h2=50;var de=2147483647;function Ue(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return dt(p,d,f)}function dt(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|tn(p,d),m=Ue(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(nn(p,Uint8Array)){var d=new Uint8Array(p);return Xe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(nn(p,ArrayBuffer)||p&&nn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(nn(p,SharedArrayBuffer)||p&&nn(p.buffer,SharedArrayBuffer)))return Xe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function et(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ue(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||E(p.length)?Ue(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function je(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return je(p),Ue(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ue(d),m=0;m<d;m+=1)f[m]=255&p[m];return f}function Xe(p,d,f){if(d<0||p.byteLength<d)throw new RangeError('"offset" is outside of buffer bounds');if(p.byteLength<d+(f||0))throw new RangeError('"length" is outside of buffer bounds');var m;return m=void 0===d&&void 0===f?new Uint8Array(p):void 0===f?new Uint8Array(p,d):new Uint8Array(p,d,f),Object.setPrototypeOf(m,M.prototype),m}function xe(p){if(p>=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function tn(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||nn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return Do(this,d,f);case"utf8":case"utf-8":return bo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return wi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function St(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),E(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:bi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):bi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function bi(p,d,f,m,w){var Se,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(Ci,at){return 1===I?Ci[at]:Ci.readUInt16BE(at*I)}if(w){var ot=-1;for(Se=f;Se<N;Se++)if(he(p,Se)===he(d,-1===ot?0:Se-ot)){if(-1===ot&&(ot=Se),Se-ot+1===q)return ot*I}else-1!==ot&&(Se-=Se-ot),ot=-1}else for(f+q>N&&(f=N-q),Se=f;Se>=0;Se--){for(var Ve=!0,tt=0;tt<q;tt++)if(he(p,Se+tt)!==he(d,tt)){Ve=!1;break}if(Ve)return Se}return-1}function Di(p,d,f,m){f=Number(f)||0;var w=p.length-f;m?(m=Number(m))>w&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N<m;++N){var q=parseInt(d.substr(2*N,2),16);if(E(q))return N;p[f+N]=q}return N}function yo(p,d,f,m){return Qi(Zi(d,p.length-f),p,f,m)}function vr(p,d,f,m){return Qi(function Ka(p){for(var d=[],f=0;f<p.length;++f)d.push(255&p.charCodeAt(f));return d}(d),p,f,m)}function rs(p,d,f,m){return Qi(Ji(d),p,f,m)}function yr(p,d,f,m){return Qi(function Dr(p,d){for(var f,m,I=[],N=0;N<p.length&&!((d-=2)<0);++N)m=(f=p.charCodeAt(N))>>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function wi(p,d,f){return ut.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function bo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w<f;){var he,Se,ot,Ve,I=p[w],N=null,q=I>239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Ve=(31&I)<<6|63&he)>127&&(N=Ve);break;case 3:Se=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Se)&&(Ve=(15&I)<<12|(63&he)<<6|63&Se)>2047&&(Ve<55296||Ve>57343)&&(N=Ve);break;case 4:Se=p[w+2],ot=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Se)&&128==(192&ot)&&(Ve=(15&I)<<18|(63&he)<<12|(63&Se)<<6|63&ot)>65535&&Ve<1114112&&(N=Ve)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function Ye(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;m<d;)f+=String.fromCharCode.apply(String,p.slice(m,m+=br));return f}(m)}!(M.TYPED_ARRAY_SUPPORT=function ye(){try{var p=new Uint8Array(1),d={foo:function(){return 42}};return Object.setPrototypeOf(d,Uint8Array.prototype),Object.setPrototypeOf(p,d),42===p.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}}),Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}}),M.poolSize=8192,M.from=function(p,d,f){return dt(p,d,f)},Object.setPrototypeOf(M.prototype,Uint8Array.prototype),Object.setPrototypeOf(M,Uint8Array),M.alloc=function(p,d,f){return function ft(p,d,f){return je(p),p<=0?Ue(p):void 0!==d?"string"==typeof f?Ue(p).fill(d,f):Ue(p).fill(d):Ue(p)}(p,d,f)},M.allocUnsafe=function(p){return wt(p)},M.allocUnsafeSlow=function(p){return wt(p)},M.isBuffer=function(d){return null!=d&&!0===d._isBuffer&&d!==M.prototype},M.compare=function(d,f){if(nn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),nn(f,Uint8Array)&&(f=M.from(f,f.offset,f.byteLength)),!M.isBuffer(d)||!M.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(d===f)return 0;for(var m=d.length,w=f.length,I=0,N=Math.min(m,w);I<N;++I)if(d[I]!==f[I]){m=d[I],w=f[I];break}return m<w?-1:w<m?1:0},M.isEncoding=function(d){switch(String(d).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},M.concat=function(d,f){if(!Array.isArray(d))throw new TypeError('"list" argument must be an Array of Buffers');if(0===d.length)return M.alloc(0);var m;if(void 0===f)for(f=0,m=0;m<d.length;++m)f+=d[m].length;var w=M.allocUnsafe(f),I=0;for(m=0;m<d.length;++m){var N=d[m];if(nn(N,Uint8Array))I+N.length>w.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=tn,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;f<d;f+=2)St(this,f,f+1);return this},M.prototype.swap32=function(){var d=this.length;if(d%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var f=0;f<d;f+=4)St(this,f,f+3),St(this,f+1,f+2);return this},M.prototype.swap64=function(){var d=this.length;if(d%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var f=0;f<d;f+=8)St(this,f,f+7),St(this,f+1,f+6),St(this,f+2,f+5),St(this,f+3,f+4);return this},M.prototype.toLocaleString=M.prototype.toString=function(){var d=this.length;return 0===d?"":0===arguments.length?bo(this,0,d):Ct.apply(this,arguments)},M.prototype.equals=function(d){if(!M.isBuffer(d))throw new TypeError("Argument must be a Buffer");return this===d||0===M.compare(this,d)},M.prototype.inspect=function(){var d="",f=Yt.h2;return d=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(d+=" ... "),"<Buffer "+d+">"},Be&&(M.prototype[Be]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(nn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Se=this.slice(w,I),ot=d.slice(f,m),Ve=0;Ve<he;++Ve)if(Se[Ve]!==ot[Ve]){N=Se[Ve],q=ot[Ve];break}return N<q?-1:q<N?1:0},M.prototype.includes=function(d,f,m){return-1!==this.indexOf(d,f,m)},M.prototype.indexOf=function(d,f,m){return mr(this,d,f,m,!0)},M.prototype.lastIndexOf=function(d,f,m){return mr(this,d,f,m,!1)},M.prototype.write=function(d,f,m,w){if(void 0===f)w="utf8",m=this.length,f=0;else if(void 0===m&&"string"==typeof f)w=f,m=this.length,f=0;else{if(!isFinite(f))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");f>>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return Di(this,d,f,m);case"utf8":case"utf-8":return yo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(127&p[w]);return m}function os(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(p[w]);return m}function Do(p,d,f){var m=p.length;(!d||d<0)&&(d=0),(!f||f<0||f>m)&&(f=m);for(var w="",I=d;I<f;++I)w+=S[p[I]];return w}function as(p,d,f){for(var m=p.slice(d,f),w="",I=0;I<m.length-1;I+=2)w+=String.fromCharCode(m[I]+256*m[I+1]);return w}function ne(p,d,f){if(p%1!=0||p<0)throw new RangeError("offset is not uint");if(p+d>f)throw new RangeError("Trying to access beyond buffer length")}function Pt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||d<I)throw new RangeError('"value" argument is out of bounds');if(f+m>p.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Ke.write(p,d,f,m,23,4),f+4}function ht(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Ke.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f<d&&(f=d);var w=this.subarray(d,f);return Object.setPrototypeOf(w,M.prototype),w},M.prototype.readUintLE=M.prototype.readUIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w},M.prototype.readUintBE=M.prototype.readUIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ne(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ne(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ne(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ne(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ne(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w>=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ne(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ne(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ne(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ne(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ne(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ne(d,4,this.length),Ke.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ne(d,4,this.length),Ke.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ne(d,8,this.length),Ke.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ne(d,8,this.length),Ke.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Pt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q<m&&(N*=256);)this[f+q]=d/N&255;return f+m},M.prototype.writeUintBE=M.prototype.writeUIntBE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Pt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Pt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N<m&&(q*=256);)d<0&&0===he&&0!==this[f+N-1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Pt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Pt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ht(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ht(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w<m&&(w=m),w===m||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(m<0||m>=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f<w-m&&(w=d.length-f+m);var I=w-m;return this===d&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(f,m,w):Uint8Array.prototype.set.call(d,this.subarray(m,w),f),I},M.prototype.fill=function(d,f,m,w){if("string"==typeof d){if("string"==typeof f?(w=f,f=0,m=this.length):"string"==typeof m&&(w=m,m=this.length),void 0!==w&&"string"!=typeof w)throw new TypeError("encoding must be a string");if("string"==typeof w&&!M.isEncoding(w))throw new TypeError("Unknown encoding: "+w);if(1===d.length){var I=d.charCodeAt(0);("utf8"===w&&I<128||"latin1"===w)&&(d=I)}}else"number"==typeof d?d&=255:"boolean"==typeof d&&(d=Number(d));if(f<0||this.length<f||this.length<m)throw new RangeError("Out of range index");if(m<=f)return this;var N;if(f>>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N<m;++N)this[N]=d;else{var q=M.isBuffer(d)?d:M.from(d,w),he=q.length;if(0===he)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(N=0;N<m-f;++N)this[N+f]=q[N%he]}return this};var cs=/[^+/0-9A-Za-z-_]/g;function Zi(p,d){d=d||1/0;for(var f,m=p.length,w=null,I=[],N=0;N<m;++N){if((f=p.charCodeAt(N))>55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ut.toByteArray(function Ft(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w<m&&!(w+f>=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function nn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function E(p){return p!=p}var S=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(yi,Yt)=>{Yt.read=function(He,$,ut,Ke,Be){var de,ye,Ue=8*Be-Ke-1,M=(1<<Ue)-1,dt=M>>1,je=-7,ft=ut?Be-1:0,wt=ut?-1:1,Z=He[$+ft];for(ft+=wt,de=Z&(1<<-je)-1,Z>>=-je,je+=Ue;je>0;de=256*de+He[$+ft],ft+=wt,je-=8);for(ye=de&(1<<-je)-1,de>>=-je,je+=Ke;je>0;ye=256*ye+He[$+ft],ft+=wt,je-=8);if(0===de)de=1-dt;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Ke),de-=dt}return(Z?-1:1)*ye*Math.pow(2,de-Ke)},Yt.write=function(He,$,ut,Ke,Be,de){var ye,Ue,M,dt=8*de-Be-1,je=(1<<dt)-1,ft=je>>1,wt=23===Be?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Ke?0:de-1,le=Ke?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ue=isNaN($)?1:0,ye=je):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+ft>=1?wt/M:wt*Math.pow(2,1-ft))*M>=2&&(ye++,M/=2),ye+ft>=je?(Ue=0,ye=je):ye+ft>=1?(Ue=($*M-1)*Math.pow(2,Be),ye+=ft):(Ue=$*Math.pow(2,ft-1)*Math.pow(2,Be),ye=0));Be>=8;He[ut+Z]=255&Ue,Z+=le,Ue/=256,Be-=8);for(ye=ye<<Be|Ue,dt+=Be;dt>0;He[ut+Z]=255&ye,Z+=le,ye/=256,dt-=8);He[ut+Z-le]|=128*be}},614:()=>{"use strict";const yi=":";const Ji=function(E,...S){if(Ji.translate){const d=Ji.translate(E,S);E=d[0],S=d[1]}let p=nn(E[0],E.raw[0]);for(let d=1;d<E.length;d++)p+=S[d-1]+nn(E[d],E.raw[d]);return p},Qi=":";function nn(E,S){return S.charAt(0)===Qi?E.substring(function as(E,S){for(let p=1,d=1;p<E.length;p++,d++)if("\\"===S[d])d++;else if(E[p]===yi)return p;throw new Error(`Unterminated $localize metadata block in "${S}".`)}(E,S)+1):E}globalThis.$localize=Ji}},yi=>{var Yt=$=>yi(yi.s=$);Yt(614),Yt(700)}]);
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.6297c055e9df0b42.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.6297c055e9df0b42.js
new file mode 100644
index 00000000..8a648c71
--- /dev/null
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.6297c055e9df0b42.js
@@ -0,0 +1,1 @@
+(self.webpackChunkClinguinAngular=self.webpackChunkClinguinAngular||[]).push([[179],{189:(yi,qt,Be)=>{"use strict";function H(e){return"function"==typeof e}function ut(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ut(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class ue{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if(H(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof ue){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof ue&&t._removeParent(this)}}ue.EMPTY=(()=>{const e=new ue;return e.closed=!0,e})();const ye=ue.EMPTY;function Ve(e){return e instanceof ue||e&&"closed"in e&&H(e.remove)&&H(e.add)&&H(e.unsubscribe)}function M(e){H(e)?e():e.unsubscribe()}const dt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ft(e){He.setTimeout(()=>{const{onUnhandledError:t}=dt;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(dt.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends ue{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=ns}static create(t,i,n){return new bi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){Di(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){Di(n)}else Di(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){Di(i)}}}class bi extends en{constructor(t,i,n){let r;if(super(),H(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&dt.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function Di(e){dt.useDeprecatedSynchronousErrorHandling?function It(e){dt.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):ft(e)}function vr(e,t){const{onStoppedNotification:i}=dt;i&&He.setTimeout(()=>i(e,t))}const ns={closed:!0,next:wt,error:function mo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function wi(e){return e}let Ge=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function yo(e){return e&&e instanceof en||function rs(e){return e&&H(e.next)&&H(e.error)&&H(e.complete)}(e)&&Ve(e)}(i)?i:new bi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=is(n))((r,s)=>{const o=new bi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?wi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=is(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function is(e){var t;return null!==(t=e??dt.Promise)&&void 0!==t?t:Promise}const ss=ut(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ne=(()=>{class e extends Ge{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new ss}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new ue(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new Ge;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ne{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function os(e){return H(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ht(e,t,i,n,r){return new as(e,t,i,n,r)}class as extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Ft(e,t){return mt((i,n)=>{let r=0;i.subscribe(ht(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function W(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Ou=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function cg(e){return H(e?.then)}function ug(e){return H(e[yr])}function dg(e){return Symbol.asyncIterator&&H(e?.[Symbol.asyncIterator])}function fg(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const hg=function yE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function pg(e){return H(e?.[hg])}function gg(e){return function Ci(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function _g(e){return H(e?.getReader)}function Pt(e){if(e instanceof Ge)return e;if(null!=e){if(ug(e))return function bE(e){return new Ge(t=>{const i=e[yr]();if(H(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Ou(e))return function DE(e){return new Ge(t=>{for(let i=0;i<e.length&&!t.closed;i++)t.next(e[i]);t.complete()})}(e);if(cg(e))return function wE(e){return new Ge(t=>{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,ft)})}(e);if(dg(e))return mg(e);if(pg(e))return function CE(e){return new Ge(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(_g(e))return function EE(e){return mg(gg(e))}(e)}throw fg(e)}function mg(e){return new Ge(t=>{(function SE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function ls(e,t,i=1/0){return H(t)?ls((n,r)=>Ft((s,o)=>t(n,s,r,o))(Pt(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function TE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c<n?y(b):l.push(b),y=b=>{s&&t.next(b),c++;let D=!1;Pt(i(b,u++)).subscribe(ht(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&c<n;){const T=l.shift();o?Xi(t,o,()=>y(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ht(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function vg(e=1/0){return ls(wi,e)}const bo=new Ge(e=>e.complete());function yg(e){return e&&H(e.schedule)}function xu(e){return e[e.length-1]}function Ru(e){return H(xu(e))?e.pop():void 0}function Ka(e){return yg(xu(e))?e.pop():void 0}function bg(e,t=0){return mt((i,n)=>{i.subscribe(ht(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Dg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function wg(e,t){if(!e)throw new Error("Iterable cannot be null");return new Ge(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function Do(e,t){return t?function FE(e,t){if(null!=e){if(ug(e))return function NE(e,t){return Pt(e).pipe(Dg(t),bg(t))}(e,t);if(Ou(e))return function OE(e,t){return new Ge(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(cg(e))return function AE(e,t){return Pt(e).pipe(Dg(t),bg(t))}(e,t);if(dg(e))return wg(e,t);if(pg(e))return function xE(e,t){return new Ge(i=>{let n;return Xi(i,t,()=>{n=e[hg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>H(n?.return)&&n.return()})}(e,t);if(_g(e))return function RE(e,t){return wg(gg(e),t)}(e,t)}throw fg(e)}(e,t):Pt(e)}class PE extends ne{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function cs(...e){return Do(e,Ka(e))}function Eg(e={}){const{connector:t=(()=>new ne),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Fu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new bi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Fu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Fu(_,n),T.complete()}}),Pt(b).subscribe(o))})(s)}}function Fu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new bi({next:()=>{n.unsubscribe(),e()}});return Pt(t(...i)).subscribe(n)}function Pu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ht(n,l=>{r?.unsubscribe();let c=0;const u=s++;Pt(e(l,u)).subscribe(r=ht(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function kE(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Xa(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).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 i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function ku(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const LE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return function Lu(e){return"function"==typeof e&&e.hasOwnProperty(LE)&&e.__forward_ref__===ae}(e)?e():e}function Bu(e){return e&&!!e.\u0275providers}const Tg="https://g.co/ng/security#xss";class R extends Error{constructor(t,i){super(function el(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function ie(e){return"string"==typeof e?e:null==e?"":String(e)}function Vu(e,t){throw new R(-201,!1)}function Hn(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function j(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function tl(e){return Mg(e,il)||Mg(e,Ig)}function Mg(e,t){return e.hasOwnProperty(t)?e[t]:null}function nl(e){return e&&(e.hasOwnProperty(Hu)||e.hasOwnProperty(GE))?e[Hu]:null}const il=Re({\u0275prov:Re}),Hu=Re({\u0275inj:Re}),Ig=Re({ngInjectableDef:Re}),GE=Re({ngInjectorDef:Re});var ge=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}(ge||{});let Uu;function gn(e){const t=Uu;return Uu=e,t}function Ag(e,t,i){const n=tl(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void Vu(Nt(e))}const Ue=globalThis,wo={},Wu="__NG_DI_FLAG__",rl="ngTempTokenPath",qE=/\n/gm,xg="__source";let us;function er(e){const t=us;return us=e,t}function JE(e,t=ge.Default){if(void 0===us)throw new R(-203,!1);return null===us?Ag(e,void 0,t):us.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ng(){return Uu}()||JE)(X(e),t)}function de(e,t=ge.Default){return L(e,sl(t))}function sl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function qu(e){const t=[];for(let i=0;i<e.length;i++){const n=X(e[i]);if(Array.isArray(n)){if(0===n.length)throw new R(900,!1);let r,s=ge.Default;for(let o=0;o<n.length;o++){const a=n[o],l=QE(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}t.push(L(r,s))}else t.push(L(n))}return t}function Co(e,t){return e[Wu]=t,e.prototype[Wu]=t,e}function QE(e){return e[Wu]}function Li(e){return{toString:e}.toString()}var ol=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(ol||{}),Xn=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(Xn||{});const Ei={},Se=[],al=Re({\u0275cmp:Re}),Yu=Re({\u0275dir:Re}),Zu=Re({\u0275pipe:Re}),Fg=Re({\u0275mod:Re}),Bi=Re({\u0275fac:Re}),Eo=Re({__NG_ELEMENT_ID__:Re}),Pg=Re({__NG_ENV_ID__:Re});function kg(e,t,i){let n=e.length;for(;;){const r=e.indexOf(t,i);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const s=t.length;if(r+s===n||e.charCodeAt(r+s)<=32)return r}i=r+1}}function Ju(e,t,i){let n=0;for(;n<i.length;){const r=i[n];if("number"==typeof r){if(0!==r)break;n++;const s=i[n++],o=i[n++],a=i[n++];e.setAttribute(t,o,a,s)}else{const s=r,o=i[++n];Bg(s)?e.setProperty(t,s,o):e.setAttribute(t,s,o),n++}}return n}function Lg(e){return 3===e||4===e||6===e}function Bg(e){return 64===e.charCodeAt(0)}function So(e,t){if(null!==t&&0!==t.length)if(null===e||0===e.length)e=t.slice();else{let i=-1;for(let n=0;n<t.length;n++){const r=t[n];"number"==typeof r?i=r:0===i||Vg(e,i,r,null,-1===i||2===i?t[++n]:null)}}return e}function Vg(e,t,i,n,r){let s=0,o=e.length;if(-1===t)o=-1;else for(;s<e.length;){const a=e[s++];if("number"==typeof a){if(a===t){o=-1;break}if(a>t){o=s-1;break}}}for(;s<e.length;){const a=e[s];if("number"==typeof a)break;if(a===i){if(null===n)return void(null!==r&&(e[s+1]=r));if(n===e[s+1])return void(e[s+2]=r)}s++,null!==n&&s++,null!==r&&s++}-1!==o&&(e.splice(o,0,t),s=o+1),e.splice(s++,0,i),null!==n&&e.splice(s++,0,n),null!==r&&e.splice(s++,0,r)}const Hg="ng-template";function eS(e,t,i){let n=0,r=!0;for(;n<e.length;){let s=e[n++];if("string"==typeof s&&r){const o=e[n++];if(i&&"class"===s&&-1!==kg(o.toLowerCase(),t,0))return!0}else{if(1===s){for(;n<e.length&&"string"==typeof(s=e[n++]);)if(s.toLowerCase()===t)return!0;return!1}"number"==typeof s&&(r=!1)}}return!1}function Ug(e){return 4===e.type&&e.value!==Hg}function tS(e,t,i){return t===(4!==e.type||i?e.value:Hg)}function nS(e,t,i){let n=4;const r=e.attrs||[],s=function sS(e){for(let t=0;t<e.length;t++)if(Lg(e[t]))return t;return e.length}(r);let o=!1;for(let a=0;a<t.length;a++){const l=t[a];if("number"!=typeof l){if(!o)if(4&n){if(n=2|1&n,""!==l&&!tS(e,l,i)||""===l&&1===t.length){if(ei(n))return!1;o=!0}}else{const c=8&n?l:t[++a];if(8&n&&null!==e.attrs){if(!eS(e.attrs,c,i)){if(ei(n))return!1;o=!0}continue}const h=iS(8&n?"class":l,r,Ug(e),i);if(-1===h){if(ei(n))return!1;o=!0;continue}if(""!==c){let g;g=h>s?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==kg(_,c,0)||2&n&&c!==g){if(ei(n))return!1;o=!0}}}}else{if(!o&&!ei(n)&&!ei(l))return!1;if(o&&ei(l))continue;o=!1,n=l|1&n}}return ei(n)||o}function ei(e){return 0==(1&e)}function iS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r<t.length;){const o=t[r];if(o===e)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=t[++r];for(;"string"==typeof a;)a=t[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function oS(e,t){let i=e.indexOf(4);if(i>-1)for(i++;i<e.length;){const n=e[i];if("number"==typeof n)return-1;if(n===t)return i;i++}return-1}(t,e)}function jg(e,t,i=!1){for(let n=0;n<t.length;n++)if(nS(e,t[n],i))return!0;return!1}function aS(e,t){e:for(let i=0;i<t.length;i++){const n=t[i];if(e.length===n.length){for(let r=0;r<e.length;r++)if(e[r]!==n[r])continue e;return!0}}return!1}function $g(e,t){return e?":not("+t.trim()+")":t}function lS(e){let t=e[0],i=1,n=2,r="",s=!1;for(;i<e.length;){let o=e[i];if("string"==typeof o)if(2&n){const a=e[++i];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ei(o)&&(t+=$g(s,r),r=""),n=o,s=s||!ei(n);i++}return""!==r&&(t+=$g(s,r)),t}function ze(e){return Li(()=>{const t=Wg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ol.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Xn.Emulated,styles:e.styles||Se,_:null,schemas:e.schemas||null,tView:null,id:""};qg(i);const n=e.dependencies;return i.directiveDefs=ll(n,!1),i.pipeDefs=ll(n,!0),i.id=function gS(e){let t=0;const i=[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 i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function dS(e){return me(e)||Ht(e)}function fS(e){return null!==e}function Fe(e){return Li(()=>({type:e.type,bootstrap:e.bootstrap||Se,declarations:e.declarations||Se,imports:e.imports||Se,exports:e.exports||Se,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function zg(e,t){if(null==e)return Ei;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function P(e){return Li(()=>{const t=Wg(e);return qg(t),t})}function me(e){return e[al]||null}function Ht(e){return e[Yu]||null}function nn(e){return e[Zu]||null}function Wg(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||Ei,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Se,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:zg(e.inputs,t),outputs:zg(e.outputs)}}function qg(e){e.features?.forEach(t=>t(e))}function ll(e,t){if(!e)return null;const i=t?nn:dS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(fS)}const pt=0,V=1,se=2,nt=3,ti=4,Mo=5,Yt=6,ds=7,vt=8,tr=9,fs=10,re=11,Io=12,Yg=13,hs=14,yt=15,No=16,ps=17,Si=18,Ao=19,Zg=20,nr=21,Vi=22,cl=23,ul=24,he=25,Qu=1,Jg=2,Ti=7,gs=9,Ut=11;function mn(e){return Array.isArray(e)&&"object"==typeof e[Qu]}function rn(e){return Array.isArray(e)&&!0===e[Qu]}function Ku(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function fl(e){return 1==(1&e.flags)}function ni(e){return!!e.template}function Xu(e){return 0!=(512&e[se])}function Er(e,t){return e.hasOwnProperty(Bi)?e[Bi]:null}let DS=Ue.WeakRef??class bS{constructor(t){this.ref=t}deref(){return this.ref}},CS=0,Mi=null,hl=!1;function kt(e){const t=Mi;return Mi=e,t}class t_{constructor(){this.id=CS++,this.ref=function wS(e){return new DS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=hl;hl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{hl=t}}producerAccessed(){if(hl)throw new Error("");if(null===Mi)return;let t=Mi.producers.get(this.id);void 0===t?(t={consumerNode:Mi.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Mi.trackingVersion},Mi.producers.set(this.id,t),this.consumers.set(Mi.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Mi.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Mi?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let n_=null;const r_=()=>{};class MS extends t_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=r_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=r_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class IS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return s_}function s_(e){return e.type.prototype.ngOnChanges&&(e.setInput=AS),NS}function NS(){const e=a_(this),t=e?.current;if(t){const i=e.previous;if(i===Ei)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function AS(e,t,i,n){const r=this.declaredInputs[i],s=a_(e)||function OS(e,t){return e[o_]=t}(e,{previous:Ei,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new IS(l&&l.currentValue,t,a===Ei),e[n]=t}sn.ngInherit=!0;const o_="__ngSimpleChanges__";function a_(e){return e[o_]||null}const Ii=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[pt];return e}function _l(e,t){return We(t[e])}function vn(e,t){return We(t[e.index])}function u_(e,t){return e.data[t]}function An(e,t){const i=t[e];return mn(i)?i:i[pt]}function ir(e,t){return null==t?null:e[t]}function d_(e){e[ps]=0}function LS(e){1024&e[se]||(e[se]|=1024,h_(e,1))}function f_(e){1024&e[se]&&(e[se]&=-1025,h_(e,-1))}function h_(e,t){let i=e[nt];if(null===i)return;i[Mo]+=t;let n=i;for(i=i[nt];null!==i&&(1===t&&1===n[Mo]||-1===t&&0===n[Mo]);)i[Mo]+=t,n=i,i=i[nt]}const K={lFrame:E_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function __(){return K.bindingsEnabled}function ms(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function yn(e){return K.lFrame.contextLView=e,e[vt]}function bn(e){return K.lFrame.contextLView=null,e}function jt(){let e=m_();for(;null!==e&&64===e.type;)e=e.parent;return e}function m_(){return K.lFrame.currentTNode}function Ni(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function od(){return K.lFrame.isParent}function ad(){K.lFrame.isParent=!1}function vs(){return K.lFrame.bindingIndex++}function Ui(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function ZS(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,ld(t)}function ld(e){K.lFrame.currentDirectiveIndex=e}function D_(){return K.lFrame.currentQueryIndex}function ud(e){K.lFrame.currentQueryIndex=e}function QS(e){const t=e[V];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function w_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=QS(s),null===r||(s=s[hs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=C_();return n.currentTNode=t,n.lView=e,!0}function dd(e){const t=C_(),i=e[V];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function C_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?E_(e):t}function E_(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 S_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const T_=S_;function fd(){const e=S_();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 an(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function at(){const e=K.lFrame;return u_(e.tView,e.selectedIndex)}let I_=!0;function ml(){return I_}function rr(e){I_=e}function vl(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i<n;i++){const s=e.data[i].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(e.contentHooks??=[]).push(-i,o),a&&((e.contentHooks??=[]).push(i,a),(e.contentCheckHooks??=[]).push(i,a)),l&&(e.viewHooks??=[]).push(-i,l),c&&((e.viewHooks??=[]).push(i,c),(e.viewCheckHooks??=[]).push(i,c)),null!=u&&(e.destroyHooks??=[]).push(i,u)}}function yl(e,t,i){N_(e,t,3,i)}function bl(e,t,i,n){(3&e[se])===i&&N_(e,t,i,n)}function hd(e,t){let i=e[se];(3&i)===t&&(i&=8191,i+=1,e[se]=i)}function N_(e,t,i,n){const s=n??-1,o=t.length-1;let a=0;for(let l=void 0!==n?65535&e[ps]:0;l<o;l++)if("number"==typeof t[l+1]){if(a=t[l],null!=n&&a>=n)break}else t[l]<0&&(e[ps]+=65536),(a<s||-1==s)&&(sT(e,i,t,l),e[ps]=(4294901760&e[ps])+l+2),l++}function A_(e,t){Ii(4,e,t);const i=kt(null);try{t.call(e)}finally{kt(i),Ii(5,e,t)}}function sT(e,t,i,n){const r=i[n]<0,s=i[n+1],a=e[r?-i[n]:i[n]];r?e[se]>>13<e[ps]>>16&&(3&e[se])===t&&(e[se]+=8192,A_(a,s)):A_(a,s)}const ys=-1;class Ro{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function gd(e){return e!==ys}function Fo(e){return 32767&e}function Po(e,t){let i=function cT(e){return e>>16}(e),n=t;for(;i>0;)n=n[hs],i--;return n}let _d=!0;function Dl(e){const t=_d;return _d=e,t}const O_=255,x_=5;let uT=0;const Ai={};function wl(e,t){const i=R_(e,t);if(-1!==i)return i;const n=t[V];n.firstCreatePass&&(e.injectorIndex=t.length,md(n.data,e),md(t,null),md(n.blueprint,null));const r=Cl(e,t),s=e.injectorIndex;if(gd(r)){const o=Fo(r),a=Po(r,t),l=a[V].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function md(e,t){e.push(0,0,0,0,0,0,0,0,t)}function R_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function Cl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=H_(r),null===n)return ys;if(i++,r=r[hs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return ys}function vd(e,t,i){!function dT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(Eo)&&(n=i[Eo]),null==n&&(n=i[Eo]=uT++);const r=n&O_;t.data[e+(r>>x_)]|=1<<r}(e,t,i)}function F_(e,t,i){if(i&ge.Optional||void 0!==e)return e;Vu()}function P_(e,t,i,n){if(i&ge.Optional&&void 0===n&&(n=null),!(i&(ge.Self|ge.Host))){const r=e[tr],s=gn(void 0);try{return r?r.get(t,n,i&ge.Optional):Ag(t,n,i&ge.Optional)}finally{gn(s)}}return F_(n,0,i)}function k_(e,t,i,n=ge.Default,r){if(null!==e){if(2048&t[se]&&!(n&ge.Self)){const o=function mT(e,t,i,n,r){let s=e,o=t;for(;null!==s&&null!==o&&2048&o[se]&&!(512&o[se]);){const a=L_(s,o,i,n|ge.Self,Ai);if(a!==Ai)return a;let l=s.parent;if(!l){const c=o[Zg];if(c){const u=c.get(i,Ai,n);if(u!==Ai)return u}l=H_(o),o=o[hs]}s=l}return r}(e,t,i,n,Ai);if(o!==Ai)return o}const s=L_(e,t,i,n,Ai);if(s!==Ai)return s}return P_(t,i,n,r)}function L_(e,t,i,n,r){const s=function pT(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(Eo)?e[Eo]:void 0;return"number"==typeof t?t>=0?t&O_:_T:t}(i);if("function"==typeof s){if(!w_(t,e,n))return n&ge.Host?F_(r,0,n):P_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;Vu()}finally{T_()}}else if("number"==typeof s){let o=null,a=R_(e,t),l=ys,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?Cl(e,t):t[a+8],l!==ys&&V_(n,!1)?(o=t[V],a=Fo(l),t=Po(l,t)):a=-1);-1!==a;){const u=t[V];if(B_(s,a,u.data)){const h=hT(a,t,i,o,n,c);if(h!==Ai)return h}l=t[a+8],l!==ys&&V_(n,t[V].data[a+8]===c)&&B_(s,a,t)?(o=u,a=Fo(l),t=Po(l,t)):a=-1}}return r}function hT(e,t,i,n,r,s){const o=t[V],a=o.data[e+8],u=El(a,o,i,null==n?Cr(a)&&_d:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Ai}function El(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_<g;_++){const y=o[_];if(_<l&&i===y||_>=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ni(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function oT(e){return e instanceof Ro}(r)){const o=r;o.resolving&&function BE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new R(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():ie(e)}(s[i]));const a=Dl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?gn(o.injectImpl):null;w_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function rT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=s_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&gn(c),Dl(a),o.resolving=!1,T_()}}return r}function B_(e,t,i){return!!(i[t+(e>>x_)]&1<<e)}function V_(e,t){return!(e&ge.Self||e&ge.Host&&t)}class ln{constructor(t,i){this._tNode=t,this._lView=i}get(t,i,n){return k_(this._tNode,this._lView,t,sl(n),i)}}function _T(){return new ln(jt(),A())}function H_(e){const t=e[V],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const ws="__parameters__";function Es(e,t,i){return Li(()=>{const n=function bd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(ws)?l[ws]:Object.defineProperty(l,ws,{value:[]})[ws];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Ts(e,t){e.forEach(i=>Array.isArray(i)?Ts(i,t):t(i))}function j_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function Sl(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Bo(e,t){const i=[];for(let n=0;n<e;n++)i.push(t);return i}function On(e,t,i){let n=Ms(e,t);return n>=0?e[1|n]=i:(n=~n,function ET(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Dd(e,t){const i=Ms(e,t);if(i>=0)return e[1|i]}function Ms(e,t){return function $_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<<i];if(t===o)return s<<i;o>t?r=s:n=s+1}return~(r<<i)}(e,t,1)}const Cd=Co(Es("Optional"),8),Ed=Co(Es("SkipSelf"),4);function Ol(e){return 128==(128&e.flags)}var sr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(sr||{});const Id=new Map;let YT=0;const Ad="__ngContext__";function Zt(e,t){mn(t)?(e[Ad]=t[Ao],function JT(e){Id.set(e[Ao],e)}(t)):e[Ad]=t}let Od;function xd(e,t){return Od(e,t)}function Uo(e){const t=e[nt];return rn(t)?t[nt]:t}function cm(e){return dm(e[Io])}function um(e){return dm(e[ti])}function dm(e){for(;null!==e&&!rn(e);)e=e[ti];return e}function As(e,t,i,n,r){if(null!=n){let s,o=!1;rn(n)?s=n:mn(n)&&(o=!0,n=n[pt]);const a=We(n);0===e&&null!==i?null==r?gm(t,i,a):Mr(t,i,a,r||null,!0):1===e&&null!==i?Mr(t,i,a,r||null,!0):2===e?function Bl(e,t,i){const n=kl(e,t);n&&function gM(e,t,i,n){e.removeChild(t,i,n)}(e,n,t,i)}(t,a,o):3===e&&t.destroyNode(a),null!=s&&function vM(e,t,i,n,r){const s=i[Ti];s!==We(i)&&As(t,e,n,s,r);for(let a=Ut;a<i.length;a++){const l=i[a];$o(l[V],l,e,t,n,s)}}(t,e,s,i,r)}}function Fl(e,t,i){return e.createElement(t,i)}function hm(e,t){const i=e[gs],n=i.indexOf(t);f_(t),i.splice(n,1)}function Pl(e,t){if(e.length<=Ut)return;const i=Ut+t,n=e[i];if(n){const r=n[No];null!==r&&r!==e&&hm(r,n),t>0&&(e[i-1][ti]=n[ti]);const s=Sl(e,Ut+t);!function aM(e,t){$o(e,t,t[re],2,null,null),t[pt]=null,t[Yt]=null}(n[V],n);const o=s[Si];null!==o&&o.detachView(s[V]),n[nt]=null,n[ti]=null,n[se]&=-129}return n}function Fd(e,t){if(!(256&t[se])){const i=t[re];t[cl]?.destroy(),t[ul]?.destroy(),i.destroyNode&&$o(e,t,i,3,null,null),function uM(e){let t=e[Io];if(!t)return Pd(e[V],e);for(;t;){let i=null;if(mn(t))i=t[Io];else{const n=t[Ut];n&&(i=n)}if(!i){for(;t&&!t[ti]&&t!==e;)mn(t)&&Pd(t[V],t),t=t[nt];null===t&&(t=e),mn(t)&&Pd(t[V],t),i=t&&t[ti]}t=i}}(t)}}function Pd(e,t){if(!(256&t[se])){t[se]&=-129,t[se]|=256,function pM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n<i.length;n+=2){const r=t[i[n]];if(!(r instanceof Ro)){const s=i[n+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];Ii(4,a,l);try{l.call(a)}finally{Ii(5,a,l)}}else{Ii(4,r,s);try{s.call(r)}finally{Ii(5,r,s)}}}}}(e,t),function hM(e,t){const i=e.cleanup,n=t[ds];if(null!==i)for(let s=0;s<i.length-1;s+=2)if("string"==typeof i[s]){const o=i[s+3];o>=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[ds]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s<r.length;s++)(0,r[s])()}}(e,t),1===t[V].type&&t[re].destroy();const i=t[No];if(null!==i&&rn(t[nt])){i!==t[nt]&&hm(i,t);const n=t[Si];null!==n&&n.detachView(e)}!function QT(e){Id.delete(e[Ao])}(t)}}function kd(e,t,i){return function pm(e,t,i){let n=t;for(;null!==n&&40&n.type;)n=(t=n).parent;if(null===n)return i[pt];{const{componentOffset:r}=n;if(r>-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===Xn.None||s===Xn.Emulated)return null}return vn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function gm(e,t,i){e.appendChild(t,i)}function _m(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):gm(e,t,i)}function kl(e,t){return e.parentNode(t)}function mm(e,t,i){return ym(e,t,i)}let Ld,Vl,Ud,Hl,ym=function vm(e,t,i){return 40&e.type?vn(e,i):null};function Ll(e,t,i,n){const r=kd(e,n,t),s=t[re],a=mm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;l<i.length;l++)_m(s,r,i[l],a,!1);else _m(s,r,i,a,!1);void 0!==Ld&&Ld(s,n,t,i,r)}function jo(e,t){if(null!==t){const i=t.type;if(3&i)return vn(t,e);if(4&i)return Bd(-1,e[t.index]);if(8&i){const n=t.child;if(null!==n)return jo(e,n);{const r=e[t.index];return rn(r)?Bd(-1,r):We(r)}}if(32&i)return xd(t,e)()||We(e[t.index]);{const n=Dm(e,t);return null!==n?Array.isArray(n)?n[0]:jo(Uo(e[yt]),n):jo(e,t.next)}}return null}function Dm(e,t){return null!==t?e[yt][Yt].projection[t.projection]:null}function Bd(e,t){const i=Ut+e+1;if(i<t.length){const n=t[i],r=n[V].firstChild;if(null!==r)return jo(n,r)}return t[Ti]}function Vd(e,t,i,n,r,s,o){for(;null!=i;){const a=n[i.index],l=i.type;if(o&&0===t&&(a&&Zt(We(a),n),i.flags|=2),32!=(32&i.flags))if(8&l)Vd(e,t,i.child,n,r,s,!1),As(t,e,r,a,s);else if(32&l){const c=xd(i,n);let u;for(;u=c();)As(t,e,r,u,s);As(t,e,r,a,s)}else 16&l?Cm(e,t,n,i,r,s):As(t,e,r,a,s);i=o?i.projectionNext:i.next}}function $o(e,t,i,n,r,s){Vd(i,n,e.firstChild,t,r,s,!1)}function Cm(e,t,i,n,r,s){const o=i[yt],l=o[Yt].projection[n.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)As(t,e,r,l[c],s);else{let c=l;const u=o[nt];Ol(n)&&(c.flags|=128),Vd(e,t,c,u,r,s,!0)}}function Em(e,t,i){""===i?e.removeAttribute(t,"class"):e.setAttribute(t,"class",i)}function Sm(e,t,i){const{mergedAttrs:n,classes:r,styles:s}=i;null!==n&&Ju(e,t,n),null!==r&&Em(e,t,r),null!==s&&function bM(e,t,i){e.setAttribute(t,"style",i)}(e,t,s)}function Os(e){return function Hd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}function xs(){if(void 0!==Ud)return Ud;if(typeof document<"u")return document;throw new R(210,!1)}function Tm(e){return function jd(){if(void 0===Hl&&(Hl=null,Ue.trustedTypes))try{Hl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Hl}()?.createHTML(e)||e}class Nm{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Tg})`}}function or(e){return e instanceof Nm?e.changingThisBreaksApplicationSecurity:e}function Go(e,t){const i=function AM(e){return e instanceof Nm&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Tg})`)}return i===t}class OM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t="<body><remove></remove>"+t;try{const i=(new window.DOMParser).parseFromString(Os(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class xM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Os(t),i}}const FM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function $d(e){return(e=String(e)).match(FM)?e:"unsafe:"+e}function ji(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function zo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Om=ji("area,br,col,hr,img,wbr"),xm=ji("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Rm=ji("rp,rt"),Gd=zo(Om,zo(xm,ji("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")),zo(Rm,ji("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")),zo(Rm,xm)),zd=ji("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=zo(zd,ji("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"),ji("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")),PM=ji("script,style,template");class kM{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Gd.hasOwnProperty(i))return this.sanitizedSomething=!0,!PM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r<n.length;r++){const s=n.item(r),o=s.name,a=o.toLowerCase();if(!Fm.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=s.value;zd[a]&&(l=$d(l)),this.buf.push(" ",o,'="',Pm(l),'"')}return this.buf.push(">"),!0}endElement(t){const i=t.nodeName.toLowerCase();Gd.hasOwnProperty(i)&&!Om.hasOwnProperty(i)&&(this.buf.push("</"),this.buf.push(i),this.buf.push(">"))}chars(t){this.buf.push(Pm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const LM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,BM=/([^\#-~ |!])/g;function Pm(e){return e.replace(/&/g,"&amp;").replace(LM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(BM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Ul;function Wd(e){return"content"in e&&function HM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Rs=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}(Rs||{});function km(e){const t=Wo();return t?Tm(t.sanitize(Rs.HTML,e)||""):Go(e,"HTML")?Tm(or(e)):function VM(e,t){let i=null;try{Ul=Ul||function Am(e){const t=new xM(e);return function RM(){try{return!!(new window.DOMParser).parseFromString(Os(""),"text/html")}catch{return!1}}()?new OM(t):t}(e);let n=t?String(t):"";i=Ul.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Ul.getInertBodyElement(n)}while(n!==s);return Os((new kM).sanitizeChildren(Wd(i)||i))}finally{if(i){const n=Wd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(xs(),ie(e))}function qd(e){const t=Wo();return t?t.sanitize(Rs.URL,e)||"":Go(e,"URL")?or(e):$d(ie(e))}function Wo(){const e=A();return e&&e[fs].sanitizer}class z{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=j({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const jl=new z("ENVIRONMENT_INITIALIZER"),Bm=new z("INJECTOR",-1),Vm=new z("INJECTOR_DEF_TYPES");class Yd{get(t,i=wo){if(i===wo){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function qM(...e){return{\u0275providers:Hm(0,e),\u0275fromNgModule:!0}}function Hm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Ts(t,o=>{const a=o;$l(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&Um(r,s),i}function Um(e,t){for(let i=0;i<e.length;i++){const{ngModule:n,providers:r}=e[i];Jd(r,s=>{t(s,n)})}}function $l(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=nl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=nl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)$l(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Ts(s.imports,u=>{$l(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Um(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Se},r),t({provide:Vm,useValue:r,multi:!0},r),t({provide:jl,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Jd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Jd(e,t){for(let i of e)Bu(i)&&(i=i.\u0275providers),Array.isArray(i)?Jd(i,t):t(i)}const YM=Re({provide:String,useValue:Re});function Qd(e){return null!==e&&"object"==typeof e&&YM in e}function Ir(e){return"function"==typeof e}const Kd=new z("Set Injector scope."),Gl={},JM={};let Xd;function zl(){return void 0===Xd&&(Xd=new Yd),Xd}class jn{}class Wl extends jn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,tf(t,o=>this.processProvider(o)),this.records.set(Bm,Fs(void 0,this)),r.has("environment")&&this.records.set(jn,Fs(void 0,this));const s=this.records.get(Kd);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Vm.multi,Se,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=gn(void 0);try{return t()}finally{er(i),gn(n)}}get(t,i=wo,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Pg))return t[Pg](this);n=sl(n);const s=er(this),o=gn(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function tI(e){return"function"==typeof e||"object"==typeof e&&e instanceof z}(t)&&tl(t);l=c&&this.injectableDefInScope(c)?Fs(ef(t),Gl):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?zl():this.parent).get(t,i=n&ge.Optional&&i===wo?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[rl]=a[rl]||[]).unshift(Nt(t)),s)throw a;return function KE(e,t,i,n){const r=e[rl];throw t[xg]&&r.unshift(t[xg]),e.message=function XE(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(qE,"\n  ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[rl]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{gn(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=gn(void 0);try{const r=this.get(jl.multi,Se,ge.Self);for(const s of r)s()}finally{er(t),gn(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new R(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function KM(e){return Qd(e)?Fs(void 0,e.useValue):Fs(Gm(e),Gl)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=Fs(void 0,Gl,!0),r.factory=()=>qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===Gl&&(i.value=JM,i.value=i.factory()),"object"==typeof i.value&&i.value&&function eI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function ef(e){const t=tl(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof z)throw new R(204,!1);if(e instanceof Function)return function QM(e){const t=e.length;if(t>0)throw Bo(t,"?"),new R(204,!1);const i=function $E(e){return e&&(e[il]||e[Ig])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new R(204,!1)}function Gm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||ef(r)}if(Qd(e))n=()=>X(e.useValue);else if(function $m(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...qu(e.deps||[]));else if(function jm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function XM(e){return!!e.deps}(e))return Er(r)||ef(r);n=()=>new r(...qu(e.deps))}return n}function Fs(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function tf(e,t){for(const i of e)Array.isArray(i)?tf(i,t):i&&Bu(i)?tf(i.\u0275providers,t):t(i)}const ql=new z("AppId",{providedIn:"root",factory:()=>nI}),nI="ng",zm=new z("Platform Initializer"),Nr=new z("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Wm=new z("CSP nonce",{providedIn:"root",factory:()=>xs().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let qm=(e,t,i)=>null;function df(e,t,i=!1){return qm(e,t,i)}class fI{}class Jm{}class pI{resolveComponentFactory(t){throw function hI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Xl=(()=>{class t{}return t.NULL=new pI,t})();function gI(){return Ls(jt(),A())}function Ls(e,t){return new Pe(vn(e,t))}let Pe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=gI,t})();function _I(e){return e instanceof Pe?e.nativeElement:e}class pf{}let $n=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function mI(){const e=A(),i=An(jt().index,e);return(mn(i)?i:e)[re]}(),t})(),vI=(()=>{var e;class t{}return(e=t).\u0275prov=j({token:e,providedIn:"root",factory:()=>null}),t})();class ec{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const yI=new ec("16.2.3"),gf={};function tv(e,t=null,i=null,n){const r=nv(e,t,i,n);return r.resolveInjectorInitializers(),r}function nv(e,t=null,i=null,n,r=new Set){const s=[i||Se,qM(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new Wl(s,t||zl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return tv({name:""},r,n,"");{const s=n.name??"";return tv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=wo,e.NULL=new Yd,e.\u0275prov=j({token:e,providedIn:"any",factory:()=>L(Bm)}),e.__NG_ELEMENT_ID__=-1,t})();function vf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class TI extends ne{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=vf(s),r&&(r=vf(r)),o&&(o=vf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof ue&&t.add(a),a}};function iv(...e){}class Te{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new R(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=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function MI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function AI(e){const t=()=>{!function NI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,bf(e),e.isCheckStableRunning=!0,yf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),bf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return rv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),sv(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return rv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),sv(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,bf(e),yf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Te.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(Te.isInAngularZone())throw new R(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,II,iv,iv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const II={};function yf(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 bf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function rv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function sv(e){e._nesting--,yf(e)}class OI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const ov=new z("",{providedIn:"root",factory:av});function av(){const e=de(Te);let t=!0;return function Cg(...e){const t=Ka(e),i=function IE(e,t){return"number"==typeof xu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Pt(n[0]):vg(i)(Do(n,t)):bo}(new Ge(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new Ge(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Te.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Te.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Eg()))}let Df=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new R(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=j({token:e,providedIn:"root",factory:()=>new e}),t})();function Zo(e){for(;e;){e[se]|=64;const t=Uo(e);if(Xu(e)&&!t)return e;e=t}return null}function wf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&wf(t);for(;i&&wf(i);)i=wf(i);return i||null}}const fv=new z("",{providedIn:"root",factory:()=>!1});class _v extends t_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Zo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let nc=null;function mv(){return nc??=new _v,nc}function vv(e,t){return e[t]??mv()}function yv(e,t){const i=mv();i.hasReadASignal&&(e[t]=nc,i.lView=e,nc=new _v)}const oe={};function F(e){bv(ve(),A(),an()+e,!1)}function bv(e,t,i,n){if(!n)if(3==(3&t[se])){const s=e.preOrderCheckHooks;null!==s&&yl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&bl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):k_(jt(),i,X(e),t)}function ic(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[pt]=r,h[se]=140|n,(null!==c||e&&2048&e[se])&&(h[se]|=2048),d_(h),h[nt]=h[hs]=e,h[vt]=i,h[fs]=o||e&&e[fs],h[re]=a||e&&e[re],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Ao]=function ZT(){return YT++}(),h[Vi]=u,h[Zg]=c,h[yt]=2==t.type?e[yt]:h,h}function Hs(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Cf(e,t,i,n,r){const s=m_(),o=od(),l=e.data[t]=function ZI(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ms()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function YS(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function xo(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ni(s,!0),s}function Jo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;s<i;s++)t.push(n),e.blueprint.push(n),e.data.push(null);return r}function Dv(e,t,i,n,r){const s=vv(t,cl),o=an(),a=2&n;try{if(Sr(-1),a&&t.length>he&&bv(e,t,he,!1),Ii(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[cl]&&yv(t,cl),Sr(o),Ii(a?3:1,r)}}function Ef(e,t,i){if(Ku(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;o<s;o++){const a=e.data[o];a.contentQueries&&a.contentQueries(1,i[o],o)}}finally{kt(n)}}}function Sf(e,t,i){__()&&(function nN(e,t,i,n){const r=i.directiveStart,s=i.directiveEnd;Cr(i)&&function cN(e,t,i){const n=vn(t,e),r=wv(i);let o=16;i.signals?o=4096:i.onPush&&(o=64);const a=rc(e,ic(e,r,null,o,n,t,null,e[fs].rendererFactory.createRenderer(n,i),null,null,null));e[t.index]=a}(t,i,e.data[r+i.componentOffset]),e.firstCreatePass||wl(i,t),Zt(n,t);const o=i.initialInputs;for(let a=r;a<s;a++){const l=e.data[a],c=Tr(t,e,a,i);Zt(c,t),null!==o&&uN(0,a-r,c,l,0,o),ni(l)&&(An(i.index,t)[vt]=Tr(t,e,a,i))}}(e,t,i,vn(i,t)),64==(64&i.flags)&&Mv(e,t,i))}function Tf(e,t,i=vn){const n=t.localNames;if(null!==n){let r=t.index+1;for(let s=0;s<n.length;s+=2){const o=n[s+1],a=-1===o?i(t,e):e[o];e[r++]=a}}}function wv(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=Mf(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):t}function Mf(e,t,i,n,r,s,o,a,l,c,u){const h=he+n,g=h+r,_=function $I(e,t){const i=[];for(let n=0;n<t;n++)i.push(n<e?null:oe);return i}(h,g),y="function"==typeof c?c():c;return _[V]={type:e,blueprint:_,template:i,queries:null,viewQuery:a,declTNode:t,data:_.slice().fill(null,h),bindingStartIndex:h,expandoStartIndex:g,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:y,incompleteFirstPass:!1,ssrId:u}}let Cv=e=>null;function Ev(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Sv(i,t,r,s):n.hasOwnProperty(r)&&Sv(i,t,n[r],s)}return i}function Sv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function xn(e,t,i,n,r,s,o,a){const l=vn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(xf(e,i,u,n,r),Cr(t)&&function KI(e,t){const i=An(t,e);16&i[se]||(i[se]|=64)}(i,t.index)):3&t.type&&(n=function QI(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function If(e,t,i,n){if(__()){const r=null===n?null:{"":-1},s=function rN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];if(jg(t,o.selectors,!1))if(n||(n=[]),ni(o))if(null!==o.findHostDirectiveDefs){const a=[];r=r||new Map,o.findHostDirectiveDefs(o,a,r),n.unshift(...a,o),Nf(e,t,a.length)}else n.unshift(o),Nf(e,t,0);else r=r||new Map,o.findHostDirectiveDefs?.(o,n,r),n.push(o)}return null===n?null:[n,r]}(e,i);let o,a;null===s?o=a=null:[o,a]=s,null!==o&&Tv(e,t,i,o,r,a),r&&function sN(e,t,i){if(t){const n=e.localNames=[];for(let r=0;r<t.length;r+=2){const s=i[t[r+1]];if(null==s)throw new R(-301,!1);n.push(t[r],s)}}}(i,n,r)}i.mergedAttrs=So(i.mergedAttrs,i.attrs)}function Tv(e,t,i,n,r,s){for(let c=0;c<n.length;c++)vd(wl(i,t),e,n[c].type);!function aN(e,t,i){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+i,e.providerIndexes=t}(i,e.data.length,n.length);for(let c=0;c<n.length;c++){const u=n[c];u.providersResolver&&u.providersResolver(u)}let o=!1,a=!1,l=Jo(e,t,n.length,null);for(let c=0;c<n.length;c++){const u=n[c];i.mergedAttrs=So(i.mergedAttrs,u.hostAttrs),lN(e,i,t,l,u),oN(l,u,r),null!==u.contentQueries&&(i.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(i.flags|=64);const h=u.type.prototype;!o&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(i.index),o=!0),!a&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(i.index),a=!0),l++}!function JI(e,t,i){const r=t.directiveEnd,s=e.data,o=t.attrs,a=[];let l=null,c=null;for(let u=t.directiveStart;u<r;u++){const h=s[u],g=i?i.get(h):null,y=g?g.outputs:null;l=Ev(h.inputs,u,l,g?g.inputs:null),c=Ev(h.outputs,u,c,y);const b=null===l||null===o||Ug(t)?null:dN(l,u,o);a.push(b)}null!==l&&(l.hasOwnProperty("class")&&(t.flags|=8),l.hasOwnProperty("style")&&(t.flags|=16)),t.initialInputs=a,t.inputs=l,t.outputs=c}(e,i,s)}function Mv(e,t,i){const n=i.directiveStart,r=i.directiveEnd,s=i.index,o=function JS(){return K.lFrame.currentDirectiveIndex}();try{Sr(s);for(let a=n;a<r;a++){const l=e.data[a],c=t[a];ld(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&iN(l,c)}}finally{Sr(-1),ld(o)}}function iN(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Nf(e,t,i){t.componentOffset=i,(e.components??=[]).push(t.index)}function oN(e,t,i){if(i){if(t.exportAs)for(let n=0;n<t.exportAs.length;n++)i[t.exportAs[n]]=e;ni(t)&&(i[""]=e)}}function lN(e,t,i,n,r){e.data[n]=r;const s=r.factory||(r.factory=Er(r.type)),o=new Ro(s,ni(r),v);e.blueprint[n]=o,i[n]=o,function eN(e,t,i,n,r){const s=r.hostBindings;if(s){let o=e.hostBindingOpCodes;null===o&&(o=e.hostBindingOpCodes=[]);const a=~t.index;(function tN(e){let t=e.length;for(;t>0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Jo(e,i,r.hostVars,oe),r)}function Oi(e,t,i,n,r,s){const o=vn(e,t);!function Af(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?ie(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[re],o,s,e.value,i,n,r)}function uN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a<o.length;)Iv(n,i,o[a++],o[a++],o[a++])}function Iv(e,t,i,n,r){const s=kt(null);try{const o=e.inputTransforms;null!==o&&o.hasOwnProperty(n)&&(r=o[n].call(t,r)),null!==e.setInput?e.setInput(t,r,i,n):t[n]=r}finally{kt(s)}}function dN(e,t,i){let n=null,r=0;for(;r<i.length;){const s=i[r];if(0!==s)if(5!==s){if("number"==typeof s)break;if(e.hasOwnProperty(s)){null===n&&(n=[]);const o=e[s];for(let a=0;a<o.length;a+=2)if(o[a]===t){n.push(s,o[a+1],i[r+1]);break}}r+=2}else r+=2;else r+=4}return n}function Nv(e,t,i,n){return[e,!0,!1,t,null,0,n,i,null,null,null]}function Av(e,t){const i=e.contentQueries;if(null!==i)for(let n=0;n<i.length;n+=2){const s=i[n+1];if(-1!==s){const o=e.data[s];ud(i[n]),o.contentQueries(2,t[s],s)}}}function rc(e,t){return e[Io]?e[Yg][ti]=t:e[Io]=t,e[Yg]=t,t}function Of(e,t,i){ud(0);const n=kt(null);try{t(e,i)}finally{kt(n)}}function Ov(e){return e[ds]||(e[ds]=[])}function xv(e){return e.cleanup||(e.cleanup=[])}function Fv(e,t){const i=e[tr],n=i?i.get(Ar,null):null;n&&n.handleError(t)}function xf(e,t,i,n,r){for(let s=0;s<i.length;){const o=i[s++],a=i[s++];Iv(e.data[o],t[o],n,a,r)}}function fN(e,t){const i=An(t,e),n=i[V];!function hN(e,t){for(let i=t.length;i<e.blueprint.length;i++)t.push(e.blueprint[i])}(n,i);const r=i[pt];null!==r&&null===i[Vi]&&(i[Vi]=df(r,i[tr])),Rf(n,i,i[vt])}function Rf(e,t,i){dd(t);try{const n=e.viewQuery;null!==n&&Of(1,n,i);const r=e.template;null!==r&&Dv(e,t,r,1,i),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&Av(e,t),e.staticViewQueries&&Of(2,e.viewQuery,i);const s=e.components;null!==s&&function pN(e,t){for(let i=0;i<t.length;i++)fN(e,t[i])}(t,s)}catch(n){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),n}finally{t[se]&=-5,fd()}}let Pv=(()=>{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new MS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=j({token:e,providedIn:"root",factory:()=>new e}),t})();function sc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o<t.length;o++){const a=t[o];"number"==typeof a?s=a:1==s?r=ku(r,a):2==s&&(n=ku(n,a+": "+t[++o]+";"))}i?e.styles=n:e.stylesWithoutHost=n,i?e.classes=r:e.classesWithoutHost=r}function Qo(e,t,i,n,r=!1){for(;null!==i;){const s=t[i.index];null!==s&&n.push(We(s)),rn(s)&&kv(s,n);const o=i.type;if(8&o)Qo(e,t,i.child,n);else if(32&o){const a=xd(i,t);let l;for(;l=a();)n.push(l)}else if(16&o){const a=Dm(t,i);if(Array.isArray(a))n.push(...a);else{const l=Uo(t[yt]);Qo(l[V],l,a,n,!0)}}i=r?i.projectionNext:i.next}return n}function kv(e,t){for(let i=Ut;i<e.length;i++){const n=e[i],r=n[V].firstChild;null!==r&&Qo(n[V],n,r,t)}e[Ti]!==e[pt]&&t.push(e[Ti])}function oc(e,t,i,n=!0){const r=t[fs],s=r.rendererFactory,o=r.afterRenderEventManager;s.begin?.(),o?.begin();try{Lv(e,t,e.template,i)}catch(l){throw n&&Fv(t,l),l}finally{s.end?.(),r.effectManager?.flush(),o?.end()}}function Lv(e,t,i,n){const r=t[se];if(256!=(256&r)){t[fs].effectManager?.flush(),dd(t);try{d_(t),function y_(e){return K.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==i&&Dv(e,t,i,2,n);const o=3==(3&r);if(o){const c=e.preOrderCheckHooks;null!==c&&yl(t,c,null)}else{const c=e.preOrderHooks;null!==c&&bl(t,c,0,null),hd(t,0)}if(function mN(e){for(let t=cm(e);null!==t;t=um(t)){if(!t[Jg])continue;const i=t[gs];for(let n=0;n<i.length;n++){LS(i[n])}}}(t),Bv(t,2),null!==e.contentQueries&&Av(e,t),o){const c=e.contentCheckHooks;null!==c&&yl(t,c)}else{const c=e.contentHooks;null!==c&&bl(t,c,1),hd(t,1)}!function jI(e,t){const i=e.hostBindingOpCodes;if(null===i)return;const n=vv(t,ul);try{for(let r=0;r<i.length;r++){const s=i[r];if(s<0)Sr(~s);else{const o=s,a=i[++r],l=i[++r];ZS(a,o),n.runInContext(l,2,t[o])}}}finally{null===t[ul]&&yv(t,ul),Sr(-1)}}(e,t);const a=e.components;null!==a&&Hv(t,a,0);const l=e.viewQuery;if(null!==l&&Of(2,l,n),o){const c=e.viewCheckHooks;null!==c&&yl(t,c)}else{const c=e.viewHooks;null!==c&&bl(t,c,2),hd(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),t[se]&=-73,f_(t)}finally{fd()}}}function Bv(e,t){for(let i=cm(e);null!==i;i=um(i))for(let n=Ut;n<i.length;n++)Vv(i[n],t)}function vN(e,t,i){Vv(An(t,e),i)}function Vv(e,t){if(!function PS(e){return 128==(128&e[se])}(e))return;const i=e[V];if(80&e[se]&&0===t||1024&e[se]||2===t)Lv(i,e,i.template,e[vt]);else if(e[Mo]>0){Bv(e,1);const r=e[V].components;null!==r&&Hv(e,r,1)}}function Hv(e,t,i){for(let n=0;n<t.length;n++)vN(e,t[n],i)}class Ko{get rootNodes(){const t=this._lView,i=t[V];return Qo(i,t,i.firstChild,[])}constructor(t,i){this._lView=t,this._cdRefInjectingView=i,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[vt]}set context(t){this._lView[vt]=t}get destroyed(){return 256==(256&this._lView[se])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[nt];if(rn(t)){const i=t[8],n=i?i.indexOf(this):-1;n>-1&&(Pl(t,n),Sl(i,n))}this._attachedToViewContainer=!1}Fd(this._lView[V],this._lView)}onDestroy(t){!function p_(e,t){if(256==(256&e[se]))throw new R(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Zo(this._cdRefInjectingView||this._lView)}detach(){this._lView[se]&=-129}reattach(){this._lView[se]|=128}detectChanges(){oc(this._lView[V],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function cM(e,t){$o(e,t,t[re],2,null,null)}(this._lView[V],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=t}}class yN extends Ko{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;oc(t[V],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class Uv extends Xl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new Xo(i,this.ngModule)}}function jv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class DN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=sl(n);const r=this.injector.get(t,gf,n);return r!==gf||i===gf?r:this.parentInjector.get(t,i,n)}}class Xo extends Jm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=jv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return jv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function cS(e){return e.map(lS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof jn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new DN(t,s):t,a=o.get(pf,null);if(null===a)throw new R(407,!1);const h={rendererFactory:a,sanitizer:o.get(vI,null),effectManager:o.get(Pv,null),afterRenderEventManager:o.get(Df,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function GI(e,t,i,n){const s=n.get(fv,!1)||i===Xn.ShadowDom,o=e.selectRootElement(t,s);return function zI(e){Cv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Fl(g,_,function bN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=df(y,o,!0));const x=Mf(0,null,null,1,0,null,null,null,null,null,null),O=ic(null,x,null,T,null,null,h,g,o,null,C);let B,J;dd(O);try{const ce=this.componentDef;let _e,ct=null;ce.findHostDirectiveDefs?(_e=[],ct=new Map,ce.findHostDirectiveDefs(ce,_e,ct),_e.push(ce)):_e=[ce];const Dt=function CN(e,t){const i=e[V],n=he;return e[n]=t,Hs(i,n,2,"#host",null)}(O,y),Vt=function EN(e,t,i,n,r,s,o){const a=r[V];!function SN(e,t,i,n){for(const r of e)t.mergedAttrs=So(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(sc(t,t.mergedAttrs,!0),null!==i&&Sm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=df(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=ic(r,wv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Nf(a,e,n.length-1),rc(r,h),r[e.index]=h}(Dt,y,ce,_e,O,h,g);J=u_(x,he),y&&function MN(e,t,i,n){if(n)Ju(e,i,["ng-version",yI.full]);else{const{attrs:r,classes:s}=function uS(e){const t=[],i=[];let n=1,r=2;for(;n<e.length;){let s=e[n];if("string"==typeof s)2===r?""!==s&&t.push(s,e[++n]):8===r&&i.push(s);else{if(!ei(r))break;r=s}n++}return{attrs:t,classes:i}}(t.selectors[0]);r&&Ju(e,i,r),s&&s.length>0&&Em(e,i,s.join(" "))}}(g,ce,y,n),void 0!==i&&function IN(e,t,i){const n=e.projection=[];for(let r=0;r<t.length;r++){const s=i[r];n.push(null!=s?Array.from(s):null)}}(J,this.ngContentSelectors,i),B=function TN(e,t,i,n,r,s){const o=jt(),a=r[V],l=vn(o,r);Tv(a,r,o,i,null,n);for(let u=0;u<i.length;u++)Zt(Tr(r,a,o.directiveStart+u,o),r);Mv(a,r,o),l&&Zt(l,r);const c=Tr(r,a,o.directiveStart+o.componentOffset,o);if(e[vt]=r[vt]=c,null!==s)for(const u of s)u(c,t);return Ef(a,o,e),c}(Vt,ce,_e,ct,O,[NN]),Rf(x,O,null)}finally{fd()}return new wN(this.componentType,B,Ls(J,O),O,J)}}class wN extends fI{constructor(t,i,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.previousInputValues=null,this.instance=i,this.hostView=this.changeDetectorRef=new yN(r),this.componentType=t}setInput(t,i){const n=this._tNode.inputs;let r;if(null!==n&&(r=n[t])){if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),i))return;const s=this._rootLView;xf(s[V],s,r,t,i),this.previousInputValues.set(t,i),Zo(An(this._tNode.index,s))}}get injector(){return new ln(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}function NN(){const e=jt();vl(A()[V],e)}function Oe(e){let t=function $v(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),i=!0;const n=[e];for(;t;){let r;if(ni(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new R(903,!1);r=t.\u0275dir}if(r){if(i){n.push(r);const o=e;o.inputs=ac(e.inputs),o.inputTransforms=ac(e.inputTransforms),o.declaredInputs=ac(e.declaredInputs),o.outputs=ac(e.outputs);const a=r.hostBindings;a&&RN(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&ON(e,l),c&&xN(e,c),Xa(e.inputs,r.inputs),Xa(e.declaredInputs,r.declaredInputs),Xa(e.outputs,r.outputs),null!==r.inputTransforms&&(null===o.inputTransforms&&(o.inputTransforms={}),Xa(o.inputTransforms,r.inputTransforms)),ni(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(e),a===Oe&&(i=!1)}}t=Object.getPrototypeOf(t)}!function AN(e){let t=0,i=null;for(let n=e.length-1;n>=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=So(r.hostAttrs,i=So(i,r.hostAttrs))}}(n)}function ac(e){return e===Ei?{}:e===Se?[]:e}function ON(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function xN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function RN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function lc(e){return!!function Ff(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function De(e,t,i,n){const r=A();return Qt(r,vs(),t)&&(ve(),Oi(at(),r,e,t,i,n)),De}function js(e,t,i,n){return Qt(e,vs(),i)?t+ie(i)+n:oe}function U(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+he,h=c.firstCreatePass?function rA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=Hs(t,e,4,o||null,ir(c,a));If(t,i,u,ir(c,l)),vl(t,u);const h=u.tView=Mf(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ni(h,!1);const g=sy(c,l,h,e);ml()&&Ll(c,l,g,h),Zt(g,l),rc(l,l[u]=Nv(g,l,g,h)),fl(h)&&Sf(c,l,h),null!=o&&Tf(l,h,a)}let sy=function oy(e,t,i,n){return rr(!0),t[re].createComment("")};function k(e,t,i){const n=A();return Qt(n,vs(),t)&&xn(ve(),at(),n,e,t,n[re],i,!1),k}function Hf(e,t,i,n,r){const o=r?"class":"style";xf(e,i,t.inputs[o],o,n)}function $(e,t,i,n){const r=A(),s=ve(),o=he+e,a=r[re],l=s.firstCreatePass?function lA(e,t,i,n,r,s){const o=t.consts,l=Hs(t,e,2,n,ir(o,r));return If(t,i,l,ir(o,s)),null!==l.attrs&&sc(l,l.attrs,!1),null!==l.mergedAttrs&&sc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ay(s,r,l,a,t,e);r[o]=c;const u=fl(l);return Ni(l,!0),Sm(a,c,l),32!=(32&l.flags)&&ml()&&Ll(s,r,c,l),0===function VS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function HS(){K.lFrame.elementDepthCount++}(),u&&(Sf(s,r,l),Ef(s,l,r)),null!==n&&Tf(r,l),$}function G(){let e=jt();od()?ad():(e=e.parent,Ni(e,!1));const t=e;(function jS(e){return K.skipHydrationRootTNode===e})(t)&&function WS(){K.skipHydrationRootTNode=null}(),function US(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(vl(i,e),Ku(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function aT(e){return 0!=(8&e.flags)}(t)&&Hf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function lT(e){return 0!=(16&e.flags)}(t)&&Hf(i,t,A(),t.stylesWithoutHost,!1),G}function et(e,t,i,n){return $(e,t,i,n),G(),et}let ay=(e,t,i,n,r,s)=>(rr(!0),Fl(n,r,function M_(){return K.lFrame.currentNamespace}()));function Rn(){return A()}function hc(e){return!!e&&"function"==typeof e.then}function uy(e){return!!e&&"function"==typeof e.subscribe}function pe(e,t,i,n){const r=A(),s=ve(),o=jt();return function fy(e,t,i,n,r,s,o){const a=fl(n),c=e.firstCreatePass&&xv(e),u=t[vt],h=Ov(t);let g=!0;if(3&n.type||o){const b=vn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let x=null;if(!o&&a&&(x=function pA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===i&&r[s+1]===n){const a=t[ds],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=s,x.__ngLastListenerFn__=s,g=!1;else{s=py(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=py(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D<b;D+=2){const B=t[y[D]][y[D+1]].subscribe(s),J=h.length;h.push(s,B),c&&c.push(r,n.index,J,-(J+1))}}}(s,r,r[re],o,e,t,n),pe}function hy(e,t,i,n){try{return Ii(6,t,i),!1!==i(n)}catch(r){return Fv(e,r),!1}finally{Ii(7,t,i)}}function py(e,t,i,n,r){return function s(o){if(o===Function)return n;Zo(e.componentOffset>-1?An(e.index,t):t);let l=hy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=hy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function q(e=1){return function KS(e){return(K.lFrame.contextLView=function XS(e,t){for(;e>0;)t=t[hs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function gA(e,t){let i=null;const n=function rS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r<t.length;r++){const s=t[r];if("*"!==s){if(null===n?jg(e,s,!0):aS(n,s))return r}else i=r}return i}function $f(e){const t=A()[yt][Yt];if(!t.projection){const n=t.projection=Bo(e?e.length:1,null),r=n.slice();let s=t.child;for(;null!==s;){const o=e?gA(s,e):0;null!==o&&(r[o]?r[o].projectionNext=s:n[o]=s,r[o]=s),s=s.next}}}function Gf(e,t=0,i){const n=A(),r=ve(),s=Hs(r,he+e,16,null,i||null);null===s.projection&&(s.projection=t),ad(),(!n[Vi]||ms())&&32!=(32&s.flags)&&function mM(e,t,i){Cm(t[re],0,t,i,kd(e,i,t),mm(i.parent||t[Yt],i,t))}(r,n,s)}function zi(e,t,i){return Js(e,"",t,"",i),zi}function Js(e,t,i,n,r){const s=A(),o=js(s,t,i,n);return o!==oe&&xn(ve(),at(),s,e,o,s[re],r,!1),Js}function pc(e,t){return e<<17|t<<2}function ar(e){return e>>17&32767}function zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Wf(e,t){return-131069&e|t<<2}function qf(e){return 1|e}function Cy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];DA(e[a],t)&&(l=!0,e[a+1]=n?qf(u):zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?zf(s):qf(s))}function DA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ms(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ey(e){return e.substring(Ot.key,Ot.keyEnd)}function Sy(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function SA(e,t,i){for(;t<i&&e.charCodeAt(t)>32;)t++;return t}(e,Ot.key=t,i),Qs(e,t,i))}function Qs(e,t,i){for(;t<i&&e.charCodeAt(t)<=32;)t++;return t}function sa(e,t,i){return ri(e,t,i,!1),sa}function we(e,t){return ri(e,t,null,!0),we}function Rr(e){!function si(e,t,i,n){const r=ve(),s=Ui(2);r.firstUpdatePass&&Oy(r,null,s,n);const o=A();if(i!==oe&&Qt(o,s,i)){const a=r.data[an()];if(Py(a,n)&&!Ay(r,s)){let l=n?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(i=ku(l,i||"")),Hf(r,a,o,i,n)}else!function PA(e,t,i,n,r,s,o,a){r===oe&&(r=Se);let l=0,c=0,u=0<r.length?r[0]:null,h=0<s.length?s[0]:null;for(;null!==u||null!==h;){const g=l<r.length?r[l+1]:void 0,_=c<s.length?s[c+1]:void 0;let b,y=null;u===h?(l+=2,c+=2,g!==_&&(y=h,b=_)):null===h||null!==u&&u<h?(l+=2,y=u):(c+=2,y=h,b=_),null!==y&&Ry(e,t,i,n,y,b,o,a),u=l<r.length?r[l]:null,h=c<s.length?s[c]:null}}(r,a,o,o[re],o[s+1],o[s+1]=function RA(e,t,i){if(null==i||""===i)return Se;const n=[],r=or(i);if(Array.isArray(r))for(let s=0;s<r.length;s++)e(n,r[s],!0);else if("object"==typeof r)for(const s in r)r.hasOwnProperty(s)&&e(n,s,r[s]);else"string"==typeof r&&t(n,r);return n}(e,t,i),n,s)}}(FA,Fi,e,!0)}function Fi(e,t){for(let i=function CA(e){return function My(e){Ot.key=0,Ot.keyEnd=0,Ot.value=0,Ot.valueEnd=0,Ot.textEnd=e.length}(e),Sy(e,Qs(e,0,Ot.textEnd))}(t);i>=0;i=Sy(t,i))On(e,Ey(t),!0)}function ri(e,t,i,n){const r=A(),s=ve(),o=Ui(2);s.firstUpdatePass&&Oy(s,e,o,n),t!==oe&&Qt(r,o,t)&&Ry(s,s.data[an()],r,r[re],e,r[o+1]=function kA(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Nt(or(e)))),e}(t,i),n,o)}function Ay(e,t){return t>=e.expandoStartIndex}function Oy(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[an()],o=Ay(e,i);Py(s,n)&&null===t&&!o&&(t=!1),t=function NA(e,t,i,n){const r=function cd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Yf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Yf(r,e,t,i,n),null===s){let l=function AA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Yf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function OA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function xA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s<r;s++)n=oa(n,e[s].hostAttrs,i);return oa(n,t.attrs,i)}(e,t,n)}return void 0!==s&&(n?t.residualClasses=s:t.residualStyles=s),i}(r,s,t,n),function yA(e,t,i,n,r,s){let o=s?t.classBindings:t.styleBindings,a=ar(o),l=xr(o);e[n]=i;let u,c=!1;if(Array.isArray(i)?(u=i[1],(null===u||Ms(i,u)>0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Wf(e[g+1],n)),e[a+1]=function mA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Wf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Wf(e[l+1],n),l=n;c&&(e[n+1]=zf(e[n+1])),Cy(e,u,n,!0),Cy(e,u,n,!1),function bA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ms(s,t)>=0&&(i[n+1]=qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Yf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a<o&&(s=t[a],n=oa(n,s.hostAttrs,r),s!==e);)a++;return null!==e&&(i.directiveStylingLast=a),n}function oa(e,t,i){const n=i?1:2;let r=-1;if(null!==t)for(let s=0;s<t.length;s++){const o=t[s];"number"==typeof o?r=o:r===n&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),On(e,o,!!i||t[++s]))}return void 0===e?null:e}function FA(e,t,i){const n=String(t);""!==n&&!n.includes(" ")&&On(e,n,i)}function Ry(e,t,i,n,r,s,o,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function vA(e){return 1==(1&e)}(c)?Fy(l,t,i,r,xr(c),o):void 0;gc(u)||(gc(s)||function _A(e){return 2==(2&e)}(c)&&(s=Fy(l,null,i,r,a,o)),function yM(e,t,i,n,r){if(t)r?e.addClass(i,n):e.removeClass(i,n);else{let s=-1===n.indexOf("-")?void 0:sr.DashCase;null==r?e.removeStyle(i,n,s):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),s|=sr.Important),e.setStyle(i,n,r,s))}}(n,o,_l(an(),i),r,s))}function Fy(e,t,i,n,r,s){const o=null===t;let a;for(;r>0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===oe&&(g=h?Se:void 0);let _=h?Dd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Dd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Dd(l,n))}return a}function gc(e){return void 0!==e}function Py(e,t){return 0!=(e.flags&(t?8:16))}function tt(e,t=""){const i=A(),n=ve(),r=e+he,s=n.firstCreatePass?Hs(n,r,1,t,null):n.data[r],o=ky(n,i,s,t,e);i[r]=o,ml()&&Ll(n,i,o,s),Ni(s,!1)}let ky=(e,t,i,n,r)=>(rr(!0),function Rl(e,t){return e.createText(t)}(t[re],n));function Kt(e){return oi("",e,""),Kt}function oi(e,t,i){const n=A(),r=js(n,e,t,i);return r!==oe&&function Gi(e,t,i){const n=_l(t,e);!function fm(e,t,i){e.setValue(t,i)}(e[re],n,i)}(n,an(),r),oi}function zn(e,t,i){const n=A();return Qt(n,vs(),t)&&xn(ve(),at(),n,e,t,n[re],i,!0),zn}const Xs="en-US";let r0=Xs;function Qf(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s<e.length;s++)Qf(e[s],t,i,n,r);else{const s=ve(),o=A(),a=jt();let l=Ir(e)?e:X(e.provide);const c=Gm(e),u=1048575&a.providerIndexes,h=a.directiveStart,g=a.providerIndexes>>20;if(Ir(e)||!e.multi){const _=new Ro(c,r,v),y=Xf(l,t,r?u:u+g,h);-1===y?(vd(wl(a,o),s,l),Kf(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=Xf(l,t,u+g,h),y=Xf(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){vd(wl(a,o),s,l);const T=function nx(e,t,i,n,r){const s=new Ro(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,N0(s,r,n&&!i),s}(r?tx:ex,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),Kf(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else Kf(s,e,_>-1?_:y,N0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function Kf(e,t,i,n){const r=Ir(t),s=function ZM(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function N0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function Xf(e,t,i,n){for(let r=i;r<n;r++)if(t[r]===e)return r;return-1}function ex(e,t,i,n){return eh(this.multi,[])}function tx(e,t,i,n){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Tr(i,i[V],this.providerFactory.index,n);s=a.slice(0,o),eh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],eh(r,s);return s}function eh(e,t){for(let i=0;i<e.length;i++)t.push((0,e[i])());return t}function je(e,t=[]){return i=>{i.providersResolver=(n,r)=>function XO(e,t,i){const n=ve();if(n.firstCreatePass){const r=ni(e);Qf(i,n.data,n.blueprint,r,!0),Qf(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Pr{}class ix{}class th extends Pr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Uv(this);const r=function Nn(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function $i(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=nv(t,i,[{provide:Pr,useValue:this},{provide:Xl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class nh extends ix{constructor(t){super(),this.moduleType=t}create(t){return new th(this.moduleType,t,[])}}class A0 extends Pr{constructor(t){super(),this.componentFactoryResolver=new Uv(this),this.instance=null;const i=new Wl([...t.providers,{provide:Pr,useValue:this},{provide:Xl,useValue:this.componentFactoryResolver}],t.parent||zl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let ax=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Hm(0,n.type),s=r.length>0?function ox(e,t,i=null){return new A0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=j({token:e,providedIn:"environment",factory:()=>new e(L(jn))}),t})();function Wn(e){e.getStandaloneInjector=t=>t.get(ax).getOrCreateStandaloneInjector(e)}function Ax(){return this._results[Symbol.iterator]()}class sh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=sh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Ax)}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,i){return this._results.reduce(t,i)}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,i){const n=this;n.dirty=!1;const r=function Un(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function wT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(i&&(r=i(r),s=i(s)),s!==r)return!1}return!0}(n._results,r,i))&&(n._results=r,n.length=r.length,n.last=r[this.length-1],n.first=r[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}function xx(e,t,i,n=!0){const r=t[V];if(function dM(e,t,i,n){const r=Ut+n,s=i.length;n>0&&(i[r-1][ti]=t),n<s-Ut?(t[ti]=i[r],j_(i,Ut+n,t)):(i.push(t),t[ti]=null),t[nt]=i;const o=t[No];null!==o&&i!==o&&function fM(e,t){const i=e[gs];t[yt]!==t[nt][nt][yt]&&(e[Jg]=!0),null===i?e[gs]=[t]:i.push(t)}(o,t);const a=t[Si];null!==a&&a.insertView(e),t[se]|=128}(r,t,e,i),n){const s=Bd(i,e),o=t[re],a=kl(o,e[Ti]);null!==a&&function lM(e,t,i,n,r,s){n[pt]=r,n[Yt]=t,$o(e,n,i,1,r,s)}(r,e[Yt],o,t,a,s)}}let it=(()=>{class t{}return t.__NG_ELEMENT_ID__=Px,t})();const Rx=it,Fx=class extends Rx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Ox(e,t,i,n){const r=t.tView,a=ic(e,r,i,4096&e[se]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[No]=e[t.index];const c=e[Si];return null!==c&&(a[Si]=c.createEmbeddedView(r)),Rf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Ko(r)}};function Px(){return bc(jt(),A())}function bc(e,t){return 4&e.type?new Fx(t,e,Ls(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Ux,t})();function Ux(){return Y0(jt(),A())}const jx=Cn,W0=class extends jx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Ls(this._hostTNode,this._hostLView)}get injector(){return new ln(this._hostTNode,this._hostLView)}get parentInjector(){const t=Cl(this._hostTNode,this._hostLView);if(gd(t)){const i=Po(t,this._hostLView),n=Fo(t);return new ln(i[V].data[n+8],i)}return new ln(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=q0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ut}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Lo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new Xo(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(jn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function kS(e){return rn(e[nt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[nt],u=new W0(c,c[Yt],c[nt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return xx(a,r,o,!n),t.attachToViewContainerRef(),j_(oh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=q0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(Sl(oh(this._lContainer),i),Fd(n[V],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=Sl(oh(this._lContainer),i)?new Ko(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function q0(e){return e[8]}function oh(e){return e[8]||(e[8]=[])}function Y0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Nv(n,t,null,e),t[e.index]=i,rc(t,i)),Z0(i,t,e,n),new W0(i,e,t)}let Z0=function J0(e,t,i,n){if(e[Ti])return;let r;r=8&i.type?We(n):function $x(e,t){const i=e[re],n=i.createComment(""),r=vn(t,e);return Mr(i,kl(i,r),n,function _M(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ti]=r};class ah{constructor(t){this.queryList=t,this.matches=null}clone(){return new ah(this.queryList)}setDirty(){this.queryList.setDirty()}}class lh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s<n;s++){const o=i.getByIndex(s);r.push(this.queries[o.indexInDeclarationView].clone())}return new lh(r)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let i=0;i<this.queries.length;i++)null!==t1(t,i).matches&&this.queries[i].setDirty()}}class Q0{constructor(t,i,n=null){this.predicate=t,this.flags=i,this.read=n}}class ch{constructor(t=[]){this.queries=t}elementStart(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].elementStart(t,i)}elementEnd(t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementEnd(t)}embeddedTView(t){let i=null;for(let n=0;n<this.length;n++){const r=null!==i?i.length:0,s=this.getByIndex(n).embeddedTView(t,r);s&&(s.indexInDeclarationView=n,null!==i?i.push(s):i=[s])}return null!==i?new ch(i):null}template(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].template(t,i)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class uh{constructor(t,i=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=i}elementStart(t,i){this.isApplyingToNode(i)&&this.matchTNode(t,i)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,i){this.elementStart(t,i)}embeddedTView(t,i){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,i),new uh(this.metadata)):null}isApplyingToNode(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const i=this._declarationNodeIndex;let n=t.parent;for(;null!==n&&8&n.type&&n.index!==i;)n=n.parent;return i===(null!==n?n.index:-1)}return this._appliesToNextNode}matchTNode(t,i){const n=this.metadata.predicate;if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=n[r];this.matchTNodeWithReadOption(t,i,Wx(i,s)),this.matchTNodeWithReadOption(t,i,El(i,t,s,!1,!1))}else n===it?4&i.type&&this.matchTNodeWithReadOption(t,i,-1):this.matchTNodeWithReadOption(t,i,El(i,t,n,!1,!1))}matchTNodeWithReadOption(t,i,n){if(null!==n){const r=this.metadata.read;if(null!==r)if(r===Pe||r===Cn||r===it&&4&i.type)this.addMatch(i.index,-2);else{const s=El(i,t,r,!1,!1);null!==s&&this.addMatch(i.index,s)}else this.addMatch(i.index,n)}}addMatch(t,i){null===this.matches?this.matches=[t,i]:this.matches.push(t,i)}}function Wx(e,t){const i=e.localNames;if(null!==i)for(let n=0;n<i.length;n+=2)if(i[n]===t)return i[n+1];return null}function Yx(e,t,i,n){return-1===i?function qx(e,t){return 11&e.type?Ls(e,t):4&e.type?bc(e,t):null}(t,e):-2===i?function Zx(e,t,i){return i===Pe?Ls(t,e):i===it?bc(t,e):i===Cn?Y0(t,e):void 0}(e,t,n):Tr(e,e[V],i,t)}function K0(e,t,i,n){const r=t[Si].queries[n];if(null===r.matches){const s=e.data,o=i.matches,a=[];for(let l=0;l<o.length;l+=2){const c=o[l];a.push(c<0?null:Yx(t,s[c],o[l+1],i.metadata.read))}r.matches=a}return r.matches}function dh(e,t,i,n){const r=e.queries.getByIndex(i),s=r.matches;if(null!==s){const o=K0(e,t,r,i);for(let a=0;a<s.length;a+=2){const l=s[a];if(l>0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ut;h<u.length;h++){const g=u[h];g[No]===g[nt]&&dh(g[V],g,c,n)}if(null!==u[gs]){const h=u[gs];for(let g=0;g<h.length;g++){const _=h[g];dh(_[V],_,c,n)}}}}}return n}function ee(e){const t=A(),i=ve(),n=D_();ud(n+1);const r=t1(i,n);if(e.dirty&&function FS(e){return 4==(4&e[se])}(t)===(2==(2&r.metadata.flags))){if(null===r.matches)e.reset([]);else{const s=r.crossesNgTemplate?dh(i,t,n,[]):K0(i,t,r,n);e.reset(s,_I),e.notifyOnChanges()}return!0}return!1}function Ye(e,t,i){const n=ve();n.firstCreatePass&&(e1(n,new Q0(e,t,i),-1),2==(2&t)&&(n.staticViewQueries=!0)),X0(n,A(),t)}function gt(e,t,i,n){const r=ve();if(r.firstCreatePass){const s=jt();e1(r,new Q0(t,i,n),s.index),function Qx(e,t){const i=e.contentQueries||(e.contentQueries=[]);t!==(i.length?i[i.length-1]:-1)&&i.push(e.queries.length-1,t)}(r,e),2==(2&i)&&(r.staticContentQueries=!0)}X0(r,A(),i)}function te(){return function Jx(e,t){return e[Si].queries[t].queryList}(A(),D_())}function X0(e,t,i){const n=new sh(4==(4&i));(function YI(e,t,i,n){const r=Ov(t);r.push(i),e.firstCreatePass&&xv(e).push(n,r.length-1)})(e,t,n,n.destroy),null===t[Si]&&(t[Si]=new lh),t[Si].queries.push(new ah(n))}function e1(e,t,i){null===e.queries&&(e.queries=new ch),e.queries.track(new uh(t,i))}function t1(e,t){return e.queries.getByIndex(t)}function En(e,t){return bc(e,t)}const y1=new z("Application Initializer");let _h=(()=>{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=de(y1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(hc(o))n.push(o);else if(uy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const ai=new z("LocaleId",{providedIn:"root",factory:()=>de(ai,ge.Optional|ge.SkipSelf)||function yR(){return typeof $localize<"u"&&$localize.locale||Xs}()});let mh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new PE(!1)}add(){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.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const C1=new z(""),Ec=new z("");let wh,bh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,wh||(function jR(e){wh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Te.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Te),L(Dh),L(Ec))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})(),Dh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}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,r=!0){return wh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const E1=new z("AllowMultipleToken"),Ch=new z("PlatformDestroyListeners"),S1=new z("appBootstrapListener");function I1(e,t,i=[]){const n=`Platform: ${t}`,r=new z(n);return(s=[])=>{let o=Eh();if(!o||o.injector.get(E1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function zR(e){if(lr&&!lr.get(E1,!1))throw new R(400,!1);(function T1(){!function SS(e){n_=e}(()=>{throw new R(600,!1)})})(),lr=e;const t=e.get(A1);(function M1(e){e.get(zm,null)?.forEach(i=>i())})(e)}(function N1(e=[],t){return Jt.create({name:t,providers:[{provide:Kd,useValue:"platform"},{provide:Ch,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function qR(e){const t=Eh();if(!t)throw new R(401,!1);return t}()}}function Eh(){return lr?.get(A1)??null}let A1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function YR(e="zone.js",t){return"noop"===e?new OI:"zone.js"===e?new Te(t):e}(r?.ngZone,function O1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function sx(e,t,i){return new th(e,t,i)}(n.moduleType,this.injector,function k1(e){return[{provide:Te,useFactory:e},{provide:jl,multi:!0,useFactory:()=>{const t=de(JR,{optional:!0});return()=>t.initialize()}},{provide:P1,useFactory:ZR},{provide:ov,useFactory:av}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function x1(e,t,i){try{const n=i();return hc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(_h);return l.runInitializers(),l.donePromise.then(()=>(function s0(e){Hn(e,"Expected localeId to be defined"),"string"==typeof e&&(r0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(ai,Xs)||Xs),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=R1({},r);return function $R(e,t,i){const n=new nh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new R(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new R(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Ch,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function R1(e,t){return Array.isArray(t)?t.reduce(R1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=de(P1),this.zoneIsStable=de(ov),this.componentTypes=[],this.components=[],this.isStable=de(mh).hasPendingTasks.pipe(Pu(n=>n?cs(!1):this.zoneIsStable),function Sg(e,t=wi){return e=e??kE,mt((i,n)=>{let r,s=!0;i.subscribe(ht(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Eg()),this._injector=de(jn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Jm;if(!this._injector.get(_h).done)throw!s&&function To(e){const t=me(e)||Ht(e)||nn(e);return null!==t&&t.standalone}(n),new R(405,!1);let a;a=s?n:this._injector.get(Xl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function GR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Pr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(C1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new R(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(S1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(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),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new R(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const P1=new z("",{providedIn:"root",factory:()=>de(Ar).handleError.bind(void 0)});function ZR(){const e=de(Te),t=de(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let JR=(()=>{var e;class t{constructor(){this.zone=de(Te),this.applicationRef=de(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let lt=(()=>{class t{}return t.__NG_ELEMENT_ID__=KR,t})();function KR(e){return function XR(e,t,i){if(Cr(e)&&!i){const n=An(e.index,t);return new Ko(n,n)}return 47&e.type?new Ko(t[yt],t):null}(jt(),A(),16==(16&e))}class H1{constructor(){}supports(t){return lc(t)}create(t){return new sF(t)}}const rF=(e,t)=>t;class sF{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||rF}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex<j1(n,r,s)?i:n,a=j1(o,r,s),l=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(i=i._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let g=0;g<c;g++){const _=g<s.length?s[g]:s[g]=0,y=_+g;u<=y&&y<c&&(s[g]=_+1)}s[o.previousIndex]=u-c}}a!==l&&t(o,a,l)}}forEachPreviousItem(t){let i;for(i=this._previousItHead;null!==i;i=i._nextPrevious)t(i)}forEachAddedItem(t){let i;for(i=this._additionsHead;null!==i;i=i._nextAdded)t(i)}forEachMovedItem(t){let i;for(i=this._movesHead;null!==i;i=i._nextMoved)t(i)}forEachRemovedItem(t){let i;for(i=this._removalsHead;null!==i;i=i._nextRemoved)t(i)}forEachIdentityChange(t){let i;for(i=this._identityChangesHead;null!==i;i=i._nextIdentityChange)t(i)}diff(t){if(null==t&&(t=[]),!lc(t))throw new R(900,!1);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let r,s,o,i=this._itHead,n=!1;if(Array.isArray(t)){this.length=t.length;for(let a=0;a<this.length;a++)s=t[a],o=this._trackByFn(a,s),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,s,o,a)),Object.is(i.item,s)||this._addIdentityChange(i,s)):(i=this._mismatch(i,s,o,a),n=!0),i=i._next}else r=0,function HN(e,t){if(Array.isArray(e))for(let i=0;i<e.length;i++)t(e[i]);else{const i=e[Symbol.iterator]();let n;for(;!(n=i.next()).done;)t(n.value)}}(t,a=>{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),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,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new oF(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new U1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new U1),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,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class oF{constructor(t,i){this.item=t,this.trackById=i,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 aF{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,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class U1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new aF,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function j1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n<i.length&&(r=i[n]),n+t+r}function G1(){return new Ic([new H1])}let Ic=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||G1()),deps:[[t,new Ed,new Cd]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new R(901,!1)}}return(e=t).\u0275prov=j({token:e,providedIn:"root",factory:G1}),t})();const fF=I1(null,"core",[]);let hF=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();function Oh(e,t){const i=me(e),n=t.elementInjector||zl();return new Xo(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let xh=null;function ba(){return xh}class TF{}const Xt=new z("DocumentToken");function ub(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class dP{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 Zn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new dP(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),hb(l,s)}});for(let s=0,o=r.length;s<o;s++){const l=r.get(s).context;l.index=s,l.count=o,l.ngForOf=this._ngForOf}n.forEachIdentityChange(s=>{hb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(it),v(Ic))},e.\u0275dir=P({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function hb(e,t){e.context.$implicit=t.item}let Jn=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new fP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){pb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){pb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(it))},e.\u0275dir=P({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class fP{constructor(){this.$implicit=null,this.ngIf=null}}function pb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let mb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();function yb(e){return"server"===e}class bb{}class dk extends TF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Jh extends dk{static makeCurrent(){!function SF(e){xh||(xh=e)}(new Jh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function fk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function hk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return ub(document.cookie,t)}}let jc,Ea=null,gk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const Qh=new z("EventManagerPlugins");let Sb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new R(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qh),L(Te))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();class Tb{constructor(t){this._doc=t}}const Kh="ng-app-id";let Mb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=yb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${Kh}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(Kh),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(Kh,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt),L(ql),L(Wm,8),L(Nr))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const Xh={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/MathML/"},ep=/%COMP%/g,yk=new z("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Nb(e,t){return t.map(i=>i.replace(ep,e))}let Ab=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=yb(l),this.defaultRenderer=new tp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Xn.ShadowDom&&(r={...r,encapsulation:Xn.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof xb?s.applyToHost(n):s instanceof np&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case Xn.Emulated:o=new xb(c,u,r,this.appId,h,a,l,g);break;case Xn.ShadowDom:return new Ck(c,u,n,r,a,l,this.nonce,g);default:o=new np(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Sb),L(Mb),L(ql),L(yk),L(Xt),L(Nr),L(Te),L(Wm))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();class tp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(Xh[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Ob(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Ob(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new R(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=Xh[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=Xh[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Ob(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ck extends tp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Nb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class np extends tp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Nb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class xb extends np{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function bk(e){return"_ngcontent-%COMP%".replace(ep,e)}(c),this.hostAttr=function Dk(e){return"_nghost-%COMP%".replace(ep,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ek=(()=>{var e;class t extends Tb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const Rb=["alt","control","meta","shift"],Sk={"\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"},Tk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Mk=(()=>{var e;class t extends Tb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Rb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=Sk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Rb.forEach(a=>{a!==s&&(0,Tk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const Ok=I1(fF,"browser",[{provide:Nr,useValue:"browser"},{provide:zm,useValue:function Ik(){Jh.makeCurrent()},multi:!0},{provide:Xt,useFactory:function Ak(){return function EM(e){Ud=e}(document),document},deps:[]}]),xk=new z(""),kb=[{provide:Ec,useClass:class pk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new R(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:C1,useClass:bh,deps:[Te,Dh,Ec]},{provide:bh,useClass:bh,deps:[Te,Dh,Ec]}],Lb=[{provide:Kd,useValue:"root"},{provide:Ar,useFactory:function Nk(){return new Ar},deps:[]},{provide:Qh,useClass:Ek,multi:!0,deps:[Xt,Te,Nr]},{provide:Qh,useClass:Mk,multi:!0,deps:[Xt]},Ab,Mb,Sb,{provide:pf,useExisting:Ab},{provide:bb,useClass:gk,deps:[]},[]];let Rk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:ql,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(xk,12))},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({providers:[...Lb,...kb],imports:[mb,hF]}),t})();typeof window<"u"&&window;let $t=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s<this.elementLookup.length;s++)this.elementLookup[s].id==n&&(r=s);return r}addElementObject(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullTagHTML(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].object=r}addElementTagHTML(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullObject(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].tagHtml=r}addElementAll(n,r,s,o){let a=this.elementLookup.find(l=>{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new rp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new rp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new rp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class rp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let Bt=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sa(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ht(i,void 0,void 0,o=>{s=Pt(e(o,Sa(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function $c(e,t){const i=H(e)?e:()=>e,n=r=>r.error(i());return new Ge(t?r=>t.schedule(n,0,r):n)}function ui(e,t){return mt((i,n)=>{let r=0;i.subscribe(ht(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Ub(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class Gc{}class zc{}class di{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof di?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new di;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof di?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Uk{encodeKey(t){return jb(t)}encodeValue(t){return jb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const $k=/%(\d[a-f0-9])/gi,Gk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function jb(e){return encodeURIComponent(e).replace($k,(t,i)=>Gk[i]??t)}function Wc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Uk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(Wc):[Wc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(Wc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(Wc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class zk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function $b(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Gb(e){return typeof Blob<"u"&&e instanceof Blob}function zb(e){return typeof FormData<"u"&&e instanceof FormData}class Ta{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function Wk(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new di),this.context||(this.context=new zk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":a<i.length-1?"&":"")+o}}else this.params=new ur,this.urlWithParams=i}serializeBody(){return null===this.body?null:$b(this.body)||Gb(this.body)||zb(this.body)||function qk(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof ur?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||zb(this.body)?null:Gb(this.body)?this.body.type||null:$b(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof ur?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(t={}){const i=t.method||this.method,n=t.url||this.url,r=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,a=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let l=t.headers||this.headers,c=t.params||this.params;const u=t.context??this.context;return void 0!==t.setHeaders&&(l=Object.keys(t.setHeaders).reduce((h,g)=>h.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Ta(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var ro=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(ro||{});class sp{constructor(t,i=200,n="OK"){this.headers=t.headers||new di,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class op extends sp{constructor(t={}){super(t),this.type=ro.ResponseHeader}clone(t={}){return new op({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class so extends sp{constructor(t={}){super(t),this.type=ro.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new so({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Wb extends sp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ap(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let qc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Ta)o=n;else{let c,u;c=s.headers instanceof di?s.headers:new di(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Ta(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=cs(o).pipe(function Hk(e,t){return H(t)?ls(e,t,1):ls(e,1)}(c=>this.handler.handle(c)));if(n instanceof Ta||"events"===s.observe)return a;const l=a.pipe(ui(c=>c instanceof so));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Ft(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Ft(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Ft(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Ft(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,ap(s,r))}post(n,r,s={}){return this.request("POST",n,ap(s,r))}put(n,r,s={}){return this.request("PUT",n,ap(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();function Zb(e,t){return t(e)}function Zk(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const Qk=new z(""),Ma=new z(""),Jb=new z("");function Kk(){let e=null;return(t,i)=>{null===e&&(e=(de(Qk,{optional:!0})??[]).reduceRight(Zk,Zb));const n=de(mh),r=n.add();return e(t,i).pipe(Ub(()=>n.remove(r)))}}let Qb=(()=>{var e;class t extends Gc{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=de(mh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ma),...this.injector.get(Jb,[])]));this.chain=s.reduceRight((o,a)=>function Jk(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Zb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Ub(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(zc),L(jn))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const n2=/^\)\]\}',?\n/;let Xb=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new R(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Do(r.\u0275loadImpl()):cs(null)).pipe(Pu(()=>new Ge(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new di(a.getAllResponseHeaders()),C=function i2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new op({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:x}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let B=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(n2,"");try{O=""!==O?JSON.parse(O):null}catch(ce){O=J,B&&(B=!1,O={error:ce,text:O})}}B?(o.next(new so({body:O,headers:D,status:T,statusText:C,url:x||void 0})),o.complete()):o.error(new Wb({error:O,headers:D,status:T,statusText:C,url:x||void 0}))},g=D=>{const{url:T}=u(),C=new Wb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:ro.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:ro.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:ro.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(bb))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();const lp=new z("XSRF_ENABLED"),eD=new z("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),tD=new z("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class nD{}let o2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=ub(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt),L(Nr),L(eD))},e.\u0275prov=j({token:e,factory:e.\u0275fac}),t})();function a2(e,t){const i=e.url.toLowerCase();if(!de(lp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=de(nD).getToken(),r=de(tD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function l2(...e){const t=[qc,Xb,Qb,{provide:Gc,useExisting:Qb},{provide:zc,useExisting:Xb},{provide:Ma,useValue:a2,multi:!0},{provide:lp,useValue:!0},{provide:nD,useClass:o2}];for(const i of e)t.push(...i.\u0275providers);return function Zd(e){return{\u0275providers:e}}(t)}const iD=new z("LEGACY_INTERCEPTOR_FN");let u2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({providers:[l2(Br(dr.LegacyInterceptors,[{provide:iD,useFactory:Kk},{provide:Ma,useExisting:iD,multi:!0}]))]}),t})(),rD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(qc))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),sD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s<this.modals.length;s++){let o=this.modals[s];if(null!=o&&o.key==n){r=s;break}}return r>=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Zc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o<this.contextKeyVal.length;o++){let a=this.contextKeyVal[o];a.key==n&&(a.value=r,s=!0)}0==s&&this.contextKeyVal.push(new _2(n,r))}getContext(){return this.contextKeyVal}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextKeyVal.length;s++)if(this.contextKeyVal[s].key==n){r=s;break}return r>=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class _2{constructor(t,i){this.key=t,this.value=i}}let Ia=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L($t))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),m2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=Bt.injector.get(Pn),s={headers:new di({"ngrok-skip-browser-warning":"1234"})};return this.http.get(this.backend_URI,s).pipe(Sa((a,l)=>(console.error("Error occurred during the HTTP request:",a),n.postMessage("error connection"),$c(()=>new Error(a.error)))))}post(n,r){let s=[];r.forEach(l=>s.push(Object.assign({},l)));let o=Bt.injector.get(Pn);this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let a=null;return a=s.length>0?this.http.post(this.backend_URI+"/backend",{function:n,context:s}):this.http.post(this.backend_URI+"/backend",{function:n}).pipe(Sa((l,c)=>(console.error("Error occurred during the HTTP request:",l),o.postMessage("error connection"),$c(()=>new Error(l.error))))),a}}return(e=t).\u0275fac=function(n){return new(n||e)(L(qc),L(rD),L(sD),L($t),L(Zc),L(Ia))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Pn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ne,this.menuBar=new ne,this.messageLists=new ne,this.contextMenus=new ne,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden");let r=document.getElementById("error");r?.setAttribute("hidden","true"),this.httpService.get().pipe(Sa(s=>(this.postMessage("Connection Error"),n?.setAttribute("hidden","true"),r?.removeAttribute("hidden"),$c(()=>new Error(s.error))))).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s),n?.setAttribute("hidden","true")}})}operationPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden");let o=document.getElementById("error");o?.setAttribute("hidden","true"),this.httpService.post(n.operation,r).pipe(Sa(a=>(this.postMessage("Connection Error"),s?.setAttribute("hidden","true"),o?.removeAttribute("hidden"),$c(()=>new Error(a.error))))).subscribe({next:a=>{this.lastData=a,this.frontendJson.next(a),s?.setAttribute("hidden","true")}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(m2),L(qc),L(Zc))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.contains(c)&&n.classList.remove(c),n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const v2=["child"];function y2(e,t){}let oD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(wu),v(lt),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&Ye(v2,5,Cn),2&n){let s;ee(s=te())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&U(0,y2,0,0,"ng-template",null,0,En)}}),t})();function aD(e){let t=[],i="",n=0;for(let r=0;r<e.length;r++){let s=e.charAt(r);if("("==s)n+=1,i+=s;else if(")"==s){if(n-=1,i+=s,n<0){console.log("ERROR - BRACKE LEVEL LOWER THAN 0");break}}else","==s&&0==n?(t.push(i),i=""):i+=s}return t.push(i),t}function lD(e){Bt.injector.get(Ia).contextMenus.length>0&&(e.preventDefault(),e.stopPropagation(),cD())}function cD(){let e=Bt.injector.get(Ia),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function uD(e,t){console.log("---- Handling update",e);let i=Bt.injector.get($t),n=e.operation;n=n.substring(1),n=n.slice(0,-1);let r=aD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a&&"shown"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function b2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=cD()&&null!=Bt.injector.get(Ia).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&Bt.injector.get(wu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function dD(e){let t=Bt.injector.get(Zc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function fD(e,t){let i=Bt.injector.get(Pn),n=e.operation;n=dD(n),e.operation=n,i.operationPost(e)}function hD(e,t){console.log("---- Handling context",e);let i=Bt.injector.get(Zc),n=e.operation;if(n=dD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=aD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c<o.length;c++)l=l+","+o[c];return void i.addContext(a,l)}}let r="The value of context event should be a tuple of size 2, but got "+e.operation;console.error(r),Bt.injector.get(Pn).postMessage(r,"warning")}let fi=(()=>{var e;class t{constructor(n){this.frontendService=n,document.onclick=lD,document.oncontextmenu=lD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&hD(l,null),"update"==l.interactionType&&uD(l,null),"call"==l.interactionType||"callback"==l.interactionType)try{fD(l)}catch(c){Bt.injector.get(Pn).postMessage(c.message,"warning")}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{uD(g,l)}catch(_){Bt.injector.get(Pn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{hD(g,l)}catch(_){Bt.injector.get(Pn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].operation="("+h.map(g=>g.operation).join(",")+")"),h.forEach(g=>{try{fD(h[0])}catch(_){Bt.injector.get(Pn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Pn))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:D2}=Array;const C2=["addListener","removeListener"],E2=["addEventListener","removeEventListener"],S2=["on","off"];function Gt(e,t,i,n){if(H(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(function pD(e){return Ft(t=>function w2(e,t){return D2(t)?e(...t):e(t)}(e,t))}(n));const[r,s]=function I2(e){return H(e.addEventListener)&&H(e.removeEventListener)}(e)?E2.map(o=>a=>e[o](t,a,i)):function T2(e){return H(e.addListener)&&H(e.removeListener)}(e)?C2.map(gD(e,t)):function M2(e){return H(e.on)&&H(e.off)}(e)?S2.map(gD(e,t)):[];if(!r&&Ou(e))return ls(o=>Gt(o,t,i))(Pt(e));if(!r)throw new TypeError("Invalid event target");return new Ge(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function gD(e,t){return i=>n=>e[i](t,n)}class N2 extends ue{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},_D={now:()=>(_D.delegate||Date).now(),delegate:void 0};class Na{constructor(t,i=Na.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Na.now=_D.now;const mD=new class O2 extends Na{constructor(t,i=Na.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class A2 extends N2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),x2=mD;function vD(e=0,t,i=x2){let n=-1;return null!=t&&(yg(t)?i=t:n=t),new Ge(r=>{let s=function R2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:F2}=Array;function yD(e){return 1===e.length&&F2(e[0])?e[0]:e}function bD(...e){return 1===(e=yD(e)).length?Pt(e[0]):new Ge(function P2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n<e.length;n++)i.push(Pt(e[n]).subscribe(ht(t,r=>{if(i){for(let s=0;s<i.length;s++)s!==n&&i[s].unsubscribe();i=null}t.next(r)})))}}(e))}function cp(...e){const t=Ru(e),i=yD(e);return i.length?new Ge(n=>{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o<i.length;o++)Pt(i[o]).subscribe(ht(n,a=>{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):bo}function Qc(...e){return function k2(){return vg(1)}()(Do(e,Ka(e)))}function Mt(e){return mt((t,i)=>{Pt(e).subscribe(ht(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function hi(e){return e<=0?()=>bo:mt((t,i)=>{let n=0;t.subscribe(ht(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function DD(e,t,i){const n=H(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ht(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):wi}function up(...e){const t=Ru(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l<r;l++)Pt(e[l]).subscribe(ht(n,c=>{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(wi))&&(o=null))},wt));i.subscribe(ht(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function wD(e,t){return t?i=>Qc(t.pipe(hi(1),function B2(){return mt((e,t)=>{e.subscribe(ht(t,wt))})}()),i.pipe(wD(e))):ls((i,n)=>Pt(e(i,n)).pipe(hi(1),function V2(e){return Ft(()=>e)}(i)))}const Hr=new z("CallSetDisabledState",{providedIn:"root",factory:()=>xa}),xa="always";let cw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();const Sp=new z("NgModelWithFormControlWarning");let Tw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({imports:[cw]}),t})(),YL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Hr,useValue:n.callSetDisabledState??xa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({imports:[Tw]}),t})(),ZL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Sp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Hr,useValue:n.callSetDisabledState??xa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({imports:[Tw]}),t})();var JL={left:"right",right:"left",bottom:"top",top:"bottom"};function au(e){return e.replace(/left|right|bottom|top/g,function(t){return JL[t]})}function Pi(e){return e.split("-")[0]}var QL={start:"end",end:"start"};function Mw(e){return e.replace(/start|end/g,function(t){return QL[t]})}var kn="top",pi="bottom",gi="right",Ln="left",xp="auto",Pa=[kn,pi,gi,Ln],ao="start",ka="end",Iw="viewport",La="popper",Nw=Pa.reduce(function(e,t){return e.concat([t+"-"+ao,t+"-"+ka])},[]),Aw=[].concat(Pa,[xp]).reduce(function(e,t){return e.concat([t,t+"-"+ao,t+"-"+ka])},[]),cB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Bn(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function jr(e){return e instanceof Bn(e).Element||e instanceof Element}function Kn(e){return e instanceof Bn(e).HTMLElement||e instanceof HTMLElement}function Rp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Bn(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((jr(e)?e.ownerDocument:e.document)||window.document).documentElement}var $r=Math.max,lu=Math.min,lo=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Ow(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function co(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Kn(e)&&(r=e.offsetWidth>0&&lo(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&lo(n.height)/e.offsetHeight||1);var a=(jr(e)?Bn(e):window).visualViewport,l=!Ow()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Pp(e){var t=Bn(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function kp(e){return co(gr(e)).left+Pp(e).scrollLeft}function Yi(e){return Bn(e).getComputedStyle(e)}function ki(e){return e?(e.nodeName||"").toLowerCase():null}function cu(e){return"html"===ki(e)?e:e.assignedSlot||e.parentNode||(Rp(e)?e.host:null)||gr(e)}function Lp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function xw(e){return["html","body","#document"].indexOf(ki(e))>=0?e.ownerDocument.body:Kn(e)&&Lp(e)?e:xw(cu(e))}function Ba(e,t){var i;void 0===t&&(t=[]);var n=xw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Bn(n),o=r?[s].concat(s.visualViewport||[],Lp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(Ba(cu(o)))}function fB(e){return["table","td","th"].indexOf(ki(e))>=0}function Rw(e){return Kn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Va(e){for(var t=Bn(e),i=Rw(e);i&&fB(i)&&"static"===Yi(i).position;)i=Rw(i);return i&&("html"===ki(i)||"body"===ki(i)&&"static"===Yi(i).position)?t:i||function hB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Kn(e)&&"fixed"===Yi(e).position)return null;var r=cu(e);for(Rp(r)&&(r=r.host);Kn(r)&&["html","body"].indexOf(ki(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Fw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Rp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Bp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Pw(e,t,i){return t===Iw?Bp(function uB(e,t){var i=Bn(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Ow();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+kp(e),y:l}}(e,i)):jr(t)?function pB(e,t){var i=co(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Bp(function dB(e){var t,i=gr(e),n=Pp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=$r(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=$r(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+kp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=$r(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function uo(e){return e.split("-")[1]}function Vp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function kw(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?Pi(n):null,s=n?uo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case kn:l={x:o,y:t.y-i.height};break;case pi:l={x:o,y:t.y+t.height};break;case gi:l={x:t.x+t.width,y:a};break;case Ln:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Vp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case ao:l[c]=l[c]-(t[u]/2-i[u]/2);break;case ka:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function Bw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Vw(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Hp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Iw:c,h=t.elementContext,g=void 0===h?La:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=Bw("number"!=typeof D?D:Vw(D,Pa)),x=e.rects.popper,O=e.elements[y?g===La?"reference":La:g],B=function _B(e,t,i,n){var r="clippingParents"===t?function gB(e){var t=Ba(cu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Kn(e)?Va(e):e;return jr(n)?t.filter(function(r){return jr(r)&&Fw(r,n)&&"body"!==ki(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=Pw(e,c,n);return l.top=$r(u.top,l.top),l.right=lu(u.right,l.right),l.bottom=lu(u.bottom,l.bottom),l.left=$r(u.left,l.left),l},Pw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(jr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=co(e.elements.reference),ce=kw({reference:J,element:x,strategy:"absolute",placement:r}),_e=Bp(Object.assign({},x,ce)),ct=g===La?_e:J,Dt={top:B.top-ct.top+T.top,bottom:ct.bottom-B.bottom+T.bottom,left:B.left-ct.left+T.left,right:ct.right-B.right+T.right},Vt=e.modifiersData.offset;if(g===La&&Vt){var mi=Vt[r];Object.keys(Dt).forEach(function(pn){var Qr=[gi,pi].indexOf(pn)>=0?1:-1,Kr=[kn,pi].indexOf(pn)>=0?"y":"x";Dt[pn]+=mi[Kr]*Qr})}return Dt}const bB={name:"flip",enabled:!0,phase:"main",fn:function yB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=Pi(D),x=l||(T!==D&&y?function vB(e){if(Pi(e)===xp)return[];var t=au(e);return[Mw(e),t,Mw(t)]}(D):[au(D)]),O=[D].concat(x).reduce(function(_o,_r){return _o.concat(Pi(_r)===xp?function mB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Aw:l,u=uo(t.placement),h=u?a?Nw:Nw.filter(function(y){return uo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Hp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[Pi(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),B=t.rects.reference,J=t.rects.popper,ce=new Map,_e=!0,ct=O[0],Dt=0;Dt<O.length;Dt++){var Vt=O[Dt],mi=Pi(Vt),pn=uo(Vt)===ao,Qr=[kn,pi].indexOf(mi)>=0,Kr=Qr?"width":"height",Vn=Hp(t,{placement:Vt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),vi=Qr?pn?gi:Ln:pn?pi:kn;B[Kr]>J[Kr]&&(vi=au(vi));var Cu=au(vi),Xr=[];if(s&&Xr.push(Vn[mi]<=0),a&&Xr.push(Vn[vi]<=0,Vn[Cu]<=0),Xr.every(function(_o){return _o})){ct=Vt,_e=!1;break}ce.set(Vt,Xr)}if(_e)for(var sg=function(_r){var Ja=O.find(function(Tu){var es=ce.get(Tu);if(es)return es.slice(0,_r).every(function(og){return og})});if(Ja)return ct=Ja,"break"},Za=y?3:1;Za>0&&"break"!==sg(Za);Za--);t.placement!==ct&&(t.modifiersData[n]._skip=!0,t.placement=ct,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ha(e,t,i){return $r(e,lu(t,i))}function Up(e){var t=co(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const EB={name:"preventOverflow",enabled:!0,phase:"main",fn:function CB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Hp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=Pi(t.placement),C=uo(t.placement),x=!C,O=Vp(T),B=function DB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ce=t.rects.reference,_e=t.rects.popper,ct="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof ct?{mainAxis:ct,altAxis:ct}:Object.assign({mainAxis:0,altAxis:0},ct),Vt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,mi={x:0,y:0};if(J){if(s){var pn,Qr="y"===O?kn:Ln,Kr="y"===O?pi:gi,Vn="y"===O?"height":"width",vi=J[O],Cu=vi+D[Qr],Xr=vi-D[Kr],Eu=_?-_e[Vn]/2:0,sg=C===ao?ce[Vn]:_e[Vn],Za=C===ao?-_e[Vn]:-ce[Vn],Su=t.elements.arrow,_o=_&&Su?Up(Su):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Ja=_r[Qr],Tu=_r[Kr],es=Ha(0,ce[Vn],_o[Vn]),og=x?ce[Vn]/2-Eu-es-Ja-Dt.mainAxis:sg-es-Ja-Dt.mainAxis,ej=x?-ce[Vn]/2+Eu+es+Tu+Dt.mainAxis:Za+es+Tu+Dt.mainAxis,ag=t.elements.arrow&&Va(t.elements.arrow),tj=ag?"y"===O?ag.clientTop||0:ag.clientLeft||0:0,iE=null!=(pn=Vt?.[O])?pn:0,ij=vi+ej-iE,rE=Ha(_?lu(Cu,vi+og-iE-tj):Cu,vi,_?$r(Xr,ij):Xr);J[O]=rE,mi[O]=rE-vi}if(a){var sE,ts=J[B],Mu="y"===B?"height":"width",oE=ts+D["x"===O?kn:Ln],aE=ts-D["x"===O?pi:gi],lg=-1!==[kn,Ln].indexOf(T),lE=null!=(sE=Vt?.[B])?sE:0,cE=lg?oE:ts-ce[Mu]-_e[Mu]-lE+Dt.altAxis,uE=lg?ts+ce[Mu]+_e[Mu]-lE-Dt.altAxis:aE,dE=_&&lg?function wB(e,t,i){var n=Ha(e,t,i);return n>i?i:n}(cE,ts,uE):Ha(_?cE:oE,ts,_?uE:aE);J[B]=dE,mi[B]=dE-ts}t.modifiersData[n]=mi}},requiresIfExists:["offset"]},IB={name:"arrow",enabled:!0,phase:"main",fn:function TB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=Pi(i.placement),l=Vp(a),u=[Ln,gi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return Bw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Vw(t,Pa))}(r.padding,i),g=Up(s),_="y"===l?kn:Ln,y="y"===l?pi:gi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Va(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ce=Ha(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ce,t.centerOffset=ce-J,t)}},effect:function MB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Fw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xB(e,t,i){void 0===i&&(i=!1);var n=Kn(t),r=Kn(t)&&function OB(e){var t=e.getBoundingClientRect(),i=lo(t.width)/e.offsetWidth||1,n=lo(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=co(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==ki(t)||Lp(s))&&(a=function AB(e){return e!==Bn(e)&&Kn(e)?function NB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Pp(e)}(t)),Kn(t)?((l=co(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=kp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function RB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function PB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var Hw={placement:"bottom",modifiers:[],strategy:"absolute"};function Uw(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return!t.some(function(n){return!(n&&"function"==typeof n.getBoundingClientRect)})}function LB(e){void 0===e&&(e={});var i=e.defaultModifiers,n=void 0===i?[]:i,r=e.defaultOptions,s=void 0===r?Hw:r;return function(a,l,c){void 0===c&&(c=s);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},Hw,s),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},h=[],g=!1,_={state:u,setOptions:function(T){var C="function"==typeof T?T(u.options):T;b(),u.options=Object.assign({},s,u.options,C),u.scrollParents={reference:jr(a)?Ba(a):a.contextElement?Ba(a.contextElement):[],popper:Ba(l)};var x=function FB(e){var t=RB(e);return cB.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}(function kB(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}([].concat(n,u.options.modifiers)));return u.orderedModifiers=x.filter(function(O){return O.enabled}),function y(){u.orderedModifiers.forEach(function(D){var C=D.options,O=D.effect;if("function"==typeof O){var B=O({state:u,name:D.name,instance:_,options:void 0===C?{}:C});h.push(B||function(){})}})}(),_.update()},forceUpdate:function(){if(!g){var T=u.elements,C=T.reference,x=T.popper;if(Uw(C,x)){u.rects={reference:xB(C,Va(x),"fixed"===u.options.strategy),popper:Up(x)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(Dt){return u.modifiersData[Dt.name]=Object.assign({},Dt.data)});for(var O=0;O<u.orderedModifiers.length;O++)if(!0!==u.reset){var B=u.orderedModifiers[O],J=B.fn,ce=B.options;"function"==typeof J&&(u=J({state:u,options:void 0===ce?{}:ce,name:B.name,instance:_})||u)}else u.reset=!1,O=-1}}},update:PB(function(){return new Promise(function(D){_.forceUpdate(),D(u)})}),destroy:function(){b(),g=!0}};if(!Uw(a,l))return _;function b(){h.forEach(function(D){return D()}),h=[]}return _.setOptions(c).then(function(D){!g&&c.onFirstUpdate&&c.onFirstUpdate(D)}),_}}var uu={passive:!0},jB={top:"auto",right:"auto",bottom:"auto",left:"auto"};function jw(e){var t,i=e.popper,n=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,h=e.isFixed,g=o.x,_=void 0===g?0:g,y=o.y,b=void 0===y?0:y,D="function"==typeof u?u({x:_,y:b}):{x:_,y:b};_=D.x,b=D.y;var T=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),x=Ln,O=kn,B=window;if(c){var J=Va(i),ce="clientHeight",_e="clientWidth";J===Bn(i)&&"static"!==Yi(J=gr(i)).position&&"absolute"===a&&(ce="scrollHeight",_e="scrollWidth"),(r===kn||(r===Ln||r===gi)&&s===ka)&&(O=pi,b-=(h&&J===B&&B.visualViewport?B.visualViewport.height:J[ce])-n.height,b*=l?1:-1),r!==Ln&&(r!==kn&&r!==pi||s!==ka)||(x=gi,_-=(h&&J===B&&B.visualViewport?B.visualViewport.width:J[_e])-n.width,_*=l?1:-1)}var pn,Vt=Object.assign({position:a},c&&jB),mi=!0===u?function $B(e,t){var n=e.y,r=t.devicePixelRatio||1;return{x:lo(e.x*r)/r||0,y:lo(n*r)/r||0}}({x:_,y:b},Bn(i)):{x:_,y:b};return _=mi.x,b=mi.y,Object.assign({},Vt,l?((pn={})[O]=C?"0":"",pn[x]=T?"0":"",pn.transform=(B.devicePixelRatio||1)<=1?"translate("+_+"px, "+b+"px)":"translate3d("+_+"px, "+b+"px, 0)",pn):((t={})[O]=C?b+"px":"",t[x]=T?_+"px":"",t.transform="",t))}var ZB=LB({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function BB(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,s=void 0===r||r,o=n.resize,a=void 0===o||o,l=Bn(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",i.update,uu)}),a&&l.addEventListener("resize",i.update,uu),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",i.update,uu)}),a&&l.removeEventListener("resize",i.update,uu)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function HB(e){var t=e.state;t.modifiersData[e.name]=kw({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function GB(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=void 0===n||n,s=i.adaptive,o=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:Pi(t.placement),variation:uo(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,jw(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,jw(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function WB(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},s=t.elements[i];!Kn(s)||!ki(s)||(Object.assign(s.style,n),Object.keys(r).forEach(function(o){var a=r[o];!1===a?s.removeAttribute(o):s.setAttribute(o,!0===a?"":a)}))})},effect:function qB(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],s=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]).reduce(function(l,c){return l[c]="",l},{});!Kn(r)||!ki(r)||(Object.assign(r.style,a),Object.keys(s).forEach(function(l){r.removeAttribute(l)}))})}},requires:["computeStyles"]}]});const KB={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function QB(e){var t=e.state,n=e.name,r=e.options.offset,s=void 0===r?[0,0]:r,o=Aw.reduce(function(u,h){return u[h]=function JB(e,t,i){var n=Pi(e),r=[Ln,kn].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Ln,gi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function oV(e,t){if(1&e){const i=Rn();$(0,"button",1),pe("click",function(){return yn(i),bn(q().close())}),G()}}const $w=["*"],kV=["dialog"];function Gr(e){return"string"==typeof e}function zr(e){return null!=e}function fo(e){return(e||document.body).getBoundingClientRect()}function Yw(e=document){const t=e?.activeElement;return t?t.shadowRoot?Yw(t.shadowRoot):t:null}const Zw={animation:!0,transitionTimerDelayMs:5},IH=()=>{},{transitionTimerDelayMs:NH}=Zw,Ua=new Map,hn=(e,t,i,n)=>{let r=n.context||{};const s=Ua.get(t);if(s)switch(n.runningTransition){case"continue":return bo;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ua.delete(t)}const o=i(t,n.animation,r)||IH;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),cs(void 0).pipe(function TH(e){return t=>new Ge(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ne,l=new ne,c=a.pipe(function L2(...e){return t=>Qc(t,cs(...e))}(!0));Ua.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function MH(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ui(({target:_})=>_===t));bD(vD(u+NH).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ua.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let ja=(()=>{var e;class t{constructor(){this.animation=Zw.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();const BH=({classList:e})=>{e.remove("show")};let VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ja))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HH=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=hn(this._zone,this._element.nativeElement,BH,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(VH),v($n),v(Pe),v(Te))},e.\u0275cmp=ze({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&we("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Wn],ngContentSelectors:$w,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&($f(),Gf(0),U(1,oV,1,0,"button",0)),2&n&&(F(1),k("ngIf",r.dismissible))},dependencies:[Jn],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),sC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),lC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),qp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();var $e=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}($e||{});const _u=(e,t)=>!!t&&t.some(i=>i.contains(e)),hC=(e,t)=>!t||null!=function SH(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),a3=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 pC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>a3?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ui(g=>g.which===$e.Escape),DD(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Ft(g=>{const _=g.target;return 2!==g.button&&!_u(_,o)&&("inside"===i?_u(_,s)&&hC(_,a):"outside"===i?!_u(_,s):hC(_,a)||!_u(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(up(u),ui(([g,_])=>_),function H2(e,t=mD){const i=vD(e,t);return wD(()=>i)}(0),Mt(r));bD([c.pipe(Ft(g=>0)),h.pipe(Ft(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const gC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function _C(e){const t=Array.from(e.querySelectorAll(gC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let c3=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const u3=/\s+/,d3=/  +/gi,f3={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"]},p3=/^left/,g3=/^right/,_3=/^start/,m3=/^end/;function vC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(u3),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function h3(e,t){const[i,n]=f3[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function v3(e,t){let[i,n]=t.split("-");const r=i.replace(p3,"start").replace(g3,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(_3,"top").replace(m3,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(d3," "),h.className=_}},bB,EB,IB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function yC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let NC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),N3=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ng=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Pe),v($n))},e.\u0275dir=P({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(zn("tabIndex",r.disabled?-1:0),we("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),ig=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>Wa)),v(Pe))},e.\u0275dir=P({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&gt(s,ng,4),2&n){let o;ee(o=te())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&pe("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&we("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),bu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>Wa)),v(Pe))},e.\u0275dir=P({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&De("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),AC=(()=>{var e;class t extends bu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>Wa)),v(Pe))},e.\u0275dir=P({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&pe("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[je([{provide:bu,useExisting:ae(()=>e)}]),Oe]}),t})(),Wa=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ne,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function bC(){const e=de(c3);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||yC)(vC(i,e));t=ZB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||yC)(vC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(hi(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.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,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function wC(e){return t=>(t.modifiers.push(KB,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),pC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&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(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===Yw(this._document)&&(o=u)}),r!==$e.Space&&r!==$e.Enter){if(r!==$e.Tab){if(l||a){if(this.open(),s.length){switch(r){case $e.ArrowDown:o=Math.min(o+1,s.length-1);break;case $e.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case $e.Home:o=0;break;case $e.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(gC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(hi(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(hi(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(N3),v(Xt),v(Te),v(Pe),v($n))},e.\u0275dir=P({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(gt(s,ig,5),gt(s,bu,5)),2&n){let o;ee(o=te())&&(r._menu=o.first),ee(o=te())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&we("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),OC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();class Jr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let A3=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(hi(1)).subscribe(()=>{hn(this._zone,this._el.nativeElement,(n,r)=>{r&&fo(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return hn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Pe),v(Te))},e.\u0275cmp=ze({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),we("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Wn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class xC{update(t){}close(t){}dismiss(t){}}const O3=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],x3=["animation","backdropClass"];class R3{_applyWindowOptions(t,i){O3.forEach(n=>{zr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){x3.forEach(n=>{zr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ne,this._dismissed=new ne,this._hidden=new ne,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function zw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():cs(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),cp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var qa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(qa||{});let F3=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ne,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ne,this.hidden=new ne}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Gr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(hi(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=cp(hn(this._zone,n,()=>n.classList.remove("show"),r),hn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};cp(hn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&fo(o),o.classList.add("show")},n),hn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ui(s=>s.which===$e.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(qa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),DD(()=>r=!1),Pu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),hi(1))),ui(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(qa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=_C(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&hn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Xt),v(Pe),v(Te))},e.\u0275cmp=ze({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&Ye(kV,7),2&n){let s;ee(s=te())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(De("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),we("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Wn],ngContentSelectors:$w,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&($f(),$(0,"div",0,1)(2,"div",2),Gf(3),G()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),P3=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),k3=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ne,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Ft(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ui(s=>s.which===$e.Tab),up(r)).subscribe(([s,o])=>{const[a,l]=_C(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),up(r),Ft(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:zr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new xC,c=(n=s.injector||n).get(jn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new R3(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(hi(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Oh(A3,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Oh(F3,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof it?this._createFromTemplateRef(s,o):Gr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Jr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Jr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Jr([[r]])}_createFromComponent(n,r,s,o,a){const c=Oh(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:xC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Jr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(jn),L(Xt),L(P3),L(pf),L(Te))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),L3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ja))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),RC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(k3),L(L3))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),FC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({providers:[RC]}),t})(),LC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),zC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),qC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),YC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),ZC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),JC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),QC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),XC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();new z("live announcer delay",{providedIn:"root",factory:function tU(){return 100}});let eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({}),t})();const iU=[rC,sC,lC,qp,NC,OC,FC,LC,tE,zC,qC,YC,ZC,JC,QC,KC,XC,eE];let rU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Fe({type:e}),e.\u0275inj=Ae({imports:[iU,rC,sC,lC,qp,NC,OC,FC,LC,tE,zC,qC,YC,ZC,JC,QC,KC,XC,eE]}),t})();const sU=["ddbut"];function oU(e,t){if(1&e&&($(0,"button",8),et(1,"i",null,9),tt(3),G()),2&e){const i=t.$implicit;zi("id",i.element.id),F(3),Kt(i.label)}}let aU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new lU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&(this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon"),""!==this.attributeService.findGetAttributeValue("icon",n.attributes,"")&&(s.label=" "+s.label))}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.operationPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(dn),v(lt),v(Pn),v(Xt),v($t),v(fi))},e.\u0275cmp=ze({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&Ye(sU,7),2&n){let s;ee(s=te())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&($(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),tt(6),G(),$(7,"div",6),U(8,oU,4,2,"button",7),G()()()()()),2&n&&(F(4),zi("id",null==r.element?null:r.element.id),F(2),oi(" ",r.buttonLabel," "),F(2),k("ngForOf",r.dropDownMenuItems))},dependencies:[Zn,Wa,AC,ig,ng]}),t})();class lU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=Bt.injector.get(dn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const cU=["label"],uU=["middleDiv"],dU=["outerDiv"];let fU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(Ye(cU,7),Ye(uU,7),Ye(dU,7)),2&n){let s;ee(s=te())&&(r.label=s.first),ee(s=te())&&(r.middleDiv=s.first),ee(s=te())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&($(0,"div",null,0)(2,"div",null,1),et(4,"p",2,3),G()()),2&n&&(F(4),k("innerHTML",r.elementLabel,km))}}),t})();const hU=["theButton"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon"),""!==this.attributeService.findGetAttributeValue("icon",n,"")&&(this.buttonLabel=" "+this.buttonLabel);let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&Ye(hU,5),2&n){let s;ee(s=te())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&($(0,"button",0,1),et(2,"i",null,2),tt(4),G()),2&n&&(De("disabled",!!r.disabledAttribute||null),F(4),Kt(r.buttonLabel))}}),t})();var gU=Be(7);const _U=["theImage"],mU=["svgContainer"];function vU(e,t){if(1&e&&($(0,"div"),et(1,"img",1,2),G()),2&e){const i=q();F(1),k("src",i.imageSource,qd)}}function yU(e,t){1&e&&et(0,"div",null,3)}let bU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=gU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"-&gt;"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.debug("Warning: No svgElement defined for clingraph element",o.id)}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(Ye(_U,5),Ye(mU,5)),2&n){let s;ee(s=te())&&(r.theImage=s.first),ee(s=te())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(U(0,vU,3,1,"div",0),U(1,yU,2,0,"div",0)),2&n&&(k("ngIf","normal"==r.imageType),F(1),k("ngIf","svg"==r.imageType))},dependencies:[Jn]}),t})();const DU=["theTextfield"];let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&Ye(DU,5),2&n){let s;ee(s=te())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&($(0,"div",0),et(1,"input",1,2),G()),2&n&&(F(1),zi("type",r.inputType),k("placeholder",r.placeholder),De("disabled",!!r.disabledAttribute||null))}}),t})();const CU=["child"],EU=["content"];function SU(e,t){if(1&e){const i=Rn();$(0,"div",1)(1,"h4",2),tt(2),G(),$(3,"button",3),pe("click",function(){return bn(yn(i).$implicit.dismiss("Cross click"))}),G()(),$(4,"div",4),et(5,"app-container",5),G()}if(2&e){const i=q();F(2),Kt(i.modalTitle),F(3),k("element",i.element)("parentLayout",i.parentLayout)}}let nE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visibility",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}this.modalRef=null},l=>{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}null!=this.element&&this.modalRefService.removeModalByKey(this.element.id),this.modalRef=null})}this.cd.detectChanges()}}getDismissReason(n){return n===qa.ESC?"by pressing ESC":n===qa.BACKDROP_CLICK?"by clicking on a backdrop":`with: ${n}`}}return(e=t).\u0275fac=function(n){return new(n||e)(v(wu),v(lt),v(dn),v($t),v(RC),v(sD))},e.\u0275cmp=ze({type:e,selectors:[["app-modal"]],viewQuery:function(n,r){if(1&n&&(Ye(CU,5,Cn),Ye(EU,5,it)),2&n){let s;ee(s=te())&&(r.child=s.first),ee(s=te())&&(r.content=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["content",""],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"element","parentLayout"]],template:function(n,r){1&n&&U(0,SU,6,3,"ng-template",null,0,En)}}),t})();const TU=["progress"],MU=["progressBar"];let IU=(()=>{var e;class t{constructor(n,r){this.cd=n,this.attributeService=r,this.element=null,this.parentLayout="",this.value=0,this.min=0,this.max=100,this.label="",this.out_label="",this.percentage=0}ngAfterViewInit(){null!=this.element&&(this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("value",n);null!=r&&(this.value=Number(r.value));let s=this.attributeService.findAttribute("min",n);null!=s&&(this.min=Number(s.value));let o=this.attributeService.findAttribute("max",n);null!=o&&(this.max=Number(o.value));let a=this.attributeService.findAttribute("label",n);null!=a&&(this.label=a.value);let l=this.attributeService.findAttribute("out_label",n);null!=l&&(this.out_label=l.value),null!=r&&(this.percentage=this.value/(this.max-this.min)*100);let c=this.progressBar.nativeElement,u=this.progress.nativeElement;this.attributeService.setAttributesDirectly(u,n),this.attributeService.addAttributes(u,n),this.attributeService.addClasses(c,n,["progress-bar"],[])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(dn))},e.\u0275cmp=ze({type:e,selectors:[["app-progress-bar"]],viewQuery:function(n,r){if(1&n&&(Ye(TU,7),Ye(MU,7)),2&n){let s;ee(s=te())&&(r.progress=s.first),ee(s=te())&&(r.progressBar=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:7,vars:17,consts:[[1,"progress"],["progress",""],["role","progressbar","aria-valuemin","min","aria-valuemax","max",1,"progress-bar"],["progressBar",""],[1,"progress-label",2,"text-align","center"]],template:function(n,r){if(1&n&&($(0,"div",0,1)(2,"div",2,3),tt(4),G(),$(5,"span",4),tt(6),G()()),2&n){const s=function ii(e){return function _s(e,t){return e[t]}(function qS(){return K.lFrame.contextLView}(),he+e)}(1);sa("position","relative")("height","100%")("display","flex")("align-items","center"),F(2),sa("width",r.percentage,"%")("height",s.offsetHeight+"px"),De("aria-valuenow",r.value),F(2),oi("",r.label," "),F(1),sa("width",100-r.percentage,"%"),F(1),Kt(r.out_label)}}}),t})();const NU=["checkbox"],AU=["checkboxForm"];let OU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.checkboxID=crypto.randomUUID(),this.checkboxLabel="",this.disabledAttribute=!1,this.checked=!1,this.type="checkbox"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.checkbox.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.checkboxLabel=this.attributeService.findGetAttributeValue("label",n,""),null!=this.attributeService.findAttribute("checked",n)&&(this.checked=!0);let s=this.attributeService.findAttribute("type",n);null!=s&&("checkbox"===s.value||"radio"===s.value?this.type=s.value:(console.warn("Invalid value for type attribute. Defaulting to checkbox."),this.type="checkbox"));let o=this.checkbox.nativeElement,a=this.checkboxForm.nativeElement;this.attributeService.setAttributesDirectly(o,n),this.attributeService.addAttributes(o,n),this.attributeService.textAttributes(o,n),this.attributeService.addClasses(a,n,[],[]),this.attributeService.addGeneralAttributes(o,n);let l=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==l?this.disabledAttribute=!1:"true"==l?this.disabledAttribute=!0:(console.warn("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(l),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-checkbox"]],viewQuery:function(n,r){if(1&n&&(Ye(NU,5),Ye(AU,5)),2&n){let s;ee(s=te())&&(r.checkbox=s.first),ee(s=te())&&(r.checkboxForm=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:6,consts:[[1,"form-check"],["checkboxForm",""],["value","",1,"form-check-input",3,"type","id"],["checkbox",""],[1,"form-check-label",3,"for"]],template:function(n,r){1&n&&($(0,"div",0,1),et(2,"input",2,3),$(4,"label",4),tt(5),G()()),2&n&&(F(2),zi("type",r.type),Js("id","checkbox-",r.checkboxID,""),De("disabled",!!r.disabledAttribute||null)("checked",!!r.checked||null),F(2),Js("for","checkbox-",r.checkboxID,""),F(1),Kt(r.checkboxLabel))}}),t})(),xU=(()=>{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:oD},{key:"dropdown_menu",value:aU},{key:"label",value:fU},{key:"button",value:pU},{key:"canvas",value:bU},{key:"textfield",value:wU},{key:"modal",value:nE},{key:"progress_bar",value:IU},{key:"checkbox",value:OU}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),wu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(xU),L($t),L(dn))},e.\u0275prov=j({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function RU(e,t){if(1&e){const i=Rn();$(0,"ngb-alert",1),pe("closed",function(){return yn(i),bn(q().messageClosed())}),$(1,"strong"),tt(2),G(),tt(3),G()}if(2&e){const i=q();k("type",i.attrType)("dismissible",!0),F(2),Kt(i.attrTitle),F(1),oi(" ",i.attrMessage,"\n")}}let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visibility="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visibility=this.attributeService.findGetAttributeValue("visibility",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visibility="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(fi),v(dn),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&U(0,RU,4,4,"ngb-alert",0),2&n&&k("ngIf","shown"==r.visibility)},dependencies:[Jn,HH]}),t})();function PU(e,t){if(1&e&&($(0,"li",2)(1,"a"),et(2,"i",3),tt(3),G()()),2&e){const i=t.$implicit;k("id",i.id),F(3),Kt(i.text)}}let kU=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(dn),v(fi))},e.\u0275cmp=ze({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&($(0,"ul",0),U(1,PU,4,2,"li",1),G()),2&n&&(F(1),k("ngForOf",r.buttonList))},dependencies:[Zn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const LU=["parent"],BU=["child"];function VU(e,t){}function HU(e,t){1&e&&($(0,"div",7,8),U(2,VU,0,0,"ng-template",null,9,En),G()),2&e&&zi("id",q().window_id)}function UU(e,t){1&e&&et(0,"app-message",12),2&e&&k("element",t.$implicit)}function jU(e,t){if(1&e&&($(0,"div",10),U(1,UU,1,1,"app-message",11),G()),2&e){const i=q();F(1),k("ngForOf",i.messageList)}}function $U(e,t){if(1&e&&et(0,"app-context-menu",13),2&e){const i=t.$implicit;k("id",i.id)("element",i)}}let GU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r<n.attributes.length;r++){let s=n.attributes[r].value;s=this.stringSanitizer(s),n.attributes[r].value=s;let o=n.attributes[r].key;o=this.stringSanitizer(o),n.attributes[r].key=o,"image"!=o&&(s=s.replace("\\n","<br>"))}for(let r=0;r<n.when.length;r++){void 0!==n.when[r].event&&(n.when[r].actionType=n.when[r].event),void 0!==n.when[r].action&&(n.when[r].interactionType=n.when[r].action);let s=n.when[r].operation;s=this.stringSanitizer(s),n.when[r].operation=s;let o=n.when[r].actionType;o=this.stringSanitizer(o),n.when[r].actionType=o;let a=n.when[r].interactionType;a=this.stringSanitizer(a),n.when[r].interactionType=a}n.children.forEach(r=>{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(wu),v(dn),v(lt),v(Pn),v($t),v(Ia),v(fi))},e.\u0275cmp=ze({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(Ye(LU,5),Ye(BU,5,Cn)),2&n){let s;ee(s=te())&&(r.parent=s.first),ee(s=te())&&(r.child=s.first)}},decls:7,vars:3,consts:[["style","margin-top: 30px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["id","error",1,"myspinner","text-danger","clearfix","text-lg","p-3","fs-1","float-end"],[1,"fa-solid","fa-circle-exclamation"],["style","z-index: 9999; position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","30px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"z-index","9999","position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(U(0,HU,4,1,"div",0),$(1,"div",1),et(2,"div",2),G(),$(3,"div",3),et(4,"i",4),G(),U(5,jU,2,1,"div",5),U(6,$U,1,2,"app-context-menu",6)),2&n&&(k("ngIf",null!=r.window),F(5),k("ngIf",null!=r.window),F(1),k("ngForOf",r.contextMenuList))},dependencies:[Zn,Jn,FU,kU]}),t})();const zU=["titleIcon"];function WU(e,t){if(1&e&&($(0,"button",4),et(1,"i",null,5),tt(3),G()),2&e){const i=t.$implicit;zi("id",i.id),F(3),oi(" ",i.title,"")}}let qU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=this.attributeService.findGetAttributeValue("order",n.attributes,"0"),o=new YU(n.id,r,n,s);this.elementLookupService.addElementObject(n.id,o,n),this.menuBarButtons.push(o)}),this.cd.detectChanges(),this.menuBarButtons.sort((n,r)=>n.order-r.order),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}operationExecutor(n){null!=n&&this.displayFrontend.operationPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(lt),v(Pn),v(fi),v(dn),v($t),v(fi))},e.\u0275cmp=ze({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&Ye(zU,5),2&n){let s;ee(s=te())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:8,vars:2,consts:[[1,"navbar","navbar-expand-exp","navbar-light","justify-content-between","bg-light","fixed-top"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&($(0,"nav",0)(1,"a",1),et(2,"i",null,2),tt(4),G(),$(5,"div"),U(6,WU,4,2,"button",3),G()(),tt(7,"navbar navbar-expand navbar-light bg-light fixed-top")),2&n&&(F(4),oi(" ",r.title," "),F(2),k("ngForOf",r.menuBarButtons))},dependencies:[Zn]}),t})();class YU{constructor(t,i,n,r){this.id="",this.title="",this.order=0,this.htmlElement=null,this.id=t,this.title=i,this.element=n,this.order=null!=r?parseInt(r):0}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const ZU=["contentWrapper"];function JU(e,t){1&e&&et(0,"app-menu-bar",3),2&e&&k("element",q().menuBar)}let QU=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){Bt.injector.get($t).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Pn),v(lt),v($t))},e.\u0275cmp=ze({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&Ye(ZU,5),2&n){let s;ee(s=te())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(U(0,JU,1,1,"app-menu-bar",0),$(1,"div",1,2),et(3,"app-new-main"),G()),2&n&&k("ngIf",null!=r.menuBar)},dependencies:[Jn,GU,qU],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:1%}"]}),t})();function KU(e){return()=>e.load()}let XU=(()=>{var e;class t{constructor(n){this.injector=n,Bt.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Fe({type:e,bootstrap:[QU]}),e.\u0275inj=Ae({providers:[{provide:y1,useFactory:KU,deps:[rD],multi:!0}],imports:[Rk,ZL,YL,mb,u2,rU,qp]}),t})();(function Gg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=ll(t,!1),n.pipeDefs=ll(i,!0)})(nE,[oD],[]),Ok().bootstrapModule(XU).catch(e=>console.error(e))},919:(yi,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function dt(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ut(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct<en;Ct+=4)le=H[Z.charCodeAt(Ct)]<<18|H[Z.charCodeAt(Ct+1)]<<12|H[Z.charCodeAt(Ct+2)]<<6|H[Z.charCodeAt(Ct+3)],xe[It++]=le>>16&255,xe[It++]=le>>8&255,xe[It++]=255&le;return 2===Ke&&(le=H[Z.charCodeAt(Ct)]<<2|H[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=H[Z.charCodeAt(Ct)]<<10|H[Z.charCodeAt(Ct+1)]<<4|H[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;It<en;It+=16383)Ke.push(ft(Z,It,It+16383>en?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],H=[],ut=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],H[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function ft(Z,le,be){for(var Ke=[],xe=le;xe<be;xe+=3)Ke.push(He((Z[xe]<<16&16711680)+(Z[xe+1]<<8&65280)+(255&Z[xe+2])));return Ke.join("")}H["-".charCodeAt(0)]=62,H["_".charCodeAt(0)]=63},7:(yi,qt,Be)=>{"use strict";var ut=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var ue=2147483647;function Ve(p){if(p>ue)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return dt(p,d,f)}function dt(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m<d;m+=1)f[m]=255&p[m];return f}function Qe(p,d,f){if(d<0||p.byteLength<d)throw new RangeError('"offset" is outside of buffer bounds');if(p.byteLength<d+(f||0))throw new RangeError('"length" is outside of buffer bounds');var m;return m=void 0===d&&void 0===f?new Uint8Array(p):void 0===f?new Uint8Array(p,d):new Uint8Array(p,d,f),Object.setPrototypeOf(m,M.prototype),m}function xe(p){if(p>=ue)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ue.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return yo(this,d,f);case"utf8":case"utf-8":return vo(this,d,f);case"ascii":return is(this,d,f);case"latin1":case"binary":return rs(this,d,f);case"base64":return wi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ss(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:bi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):bi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function bi(p,d,f,m,w){var Ee,I=1,N=p.length,W=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,W/=2,f/=2}function fe(Ci,ot){return 1===I?Ci[ot]:Ci.readUInt16BE(ot*I)}if(w){var st=-1;for(Ee=f;Ee<N;Ee++)if(fe(p,Ee)===fe(d,-1===st?0:Ee-st)){if(-1===st&&(st=Ee),Ee-st+1===W)return st*I}else-1!==st&&(Ee-=Ee-st),st=-1}else for(f+W>N&&(f=N-W),Ee=f;Ee>=0;Ee--){for(var Le=!0,Xe=0;Xe<W;Xe++)if(fe(p,Ee+Xe)!==fe(d,Xe)){Le=!1;break}if(Le)return Ee}return-1}function Di(p,d,f,m){f=Number(f)||0;var w=p.length-f;m?(m=Number(m))>w&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N<m;++N){var W=parseInt(d.substr(2*N,2),16);if(S(W))return N;p[f+N]=W}return N}function mo(p,d,f,m){return Qi(Zi(d,p.length-f),p,f,m)}function vr(p,d,f,m){return Qi(function Qa(p){for(var d=[],f=0;f<p.length;++f)d.push(255&p.charCodeAt(f));return d}(d),p,f,m)}function ns(p,d,f,m){return Qi(Ji(d),p,f,m)}function yr(p,d,f,m){return Qi(function Dr(p,d){for(var f,m,I=[],N=0;N<p.length&&!((d-=2)<0);++N)m=(f=p.charCodeAt(N))>>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function wi(p,d,f){return ut.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function vo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w<f;){var fe,Ee,st,Le,I=p[w],N=null,W=I>239?4:I>223?3:I>191?2:1;if(w+W<=f)switch(W){case 1:I<128&&(N=I);break;case 2:128==(192&(fe=p[w+1]))&&(Le=(31&I)<<6|63&fe)>127&&(N=Le);break;case 3:Ee=p[w+2],128==(192&(fe=p[w+1]))&&128==(192&Ee)&&(Le=(15&I)<<12|(63&fe)<<6|63&Ee)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ee=p[w+2],st=p[w+3],128==(192&(fe=p[w+1]))&&128==(192&Ee)&&128==(192&st)&&(Le=(15&I)<<18|(63&fe)<<12|(63&Ee)<<6|63&st)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,W=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=W}return function Ge(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;m<d;)f+=String.fromCharCode.apply(String,p.slice(m,m+=br));return f}(m)}!(M.TYPED_ARRAY_SUPPORT=function ye(){try{var p=new Uint8Array(1),d={foo:function(){return 42}};return Object.setPrototypeOf(d,Uint8Array.prototype),Object.setPrototypeOf(p,d),42===p.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}}),Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}}),M.poolSize=8192,M.from=function(p,d,f){return dt(p,d,f)},Object.setPrototypeOf(M.prototype,Uint8Array.prototype),Object.setPrototypeOf(M,Uint8Array),M.alloc=function(p,d,f){return function ft(p,d,f){return He(p),p<=0?Ve(p):void 0!==d?"string"==typeof f?Ve(p).fill(d,f):Ve(p).fill(d):Ve(p)}(p,d,f)},M.allocUnsafe=function(p){return wt(p)},M.allocUnsafeSlow=function(p){return wt(p)},M.isBuffer=function(d){return null!=d&&!0===d._isBuffer&&d!==M.prototype},M.compare=function(d,f){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),tn(f,Uint8Array)&&(f=M.from(f,f.offset,f.byteLength)),!M.isBuffer(d)||!M.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(d===f)return 0;for(var m=d.length,w=f.length,I=0,N=Math.min(m,w);I<N;++I)if(d[I]!==f[I]){m=d[I],w=f[I];break}return m<w?-1:w<m?1:0},M.isEncoding=function(d){switch(String(d).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},M.concat=function(d,f){if(!Array.isArray(d))throw new TypeError('"list" argument must be an Array of Buffers');if(0===d.length)return M.alloc(0);var m;if(void 0===f)for(f=0,m=0;m<d.length;++m)f+=d[m].length;var w=M.allocUnsafe(f),I=0;for(m=0;m<d.length;++m){var N=d[m];if(tn(N,Uint8Array))I+N.length>w.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;f<d;f+=2)Et(this,f,f+1);return this},M.prototype.swap32=function(){var d=this.length;if(d%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var f=0;f<d;f+=4)Et(this,f,f+3),Et(this,f+1,f+2);return this},M.prototype.swap64=function(){var d=this.length;if(d%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var f=0;f<d;f+=8)Et(this,f,f+7),Et(this,f+1,f+6),Et(this,f+2,f+5),Et(this,f+3,f+4);return this},M.prototype.toLocaleString=M.prototype.toString=function(){var d=this.length;return 0===d?"":0===arguments.length?vo(this,0,d):Ct.apply(this,arguments)},M.prototype.equals=function(d){if(!M.isBuffer(d))throw new TypeError("Argument must be a Buffer");return this===d||0===M.compare(this,d)},M.prototype.inspect=function(){var d="",f=qt.h2;return d=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(d+=" ... "),"<Buffer "+d+">"},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),W=(m>>>=0)-(f>>>=0),fe=Math.min(N,W),Ee=this.slice(w,I),st=d.slice(f,m),Le=0;Le<fe;++Le)if(Ee[Le]!==st[Le]){N=Ee[Le],W=st[Le];break}return N<W?-1:W<N?1:0},M.prototype.includes=function(d,f,m){return-1!==this.indexOf(d,f,m)},M.prototype.indexOf=function(d,f,m){return mr(this,d,f,m,!0)},M.prototype.lastIndexOf=function(d,f,m){return mr(this,d,f,m,!1)},M.prototype.write=function(d,f,m,w){if(void 0===f)w="utf8",m=this.length,f=0;else if(void 0===m&&"string"==typeof f)w=f,m=this.length,f=0;else{if(!isFinite(f))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");f>>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return Di(this,d,f,m);case"utf8":case"utf-8":return mo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return ns(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function is(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(127&p[w]);return m}function rs(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(p[w]);return m}function yo(p,d,f){var m=p.length;(!d||d<0)&&(d=0),(!f||f<0||f>m)&&(f=m);for(var w="",I=d;I<f;++I)w+=E[p[I]];return w}function ss(p,d,f){for(var m=p.slice(d,f),w="",I=0;I<m.length-1;I+=2)w+=String.fromCharCode(m[I]+256*m[I+1]);return w}function ne(p,d,f){if(p%1!=0||p<0)throw new RangeError("offset is not uint");if(p+d>f)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||d<I)throw new RangeError('"value" argument is out of bounds');if(f+m>p.length)throw new RangeError("Index out of range")}function os(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||os(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ht(p,d,f,m,w){return d=+d,f>>>=0,w||os(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f<d&&(f=d);var w=this.subarray(d,f);return Object.setPrototypeOf(w,M.prototype),w},M.prototype.readUintLE=M.prototype.readUIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w},M.prototype.readUintBE=M.prototype.readUIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ne(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ne(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ne(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ne(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ne(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w>=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ne(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ne(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ne(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ne(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ne(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ne(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ne(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ne(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ne(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ne(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,W=0;for(this[f]=255&d;++W<m&&(N*=256);)this[f+W]=d/N&255;return f+m},M.prototype.writeUintBE=M.prototype.writeUIntBE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,W=1;for(this[f+N]=255&d;--N>=0&&(W*=256);)this[f+N]=d/W&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,W=1,fe=0;for(this[f]=255&d;++N<m&&(W*=256);)d<0&&0===fe&&0!==this[f+N-1]&&(fe=1),this[f+N]=(d/W>>0)-fe&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,W=1,fe=0;for(this[f+N]=255&d;--N>=0&&(W*=256);)d<0&&0===fe&&0!==this[f+N+1]&&(fe=1),this[f+N]=(d/W>>0)-fe&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ht(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ht(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w<m&&(w=m),w===m||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(m<0||m>=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f<w-m&&(w=d.length-f+m);var I=w-m;return this===d&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(f,m,w):Uint8Array.prototype.set.call(d,this.subarray(m,w),f),I},M.prototype.fill=function(d,f,m,w){if("string"==typeof d){if("string"==typeof f?(w=f,f=0,m=this.length):"string"==typeof m&&(w=m,m=this.length),void 0!==w&&"string"!=typeof w)throw new TypeError("encoding must be a string");if("string"==typeof w&&!M.isEncoding(w))throw new TypeError("Unknown encoding: "+w);if(1===d.length){var I=d.charCodeAt(0);("utf8"===w&&I<128||"latin1"===w)&&(d=I)}}else"number"==typeof d?d&=255:"boolean"==typeof d&&(d=Number(d));if(f<0||this.length<f||this.length<m)throw new RangeError("Out of range index");if(m<=f)return this;var N;if(f>>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N<m;++N)this[N]=d;else{var W=M.isBuffer(d)?d:M.from(d,w),fe=W.length;if(0===fe)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(N=0;N<m-f;++N)this[N+f]=W[N%fe]}return this};var as=/[^+/0-9A-Za-z-_]/g;function Zi(p,d){d=d||1/0;for(var f,m=p.length,w=null,I=[],N=0;N<m;++N){if((f=p.charCodeAt(N))>55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ut.toByteArray(function Ft(p){if((p=(p=p.split("=")[0]).trim().replace(as,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w<m&&!(w+f>=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(yi,qt)=>{qt.read=function(Be,H,ut,Je,ke){var ue,ye,Ve=8*ke-Je-1,M=(1<<Ve)-1,dt=M>>1,He=-7,ft=ut?ke-1:0,wt=ut?-1:1,Z=Be[H+ft];for(ft+=wt,ue=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;ue=256*ue+Be[H+ft],ft+=wt,He-=8);for(ye=ue&(1<<-He)-1,ue>>=-He,He+=Je;He>0;ye=256*ye+Be[H+ft],ft+=wt,He-=8);if(0===ue)ue=1-dt;else{if(ue===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),ue-=dt}return(Z?-1:1)*ye*Math.pow(2,ue-Je)},qt.write=function(Be,H,ut,Je,ke,ue){var ye,Ve,M,dt=8*ue-ke-1,He=(1<<dt)-1,ft=He>>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:ue-1,le=Je?1:-1,be=H<0||0===H&&1/H<0?1:0;for(H=Math.abs(H),isNaN(H)||H===1/0?(Ve=isNaN(H)?1:0,ye=He):(ye=Math.floor(Math.log(H)/Math.LN2),H*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),(H+=ye+ft>=1?wt/M:wt*Math.pow(2,1-ft))*M>=2&&(ye++,M/=2),ye+ft>=He?(Ve=0,ye=He):ye+ft>=1?(Ve=(H*M-1)*Math.pow(2,ke),ye+=ft):(Ve=H*Math.pow(2,ft-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ut+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<<ke|Ve,dt+=ke;dt>0;Be[ut+Z]=255&ye,Z+=le,ye/=256,dt-=8);Be[ut+Z-le]|=128*be}},614:()=>{"use strict";const yi=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d<S.length;d++)p+=E[d-1]+tn(S[d],S.raw[d]);return p},Qi=":";function tn(S,E){return E.charAt(0)===Qi?S.substring(function ss(S,E){for(let p=1,d=1;p<S.length;p++,d++)if("\\"===E[d])d++;else if(S[p]===yi)return p;throw new Error(`Unterminated $localize metadata block in "${E}".`)}(S,E)+1):S}globalThis.$localize=Ji}},yi=>{var qt=H=>yi(yi.s=H);qt(614),qt(189)}]);
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.26316270d5c34064.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.26316270d5c34064.js
new file mode 100644
index 00000000..c3449ee1
--- /dev/null
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.26316270d5c34064.js
@@ -0,0 +1,1 @@
+"use strict";(self.webpackChunkClinguinAngular=self.webpackChunkClinguinAngular||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function s(j){n&&n.mark&&n.mark(j)}function r(j,h){n&&n.measure&&n.measure(j,h)}s("Zone");const i=e.__Zone_symbol_prefix||"__zone_symbol__";function l(j){return i+j}const p=!0===e[l("forceDuplicateZoneCheck")];if(e.Zone){if(p||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let E=(()=>{class h{static assertZonePatched(){if(e.Promise!==oe.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=h.current;for(;t.parent;)t=t.parent;return t}static get current(){return W.zone}static get currentTask(){return re}static __load_patch(t,_,w=!1){if(oe.hasOwnProperty(t)){if(!w&&p)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const L="Zone:"+t;s(L),oe[t]=_(e,h,Y),r(L,L)}}get parent(){return this._parent}get name(){return this._name}constructor(t,_){this._parent=t,this._name=_?_.name||"unnamed":"<root>",this._properties=_&&_.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,_)}get(t){const _=this.getZoneWith(t);if(_)return _._properties[t]}getZoneWith(t){let _=this;for(;_;){if(_._properties.hasOwnProperty(t))return _;_=_._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,_){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const w=this._zoneDelegate.intercept(this,t,_),L=this;return function(){return L.runGuarded(w,this,arguments,_)}}run(t,_,w,L){W={parent:W,zone:this};try{return this._zoneDelegate.invoke(this,t,_,w,L)}finally{W=W.parent}}runGuarded(t,_=null,w,L){W={parent:W,zone:this};try{try{return this._zoneDelegate.invoke(this,t,_,w,L)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{W=W.parent}}runTask(t,_,w){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===G&&(t.type===Q||t.type===P))return;const L=t.state!=y;L&&t._transitionTo(y,A),t.runCount++;const a=re;re=t,W={parent:W,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,_,w)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{t.state!==G&&t.state!==d&&(t.type==Q||t.data&&t.data.isPeriodic?L&&t._transitionTo(A,y):(t.runCount=0,this._updateTaskCount(t,-1),L&&t._transitionTo(G,y,G))),W=W.parent,re=a}}scheduleTask(t){if(t.zone&&t.zone!==this){let w=this;for(;w;){if(w===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);w=w.parent}}t._transitionTo(z,G);const _=[];t._zoneDelegates=_,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(w){throw t._transitionTo(d,z,G),this._zoneDelegate.handleError(this,w),w}return t._zoneDelegates===_&&this._updateTaskCount(t,1),t.state==z&&t._transitionTo(A,z),t}scheduleMicroTask(t,_,w,L){return this.scheduleTask(new m(I,t,_,w,L,void 0))}scheduleMacroTask(t,_,w,L,a){return this.scheduleTask(new m(P,t,_,w,L,a))}scheduleEventTask(t,_,w,L,a){return this.scheduleTask(new m(Q,t,_,w,L,a))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===y){t._transitionTo(V,A,y);try{this._zoneDelegate.cancelTask(this,t)}catch(_){throw t._transitionTo(d,V),this._zoneDelegate.handleError(this,_),_}return this._updateTaskCount(t,-1),t._transitionTo(G,V),t.runCount=0,t}}_updateTaskCount(t,_){const w=t._zoneDelegates;-1==_&&(t._zoneDelegates=null);for(let L=0;L<w.length;L++)w[L]._updateTaskCount(t.type,_)}}return h.__symbol__=l,h})();const b={name:"",onHasTask:(j,h,c,t)=>j.hasTask(c,t),onScheduleTask:(j,h,c,t)=>j.scheduleTask(c,t),onInvokeTask:(j,h,c,t,_,w)=>j.invokeTask(c,t,_,w),onCancelTask:(j,h,c,t)=>j.cancelTask(c,t)};class v{constructor(h,c,t){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=h,this._parentDelegate=c,this._forkZS=t&&(t&&t.onFork?t:c._forkZS),this._forkDlgt=t&&(t.onFork?c:c._forkDlgt),this._forkCurrZone=t&&(t.onFork?this.zone:c._forkCurrZone),this._interceptZS=t&&(t.onIntercept?t:c._interceptZS),this._interceptDlgt=t&&(t.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=t&&(t.onIntercept?this.zone:c._interceptCurrZone),this._invokeZS=t&&(t.onInvoke?t:c._invokeZS),this._invokeDlgt=t&&(t.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=t&&(t.onInvoke?this.zone:c._invokeCurrZone),this._handleErrorZS=t&&(t.onHandleError?t:c._handleErrorZS),this._handleErrorDlgt=t&&(t.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=t&&(t.onHandleError?this.zone:c._handleErrorCurrZone),this._scheduleTaskZS=t&&(t.onScheduleTask?t:c._scheduleTaskZS),this._scheduleTaskDlgt=t&&(t.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=t&&(t.onScheduleTask?this.zone:c._scheduleTaskCurrZone),this._invokeTaskZS=t&&(t.onInvokeTask?t:c._invokeTaskZS),this._invokeTaskDlgt=t&&(t.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=t&&(t.onInvokeTask?this.zone:c._invokeTaskCurrZone),this._cancelTaskZS=t&&(t.onCancelTask?t:c._cancelTaskZS),this._cancelTaskDlgt=t&&(t.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=t&&(t.onCancelTask?this.zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const _=t&&t.onHasTask;(_||c&&c._hasTaskZS)&&(this._hasTaskZS=_?t:b,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=h,t.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this.zone),t.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this.zone),t.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this.zone))}fork(h,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,h,c):new E(h,c)}intercept(h,c,t){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,h,c,t):c}invoke(h,c,t,_,w){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,h,c,t,_,w):c.apply(t,_)}handleError(h,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,h,c)}scheduleTask(h,c){let t=c;if(this._scheduleTaskZS)this._hasTaskZS&&t._zoneDelegates.push(this._hasTaskDlgtOwner),t=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,h,c),t||(t=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=I)throw new Error("Task is missing scheduleFn.");C(c)}return t}invokeTask(h,c,t,_){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,h,c,t,_):c.callback.apply(t,_)}cancelTask(h,c){let t;if(this._cancelTaskZS)t=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,h,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");t=c.cancelFn(c)}return t}hasTask(h,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,h,c)}catch(t){this.handleError(h,t)}}_updateTaskCount(h,c){const t=this._taskCounts,_=t[h],w=t[h]=_+c;if(w<0)throw new Error("More tasks executed then were scheduled.");0!=_&&0!=w||this.hasTask(this.zone,{microTask:t.microTask>0,macroTask:t.macroTask>0,eventTask:t.eventTask>0,change:h})}}class m{constructor(h,c,t,_,w,L){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=h,this.source=c,this.data=_,this.scheduleFn=w,this.cancelFn=L,!t)throw new Error("callback is not defined");this.callback=t;const a=this;this.invoke=h===Q&&_&&_.useG?m.invokeTask:function(){return m.invokeTask.call(e,a,this,arguments)}}static invokeTask(h,c,t){h||(h=this),ee++;try{return h.runCount++,h.zone.runTask(h,c,t)}finally{1==ee&&T(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(G,z)}_transitionTo(h,c,t){if(this._state!==c&&this._state!==t)throw new Error(`${this.type} '${this.source}': can not transition to '${h}', expecting state '${c}'${t?" or '"+t+"'":""}, was '${this._state}'.`);this._state=h,h==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 M=l("setTimeout"),O=l("Promise"),N=l("then");let K,U=[],x=!1;function X(j){if(K||e[O]&&(K=e[O].resolve(0)),K){let h=K[N];h||(h=K.then),h.call(K,j)}else e[M](j,0)}function C(j){0===ee&&0===U.length&&X(T),j&&U.push(j)}function T(){if(!x){for(x=!0;U.length;){const j=U;U=[];for(let h=0;h<j.length;h++){const c=j[h];try{c.zone.runTask(c,null,null)}catch(t){Y.onUnhandledError(t)}}}Y.microtaskDrainDone(),x=!1}}const J={name:"NO ZONE"},G="notScheduled",z="scheduling",A="scheduled",y="running",V="canceling",d="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},Y={symbol:l,currentZoneFrame:()=>W,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:C,showUncaughtError:()=>!E[l("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:X};let W={parent:null,zone:new E(null,null)},re=null,ee=0;function q(){}r("Zone","Zone"),e.Zone=E}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,s,r,i){return Zone.current.scheduleMacroTask(e,n,s,r,i)}const H=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,$=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let s=e.length-1;s>=0;s--)"function"==typeof e[s]&&(e[s]=Ie(e[s],n+"_"+s));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||$.event))return;let n=we[e.type];n||(n=we[e.type]=H("ON_PROPERTY"+e.type));const s=this||e.target||$,r=s[n];let i;return Ae&&s===_e&&"error"===e.type?(i=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=r&&r.apply(this,arguments),null!=i&&!i&&e.preventDefault()),i};function We(e,n,s){let r=ue(e,n);if(!r&&s&&ue(s,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const i=H("on"+n+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete r.writable,delete r.value;const l=r.get,p=r.set,E=n.slice(2);let b=we[E];b||(b=we[E]=H("ON_PROPERTY"+E)),r.set=function(v){let m=this;!m&&e===$&&(m=$),m&&("function"==typeof m[b]&&m.removeEventListener(E,Ue),p&&p.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(E,Ue,!1))},r.get=function(){let v=this;if(!v&&e===$&&(v=$),!v)return null;const m=v[b];if(m)return m;if(l){let M=l.call(this);if(M)return r.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,r),e[i]=!0}function qe(e,n,s){if(n)for(let r=0;r<n.length;r++)We(e,"on"+n[r],s);else{const r=[];for(const i in e)"on"==i.slice(0,2)&&r.push(i);for(let i=0;i<r.length;i++)We(e,r[i],s)}}const ne=H("originalInstance");function ge(e){const n=$[e];if(!n)return;$[H(e)]=n,$[e]=function(){const i=Le(arguments,e);switch(i.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(i[0]);break;case 2:this[ne]=new n(i[0],i[1]);break;case 3:this[ne]=new n(i[0],i[1],i[2]);break;case 4:this[ne]=new n(i[0],i[1],i[2],i[3]);break;default:throw new Error("Arg list too long.")}},le($[e],n);const s=new n(function(){});let r;for(r in s)"XMLHttpRequest"===e&&"responseBlob"===r||function(i){"function"==typeof s[i]?$[e].prototype[i]=function(){return this[ne][i].apply(this[ne],arguments)}:pe($[e].prototype,i,{set:function(l){"function"==typeof l?(this[ne][i]=Ie(l,e+"."+i),le(this[ne][i],l)):this[ne][i]=l},get:function(){return this[ne][i]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&($[e][r]=n[r])}function ae(e,n,s){let r=e;for(;r&&!r.hasOwnProperty(n);)r=ve(r);!r&&e[n]&&(r=e);const i=H(n);let l=null;if(r&&(!(l=r[i])||!r.hasOwnProperty(i))&&(l=r[i]=r[n],Ve(r&&ue(r,n)))){const E=s(l,i,n);r[n]=function(){return E(this,arguments)},le(r[n],l)}return l}function lt(e,n,s){let r=null;function i(l){const p=l.data;return p.args[p.cbIdx]=function(){l.invoke.apply(this,arguments)},r.apply(p.target,p.args),l}r=ae(e,n,l=>function(p,E){const b=s(p,E);return b.cbIdx>=0&&"function"==typeof E[b.cbIdx]?Me(b.name,E[b.cbIdx],b,i):l.apply(p,E)})}function le(e,n){e[H("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,s)=>{const r=Object.getOwnPropertyDescriptor,i=Object.defineProperty,p=s.symbol,E=[],b=!0===e[p("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=p("Promise"),m=p("then"),M="__creationTrace__";s.onUnhandledError=a=>{if(s.showUncaughtError()){const u=a&&a.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",a.zone.name,"; Task:",a.task&&a.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(a)}},s.microtaskDrainDone=()=>{for(;E.length;){const a=E.shift();try{a.zone.runGuarded(()=>{throw a.throwOriginal?a.rejection:a})}catch(u){N(u)}}};const O=p("unhandledPromiseRejectionHandler");function N(a){s.onUnhandledError(a);try{const u=n[O];"function"==typeof u&&u.call(this,a)}catch{}}function U(a){return a&&a.then}function x(a){return a}function K(a){return c.reject(a)}const X=p("state"),C=p("value"),T=p("finally"),J=p("parentPromiseValue"),G=p("parentPromiseState"),z="Promise.then",A=null,y=!0,V=!1,d=0;function I(a,u){return o=>{try{Y(a,u,o)}catch(f){Y(a,!1,f)}}}const P=function(){let a=!1;return function(o){return function(){a||(a=!0,o.apply(null,arguments))}}},Q="Promise resolved with itself",oe=p("currentTaskTrace");function Y(a,u,o){const f=P();if(a===o)throw new TypeError(Q);if(a[X]===A){let k=null;try{("object"==typeof o||"function"==typeof o)&&(k=o&&o.then)}catch(R){return f(()=>{Y(a,!1,R)})(),a}if(u!==V&&o instanceof c&&o.hasOwnProperty(X)&&o.hasOwnProperty(C)&&o[X]!==A)re(o),Y(a,o[X],o[C]);else if(u!==V&&"function"==typeof k)try{k.call(o,f(I(a,u)),f(I(a,!1)))}catch(R){f(()=>{Y(a,!1,R)})()}else{a[X]=u;const R=a[C];if(a[C]=o,a[T]===T&&u===y&&(a[X]=a[G],a[C]=a[J]),u===V&&o instanceof Error){const g=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];g&&i(o,oe,{configurable:!0,enumerable:!1,writable:!0,value:g})}for(let g=0;g<R.length;)ee(a,R[g++],R[g++],R[g++],R[g++]);if(0==R.length&&u==V){a[X]=d;let g=o;try{throw new Error("Uncaught (in promise): "+function l(a){return a&&a.toString===Object.prototype.toString?(a.constructor&&a.constructor.name||"")+": "+JSON.stringify(a):a?a.toString():Object.prototype.toString.call(a)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(S){g=S}b&&(g.throwOriginal=!0),g.rejection=o,g.promise=a,g.zone=n.current,g.task=n.currentTask,E.push(g),s.scheduleMicroTask()}}}return a}const W=p("rejectionHandledHandler");function re(a){if(a[X]===d){try{const u=n[W];u&&"function"==typeof u&&u.call(this,{rejection:a[C],promise:a})}catch{}a[X]=V;for(let u=0;u<E.length;u++)a===E[u].promise&&E.splice(u,1)}}function ee(a,u,o,f,k){re(a);const R=a[X],g=R?"function"==typeof f?f:x:"function"==typeof k?k:K;u.scheduleMicroTask(z,()=>{try{const S=a[C],Z=!!o&&T===o[T];Z&&(o[J]=S,o[G]=R);const D=u.run(g,void 0,Z&&g!==K&&g!==x?[]:[S]);Y(o,!0,D)}catch(S){Y(o,!1,S)}},o)}const j=function(){},h=e.AggregateError;class c{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return Y(new this(null),y,u)}static reject(u){return Y(new this(null),V,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new h([],"All promises were rejected"));const o=[];let f=0;try{for(let g of u)f++,o.push(c.resolve(g))}catch{return Promise.reject(new h([],"All promises were rejected"))}if(0===f)return Promise.reject(new h([],"All promises were rejected"));let k=!1;const R=[];return new c((g,S)=>{for(let Z=0;Z<o.length;Z++)o[Z].then(D=>{k||(k=!0,g(D))},D=>{R.push(D),f--,0===f&&(k=!0,S(new h(R,"All promises were rejected")))})})}static race(u){let o,f,k=new this((S,Z)=>{o=S,f=Z});function R(S){o(S)}function g(S){f(S)}for(let S of u)U(S)||(S=this.resolve(S)),S.then(R,g);return k}static all(u){return c.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof c?this:c).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,o){let f,k,R=new this((D,F)=>{f=D,k=F}),g=2,S=0;const Z=[];for(let D of u){U(D)||(D=this.resolve(D));const F=S;try{D.then(B=>{Z[F]=o?o.thenCallback(B):B,g--,0===g&&f(Z)},B=>{o?(Z[F]=o.errorCallback(B),g--,0===g&&f(Z)):k(B)})}catch(B){k(B)}g++,S++}return g-=2,0===g&&f(Z),R}constructor(u){const o=this;if(!(o instanceof c))throw new Error("Must be an instanceof Promise.");o[X]=A,o[C]=[];try{const f=P();u&&u(f(I(o,y)),f(I(o,V)))}catch(f){Y(o,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return c}then(u,o){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||c);const k=new f(j),R=n.current;return this[X]==A?this[C].push(R,k,u,o):ee(this,R,k,u,o),k}catch(u){return this.then(null,u)}finally(u){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=c);const f=new o(j);f[T]=T;const k=n.current;return this[X]==A?this[C].push(k,f,u,u):ee(this,k,f,u,u),f}}c.resolve=c.resolve,c.reject=c.reject,c.race=c.race,c.all=c.all;const t=e[v]=e.Promise;e.Promise=c;const _=p("thenPatched");function w(a){const u=a.prototype,o=r(u,"then");if(o&&(!1===o.writable||!o.configurable))return;const f=u.then;u[m]=f,a.prototype.then=function(k,R){return new c((S,Z)=>{f.call(this,S,Z)}).then(k,R)},a[_]=!0}return s.patchThen=w,t&&(w(t),ae(e,"fetch",a=>function L(a){return function(u,o){let f=a.apply(u,o);if(f instanceof c)return f;let k=f.constructor;return k[_]||w(k),f}}(a))),Promise[n.__symbol__("uncaughtPromiseErrors")]=E,c}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,s=H("OriginalDelegate"),r=H("Promise"),i=H("Error"),l=function(){if("function"==typeof this){const v=this[s];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[i];if(m)return n.call(m)}}return n.call(this)};l[s]=n,Function.prototype.toString=l;const p=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":p.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=H("propagationStopped");function Je(e,n){const s=(n?n(e):e)+ce,r=(n?n(e):e)+ie,i=me+s,l=me+r;te[e]={},te[e][ce]=i,te[e][ie]=l}function dt(e,n,s,r){const i=r&&r.add||Ze,l=r&&r.rm||De,p=r&&r.listeners||"eventListeners",E=r&&r.rmAll||"removeAllListeners",b=H(i),v="."+i+":",m="prependListener",M="."+m+":",O=function(C,T,J){if(C.isRemoved)return;const G=C.callback;let z;"object"==typeof G&&G.handleEvent&&(C.callback=y=>G.handleEvent(y),C.originalDelegate=G);try{C.invoke(C,T,[J])}catch(y){z=y}const A=C.options;return A&&"object"==typeof A&&A.once&&T[l].call(T,J.type,C.originalDelegate?C.originalDelegate:C.callback,A),z};function N(C,T,J){if(!(T=T||e.event))return;const G=C||T.target||e,z=G[te[T.type][J?ie:ce]];if(z){const A=[];if(1===z.length){const y=O(z[0],G,T);y&&A.push(y)}else{const y=z.slice();for(let V=0;V<y.length&&(!T||!0!==T[$e]);V++){const d=O(y[V],G,T);d&&A.push(d)}}if(1===A.length)throw A[0];for(let y=0;y<A.length;y++){const V=A[y];n.nativeScheduleMicroTask(()=>{throw V})}}}const U=function(C){return N(this,C,!1)},x=function(C){return N(this,C,!0)};function K(C,T){if(!C)return!1;let J=!0;T&&void 0!==T.useG&&(J=T.useG);const G=T&&T.vh;let z=!0;T&&void 0!==T.chkDup&&(z=T.chkDup);let A=!1;T&&void 0!==T.rt&&(A=T.rt);let y=C;for(;y&&!y.hasOwnProperty(i);)y=ve(y);if(!y&&C[i]&&(y=C),!y||y[b])return!1;const V=T&&T.eventNameToString,d={},I=y[b]=y[i],P=y[H(l)]=y[l],Q=y[H(p)]=y[p],oe=y[H(E)]=y[E];let Y;T&&T.prepend&&(Y=y[H(T.prepend)]=y[T.prepend]);const c=J?function(o){if(!d.isExisting)return I.call(d.target,d.eventName,d.capture?x:U,d.options)}:function(o){return I.call(d.target,d.eventName,o.invoke,d.options)},t=J?function(o){if(!o.isRemoved){const f=te[o.eventName];let k;f&&(k=f[o.capture?ie:ce]);const R=k&&o.target[k];if(R)for(let g=0;g<R.length;g++)if(R[g]===o){R.splice(g,1),o.isRemoved=!0,0===R.length&&(o.allRemoved=!0,o.target[k]=null);break}}if(o.allRemoved)return P.call(o.target,o.eventName,o.capture?x:U,o.options)}:function(o){return P.call(o.target,o.eventName,o.invoke,o.options)},w=T&&T.diff?T.diff:function(o,f){const k=typeof f;return"function"===k&&o.callback===f||"object"===k&&o.originalDelegate===f},L=Zone[H("UNPATCHED_EVENTS")],a=e[H("PASSIVE_EVENTS")],u=function(o,f,k,R,g=!1,S=!1){return function(){const Z=this||e;let D=arguments[0];T&&T.transferEventName&&(D=T.transferEventName(D));let F=arguments[1];if(!F)return o.apply(this,arguments);if(Pe&&"uncaughtException"===D)return o.apply(this,arguments);let B=!1;if("function"!=typeof F){if(!F.handleEvent)return o.apply(this,arguments);B=!0}if(G&&!G(o,F,Z,arguments))return;const fe=Ee&&!!a&&-1!==a.indexOf(D),se=function W(o,f){return!Ee&&"object"==typeof o&&o?!!o.capture:Ee&&f?"boolean"==typeof o?{capture:o,passive:!0}:o?"object"==typeof o&&!1!==o.passive?{...o,passive:!0}:o:{passive:!0}:o}(arguments[2],fe);if(L)for(let de=0;de<L.length;de++)if(D===L[de])return fe?o.call(Z,D,F,se):o.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),tt=!(!se||"object"!=typeof se)&&se.once,kt=Zone.current;let Ge=te[D];Ge||(Je(D,V),Ge=te[D]);const nt=Ge[xe?ie:ce];let Ce,ye=Z[nt],rt=!1;if(ye){if(rt=!0,z)for(let de=0;de<ye.length;de++)if(w(ye[de],F))return}else ye=Z[nt]=[];const ot=Z.constructor.name,st=ze[ot];st&&(Ce=st[D]),Ce||(Ce=ot+f+(V?V(D):D)),d.options=se,tt&&(d.options.once=!1),d.target=Z,d.capture=xe,d.eventName=D,d.isExisting=rt;const ke=J?ht:void 0;ke&&(ke.taskData=d);const he=kt.scheduleEventTask(Ce,F,ke,k,R);return d.target=null,ke&&(ke.taskData=null),tt&&(se.once=!0),!Ee&&"boolean"==typeof he.options||(he.options=se),he.target=Z,he.capture=xe,he.eventName=D,B&&(he.originalDelegate=F),S?ye.unshift(he):ye.push(he),g?Z:void 0}};return y[i]=u(I,v,c,t,A),Y&&(y[m]=u(Y,M,function(o){return Y.call(d.target,d.eventName,o.invoke,d.options)},t,A,!0)),y[l]=function(){const o=this||e;let f=arguments[0];T&&T.transferEventName&&(f=T.transferEventName(f));const k=arguments[2],R=!!k&&("boolean"==typeof k||k.capture),g=arguments[1];if(!g)return P.apply(this,arguments);if(G&&!G(P,g,o,arguments))return;const S=te[f];let Z;S&&(Z=S[R?ie:ce]);const D=Z&&o[Z];if(D)for(let F=0;F<D.length;F++){const B=D[F];if(w(B,g))return D.splice(F,1),B.isRemoved=!0,0===D.length&&(B.allRemoved=!0,o[Z]=null,"string"==typeof f)&&(o[me+"ON_PROPERTY"+f]=null),B.zone.cancelTask(B),A?o:void 0}return P.apply(this,arguments)},y[p]=function(){const o=this||e;let f=arguments[0];T&&T.transferEventName&&(f=T.transferEventName(f));const k=[],R=Ke(o,V?V(f):f);for(let g=0;g<R.length;g++){const S=R[g];k.push(S.originalDelegate?S.originalDelegate:S.callback)}return k},y[E]=function(){const o=this||e;let f=arguments[0];if(f){T&&T.transferEventName&&(f=T.transferEventName(f));const k=te[f];if(k){const S=o[k[ce]],Z=o[k[ie]];if(S){const D=S.slice();for(let F=0;F<D.length;F++){const B=D[F];this[l].call(this,f,B.originalDelegate?B.originalDelegate:B.callback,B.options)}}if(Z){const D=Z.slice();for(let F=0;F<D.length;F++){const B=D[F];this[l].call(this,f,B.originalDelegate?B.originalDelegate:B.callback,B.options)}}}}else{const k=Object.keys(o);for(let R=0;R<k.length;R++){const S=Ye.exec(k[R]);let Z=S&&S[1];Z&&"removeListener"!==Z&&this[E].call(this,Z)}this[E].call(this,"removeListener")}if(A)return this},le(y[i],I),le(y[l],P),oe&&le(y[E],oe),Q&&le(y[p],Q),!0}let X=[];for(let C=0;C<s.length;C++)X[C]=K(s[C],r);return X}function Ke(e,n){if(!n){const l=[];for(let p in e){const E=Ye.exec(p);let b=E&&E[1];if(b&&(!n||b===n)){const v=e[p];if(v)for(let m=0;m<v.length;m++)l.push(v[m])}}return l}let s=te[n];s||(Je(n),s=te[n]);const r=e[s[ce]],i=e[s[ie]];return r?i?r.concat(i):r.slice():i?i.slice():[]}function _t(e,n){const s=e.Event;s&&s.prototype&&n.patchMethod(s.prototype,"stopImmediatePropagation",r=>function(i,l){i[$e]=!0,r&&r.apply(i,l)})}function Et(e,n,s,r,i){const l=Zone.__symbol__(r);if(n[l])return;const p=n[l]=n[r];n[r]=function(E,b,v){return b&&b.prototype&&i.forEach(function(m){const M=`${s}.${r}::`+m,O=b.prototype;try{if(O.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(O,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,m,N)):O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}else O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}catch{}}),p.call(n,E,b,v)},e.attachOriginToPatched(n[r],p)}function Qe(e,n,s){if(!s||0===s.length)return n;const r=s.filter(l=>l.target===e);if(!r||0===r.length)return n;const i=r[0].ignoreProperties;return n.filter(l=>-1===i.indexOf(l))}function et(e,n,s,r){e&&qe(e,Qe(e,n,s),r)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,s)=>{const r=He(e);s.patchOnProperties=qe,s.patchMethod=ae,s.bindArguments=Le,s.patchMacroTask=lt;const i=n.__symbol__("BLACK_LISTED_EVENTS"),l=n.__symbol__("UNPATCHED_EVENTS");e[l]&&(e[i]=e[l]),e[i]&&(n[i]=n[l]=e[i]),s.patchEventPrototype=_t,s.patchEventTarget=dt,s.isIEOrEdge=ft,s.ObjectDefineProperty=pe,s.ObjectGetOwnPropertyDescriptor=ue,s.ObjectCreate=Se,s.ArraySlice=it,s.patchClass=ge,s.wrapWithCurrentZone=Ie,s.filterProperties=Qe,s.attachOriginToPatched=le,s._redefineProperty=Object.defineProperty,s.patchCallbacks=Et,s.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:r,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=H("zoneTask");function Te(e,n,s,r){let i=null,l=null;s+=r;const p={};function E(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=i.apply(e,m.args),v}function b(v){return l.call(e,v.data.handleId)}i=ae(e,n+=r,v=>function(m,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete p[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const U=Me(n,M[0],O,E,b);if(!U)return U;const x=U.data.handleId;return"number"==typeof x?p[x]=U:x&&(x[Re]=U),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(U.ref=x.ref.bind(x),U.unref=x.unref.bind(x)),"number"==typeof x||x?x:U}return v.apply(e,M)}),l=ae(e,s,v=>function(m,M){const O=M[0];let N;"number"==typeof O?N=p[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete p[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",s="clear";Te(e,n,s,"Timeout"),Te(e,n,s,"Interval"),Te(e,n,s,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const s=["alert","prompt","confirm"];for(let r=0;r<s.length;r++)ae(e,s[r],(l,p,E)=>function(b,v){return n.current.run(l,e,v,E)})}),Zone.__load_patch("EventTarget",(e,n,s)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,s),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:s,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p}=n.getGlobalObjects();for(let b=0;b<s.length;b++){const v=s[b],O=p+(v+l),N=p+(v+i);r[v]={},r[v][l]=O,r[v][i]=N}const E=e.EventTarget;E&&E.prototype&&n.patchEventTarget(e,n,[E&&E.prototype])}(e,s);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&s.patchEventTarget(e,s,[r.prototype])}),Zone.__load_patch("MutationObserver",(e,n,s)=>{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,s)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,s)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,s)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const s=n.__Zone_ignore_on_properties;let r=[];if(Ae){const i=window;r=r.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const l=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];et(i,He(i),s&&s.concat(l),ve(i))}r=r.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i<r.length;i++){const l=n[r[i]];l&&l.prototype&&et(l.prototype,He(l.prototype),s)}}(s,e)}),Zone.__load_patch("customElements",(e,n,s)=>{!function pt(e,n){const{isBrowser:s,isMix:r}=n.getGlobalObjects();(s||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,s)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const M=m.prototype;let N=M[Oe],U=M[Ne];if(!N){const d=v.XMLHttpRequestEventTarget;if(d){const I=d.prototype;N=I[Oe],U=I[Ne]}}const x="readystatechange",K="scheduled";function X(d){const I=d.data,P=I.target;P[l]=!1,P[E]=!1;const Q=P[i];N||(N=P[Oe],U=P[Ne]),Q&&U.call(P,x,Q);const oe=P[i]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[l]&&d.state===K){const W=P[n.__symbol__("loadfalse")];if(0!==P.status&&W&&W.length>0){const re=d.invoke;d.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let q=0;q<ee.length;q++)ee[q]===d&&ee.splice(q,1);!I.aborted&&d.state===K&&re.call(d)},W.push(d)}else d.invoke()}else!I.aborted&&!1===P[l]&&(P[E]=!0)};return N.call(P,x,oe),P[s]||(P[s]=d),y.apply(P,I.args),P[l]=!0,d}function C(){}function T(d){const I=d.data;return I.aborted=!0,V.apply(I.target,I.args)}const J=ae(M,"open",()=>function(d,I){return d[r]=0==I[2],d[p]=I[1],J.apply(d,I)}),z=H("fetchTaskAborting"),A=H("fetchTaskScheduling"),y=ae(M,"send",()=>function(d,I){if(!0===n.current[A]||d[r])return y.apply(d,I);{const P={target:d,url:d[p],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",C,P,X,T);d&&!0===d[E]&&!P.aborted&&Q.state===K&&Q.invoke()}}),V=ae(M,"abort",()=>function(d,I){const P=function O(d){return d[s]}(d);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[z])return V.apply(d,I)})}(e);const s=H("xhrTask"),r=H("xhrSync"),i=H("xhrListener"),l=H("xhrScheduled"),p=H("xhrURL"),E=H("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const s=e.constructor.name;for(let r=0;r<n.length;r++){const i=n[r],l=e[i];if(l){if(!Ve(ue(e,i)))continue;e[i]=(E=>{const b=function(){return E.apply(this,Le(arguments,s+"."+i))};return le(b,E),b})(l)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function s(r){return function(i){Ke(e,r).forEach(p=>{const E=e.PromiseRejectionEvent;if(E){const b=new E(r,{promise:i.promise,reason:i.rejection});p.invoke(b)}})}}e.PromiseRejectionEvent&&(n[H("unhandledPromiseRejectionHandler")]=s("unhandledrejection"),n[H("rejectionHandledHandler")]=s("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,s)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",s=>function(r,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(e,s)})}},ue=>{ue(ue.s=332)}]);
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js
deleted file mode 100644
index 22c6581f..00000000
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js
+++ /dev/null
@@ -1,1 +0,0 @@
-"use strict";(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function s(j){n&&n.mark&&n.mark(j)}function r(j,h){n&&n.measure&&n.measure(j,h)}s("Zone");const i=e.__Zone_symbol_prefix||"__zone_symbol__";function l(j){return i+j}const p=!0===e[l("forceDuplicateZoneCheck")];if(e.Zone){if(p||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let E=(()=>{class h{static assertZonePatched(){if(e.Promise!==oe.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=h.current;for(;t.parent;)t=t.parent;return t}static get current(){return W.zone}static get currentTask(){return re}static __load_patch(t,_,w=!1){if(oe.hasOwnProperty(t)){if(!w&&p)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const L="Zone:"+t;s(L),oe[t]=_(e,h,Y),r(L,L)}}get parent(){return this._parent}get name(){return this._name}constructor(t,_){this._parent=t,this._name=_?_.name||"unnamed":"<root>",this._properties=_&&_.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,_)}get(t){const _=this.getZoneWith(t);if(_)return _._properties[t]}getZoneWith(t){let _=this;for(;_;){if(_._properties.hasOwnProperty(t))return _;_=_._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,_){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const w=this._zoneDelegate.intercept(this,t,_),L=this;return function(){return L.runGuarded(w,this,arguments,_)}}run(t,_,w,L){W={parent:W,zone:this};try{return this._zoneDelegate.invoke(this,t,_,w,L)}finally{W=W.parent}}runGuarded(t,_=null,w,L){W={parent:W,zone:this};try{try{return this._zoneDelegate.invoke(this,t,_,w,L)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{W=W.parent}}runTask(t,_,w){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===G&&(t.type===Q||t.type===P))return;const L=t.state!=y;L&&t._transitionTo(y,A),t.runCount++;const a=re;re=t,W={parent:W,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,_,w)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{t.state!==G&&t.state!==d&&(t.type==Q||t.data&&t.data.isPeriodic?L&&t._transitionTo(A,y):(t.runCount=0,this._updateTaskCount(t,-1),L&&t._transitionTo(G,y,G))),W=W.parent,re=a}}scheduleTask(t){if(t.zone&&t.zone!==this){let w=this;for(;w;){if(w===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);w=w.parent}}t._transitionTo(z,G);const _=[];t._zoneDelegates=_,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(w){throw t._transitionTo(d,z,G),this._zoneDelegate.handleError(this,w),w}return t._zoneDelegates===_&&this._updateTaskCount(t,1),t.state==z&&t._transitionTo(A,z),t}scheduleMicroTask(t,_,w,L){return this.scheduleTask(new m(I,t,_,w,L,void 0))}scheduleMacroTask(t,_,w,L,a){return this.scheduleTask(new m(P,t,_,w,L,a))}scheduleEventTask(t,_,w,L,a){return this.scheduleTask(new m(Q,t,_,w,L,a))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===y){t._transitionTo(V,A,y);try{this._zoneDelegate.cancelTask(this,t)}catch(_){throw t._transitionTo(d,V),this._zoneDelegate.handleError(this,_),_}return this._updateTaskCount(t,-1),t._transitionTo(G,V),t.runCount=0,t}}_updateTaskCount(t,_){const w=t._zoneDelegates;-1==_&&(t._zoneDelegates=null);for(let L=0;L<w.length;L++)w[L]._updateTaskCount(t.type,_)}}return h.__symbol__=l,h})();const b={name:"",onHasTask:(j,h,c,t)=>j.hasTask(c,t),onScheduleTask:(j,h,c,t)=>j.scheduleTask(c,t),onInvokeTask:(j,h,c,t,_,w)=>j.invokeTask(c,t,_,w),onCancelTask:(j,h,c,t)=>j.cancelTask(c,t)};class v{constructor(h,c,t){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=h,this._parentDelegate=c,this._forkZS=t&&(t&&t.onFork?t:c._forkZS),this._forkDlgt=t&&(t.onFork?c:c._forkDlgt),this._forkCurrZone=t&&(t.onFork?this.zone:c._forkCurrZone),this._interceptZS=t&&(t.onIntercept?t:c._interceptZS),this._interceptDlgt=t&&(t.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=t&&(t.onIntercept?this.zone:c._interceptCurrZone),this._invokeZS=t&&(t.onInvoke?t:c._invokeZS),this._invokeDlgt=t&&(t.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=t&&(t.onInvoke?this.zone:c._invokeCurrZone),this._handleErrorZS=t&&(t.onHandleError?t:c._handleErrorZS),this._handleErrorDlgt=t&&(t.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=t&&(t.onHandleError?this.zone:c._handleErrorCurrZone),this._scheduleTaskZS=t&&(t.onScheduleTask?t:c._scheduleTaskZS),this._scheduleTaskDlgt=t&&(t.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=t&&(t.onScheduleTask?this.zone:c._scheduleTaskCurrZone),this._invokeTaskZS=t&&(t.onInvokeTask?t:c._invokeTaskZS),this._invokeTaskDlgt=t&&(t.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=t&&(t.onInvokeTask?this.zone:c._invokeTaskCurrZone),this._cancelTaskZS=t&&(t.onCancelTask?t:c._cancelTaskZS),this._cancelTaskDlgt=t&&(t.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=t&&(t.onCancelTask?this.zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const _=t&&t.onHasTask;(_||c&&c._hasTaskZS)&&(this._hasTaskZS=_?t:b,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=h,t.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this.zone),t.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this.zone),t.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this.zone))}fork(h,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,h,c):new E(h,c)}intercept(h,c,t){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,h,c,t):c}invoke(h,c,t,_,w){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,h,c,t,_,w):c.apply(t,_)}handleError(h,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,h,c)}scheduleTask(h,c){let t=c;if(this._scheduleTaskZS)this._hasTaskZS&&t._zoneDelegates.push(this._hasTaskDlgtOwner),t=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,h,c),t||(t=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=I)throw new Error("Task is missing scheduleFn.");C(c)}return t}invokeTask(h,c,t,_){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,h,c,t,_):c.callback.apply(t,_)}cancelTask(h,c){let t;if(this._cancelTaskZS)t=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,h,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");t=c.cancelFn(c)}return t}hasTask(h,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,h,c)}catch(t){this.handleError(h,t)}}_updateTaskCount(h,c){const t=this._taskCounts,_=t[h],w=t[h]=_+c;if(w<0)throw new Error("More tasks executed then were scheduled.");0!=_&&0!=w||this.hasTask(this.zone,{microTask:t.microTask>0,macroTask:t.macroTask>0,eventTask:t.eventTask>0,change:h})}}class m{constructor(h,c,t,_,w,L){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=h,this.source=c,this.data=_,this.scheduleFn=w,this.cancelFn=L,!t)throw new Error("callback is not defined");this.callback=t;const a=this;this.invoke=h===Q&&_&&_.useG?m.invokeTask:function(){return m.invokeTask.call(e,a,this,arguments)}}static invokeTask(h,c,t){h||(h=this),ee++;try{return h.runCount++,h.zone.runTask(h,c,t)}finally{1==ee&&T(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(G,z)}_transitionTo(h,c,t){if(this._state!==c&&this._state!==t)throw new Error(`${this.type} '${this.source}': can not transition to '${h}', expecting state '${c}'${t?" or '"+t+"'":""}, was '${this._state}'.`);this._state=h,h==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 M=l("setTimeout"),O=l("Promise"),N=l("then");let K,U=[],x=!1;function X(j){if(K||e[O]&&(K=e[O].resolve(0)),K){let h=K[N];h||(h=K.then),h.call(K,j)}else e[M](j,0)}function C(j){0===ee&&0===U.length&&X(T),j&&U.push(j)}function T(){if(!x){for(x=!0;U.length;){const j=U;U=[];for(let h=0;h<j.length;h++){const c=j[h];try{c.zone.runTask(c,null,null)}catch(t){Y.onUnhandledError(t)}}}Y.microtaskDrainDone(),x=!1}}const J={name:"NO ZONE"},G="notScheduled",z="scheduling",A="scheduled",y="running",V="canceling",d="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},Y={symbol:l,currentZoneFrame:()=>W,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:C,showUncaughtError:()=>!E[l("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:X};let W={parent:null,zone:new E(null,null)},re=null,ee=0;function q(){}r("Zone","Zone"),e.Zone=E}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,s,r,i){return Zone.current.scheduleMacroTask(e,n,s,r,i)}const H=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,$=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let s=e.length-1;s>=0;s--)"function"==typeof e[s]&&(e[s]=Ie(e[s],n+"_"+s));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||$.event))return;let n=we[e.type];n||(n=we[e.type]=H("ON_PROPERTY"+e.type));const s=this||e.target||$,r=s[n];let i;return Ae&&s===_e&&"error"===e.type?(i=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=r&&r.apply(this,arguments),null!=i&&!i&&e.preventDefault()),i};function We(e,n,s){let r=ue(e,n);if(!r&&s&&ue(s,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const i=H("on"+n+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete r.writable,delete r.value;const l=r.get,p=r.set,E=n.slice(2);let b=we[E];b||(b=we[E]=H("ON_PROPERTY"+E)),r.set=function(v){let m=this;!m&&e===$&&(m=$),m&&("function"==typeof m[b]&&m.removeEventListener(E,Ue),p&&p.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(E,Ue,!1))},r.get=function(){let v=this;if(!v&&e===$&&(v=$),!v)return null;const m=v[b];if(m)return m;if(l){let M=l.call(this);if(M)return r.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,r),e[i]=!0}function qe(e,n,s){if(n)for(let r=0;r<n.length;r++)We(e,"on"+n[r],s);else{const r=[];for(const i in e)"on"==i.slice(0,2)&&r.push(i);for(let i=0;i<r.length;i++)We(e,r[i],s)}}const ne=H("originalInstance");function ge(e){const n=$[e];if(!n)return;$[H(e)]=n,$[e]=function(){const i=Le(arguments,e);switch(i.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(i[0]);break;case 2:this[ne]=new n(i[0],i[1]);break;case 3:this[ne]=new n(i[0],i[1],i[2]);break;case 4:this[ne]=new n(i[0],i[1],i[2],i[3]);break;default:throw new Error("Arg list too long.")}},le($[e],n);const s=new n(function(){});let r;for(r in s)"XMLHttpRequest"===e&&"responseBlob"===r||function(i){"function"==typeof s[i]?$[e].prototype[i]=function(){return this[ne][i].apply(this[ne],arguments)}:pe($[e].prototype,i,{set:function(l){"function"==typeof l?(this[ne][i]=Ie(l,e+"."+i),le(this[ne][i],l)):this[ne][i]=l},get:function(){return this[ne][i]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&($[e][r]=n[r])}function ae(e,n,s){let r=e;for(;r&&!r.hasOwnProperty(n);)r=ve(r);!r&&e[n]&&(r=e);const i=H(n);let l=null;if(r&&(!(l=r[i])||!r.hasOwnProperty(i))&&(l=r[i]=r[n],Ve(r&&ue(r,n)))){const E=s(l,i,n);r[n]=function(){return E(this,arguments)},le(r[n],l)}return l}function lt(e,n,s){let r=null;function i(l){const p=l.data;return p.args[p.cbIdx]=function(){l.invoke.apply(this,arguments)},r.apply(p.target,p.args),l}r=ae(e,n,l=>function(p,E){const b=s(p,E);return b.cbIdx>=0&&"function"==typeof E[b.cbIdx]?Me(b.name,E[b.cbIdx],b,i):l.apply(p,E)})}function le(e,n){e[H("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,s)=>{const r=Object.getOwnPropertyDescriptor,i=Object.defineProperty,p=s.symbol,E=[],b=!0===e[p("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=p("Promise"),m=p("then"),M="__creationTrace__";s.onUnhandledError=a=>{if(s.showUncaughtError()){const u=a&&a.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",a.zone.name,"; Task:",a.task&&a.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(a)}},s.microtaskDrainDone=()=>{for(;E.length;){const a=E.shift();try{a.zone.runGuarded(()=>{throw a.throwOriginal?a.rejection:a})}catch(u){N(u)}}};const O=p("unhandledPromiseRejectionHandler");function N(a){s.onUnhandledError(a);try{const u=n[O];"function"==typeof u&&u.call(this,a)}catch{}}function U(a){return a&&a.then}function x(a){return a}function K(a){return c.reject(a)}const X=p("state"),C=p("value"),T=p("finally"),J=p("parentPromiseValue"),G=p("parentPromiseState"),z="Promise.then",A=null,y=!0,V=!1,d=0;function I(a,u){return o=>{try{Y(a,u,o)}catch(f){Y(a,!1,f)}}}const P=function(){let a=!1;return function(o){return function(){a||(a=!0,o.apply(null,arguments))}}},Q="Promise resolved with itself",oe=p("currentTaskTrace");function Y(a,u,o){const f=P();if(a===o)throw new TypeError(Q);if(a[X]===A){let k=null;try{("object"==typeof o||"function"==typeof o)&&(k=o&&o.then)}catch(R){return f(()=>{Y(a,!1,R)})(),a}if(u!==V&&o instanceof c&&o.hasOwnProperty(X)&&o.hasOwnProperty(C)&&o[X]!==A)re(o),Y(a,o[X],o[C]);else if(u!==V&&"function"==typeof k)try{k.call(o,f(I(a,u)),f(I(a,!1)))}catch(R){f(()=>{Y(a,!1,R)})()}else{a[X]=u;const R=a[C];if(a[C]=o,a[T]===T&&u===y&&(a[X]=a[G],a[C]=a[J]),u===V&&o instanceof Error){const g=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];g&&i(o,oe,{configurable:!0,enumerable:!1,writable:!0,value:g})}for(let g=0;g<R.length;)ee(a,R[g++],R[g++],R[g++],R[g++]);if(0==R.length&&u==V){a[X]=d;let g=o;try{throw new Error("Uncaught (in promise): "+function l(a){return a&&a.toString===Object.prototype.toString?(a.constructor&&a.constructor.name||"")+": "+JSON.stringify(a):a?a.toString():Object.prototype.toString.call(a)}(o)+(o&&o.stack?"\n"+o.stack:""))}catch(S){g=S}b&&(g.throwOriginal=!0),g.rejection=o,g.promise=a,g.zone=n.current,g.task=n.currentTask,E.push(g),s.scheduleMicroTask()}}}return a}const W=p("rejectionHandledHandler");function re(a){if(a[X]===d){try{const u=n[W];u&&"function"==typeof u&&u.call(this,{rejection:a[C],promise:a})}catch{}a[X]=V;for(let u=0;u<E.length;u++)a===E[u].promise&&E.splice(u,1)}}function ee(a,u,o,f,k){re(a);const R=a[X],g=R?"function"==typeof f?f:x:"function"==typeof k?k:K;u.scheduleMicroTask(z,()=>{try{const S=a[C],Z=!!o&&T===o[T];Z&&(o[J]=S,o[G]=R);const D=u.run(g,void 0,Z&&g!==K&&g!==x?[]:[S]);Y(o,!0,D)}catch(S){Y(o,!1,S)}},o)}const j=function(){},h=e.AggregateError;class c{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return Y(new this(null),y,u)}static reject(u){return Y(new this(null),V,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new h([],"All promises were rejected"));const o=[];let f=0;try{for(let g of u)f++,o.push(c.resolve(g))}catch{return Promise.reject(new h([],"All promises were rejected"))}if(0===f)return Promise.reject(new h([],"All promises were rejected"));let k=!1;const R=[];return new c((g,S)=>{for(let Z=0;Z<o.length;Z++)o[Z].then(D=>{k||(k=!0,g(D))},D=>{R.push(D),f--,0===f&&(k=!0,S(new h(R,"All promises were rejected")))})})}static race(u){let o,f,k=new this((S,Z)=>{o=S,f=Z});function R(S){o(S)}function g(S){f(S)}for(let S of u)U(S)||(S=this.resolve(S)),S.then(R,g);return k}static all(u){return c.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof c?this:c).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,o){let f,k,R=new this((D,F)=>{f=D,k=F}),g=2,S=0;const Z=[];for(let D of u){U(D)||(D=this.resolve(D));const F=S;try{D.then(B=>{Z[F]=o?o.thenCallback(B):B,g--,0===g&&f(Z)},B=>{o?(Z[F]=o.errorCallback(B),g--,0===g&&f(Z)):k(B)})}catch(B){k(B)}g++,S++}return g-=2,0===g&&f(Z),R}constructor(u){const o=this;if(!(o instanceof c))throw new Error("Must be an instanceof Promise.");o[X]=A,o[C]=[];try{const f=P();u&&u(f(I(o,y)),f(I(o,V)))}catch(f){Y(o,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return c}then(u,o){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||c);const k=new f(j),R=n.current;return this[X]==A?this[C].push(R,k,u,o):ee(this,R,k,u,o),k}catch(u){return this.then(null,u)}finally(u){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=c);const f=new o(j);f[T]=T;const k=n.current;return this[X]==A?this[C].push(k,f,u,u):ee(this,k,f,u,u),f}}c.resolve=c.resolve,c.reject=c.reject,c.race=c.race,c.all=c.all;const t=e[v]=e.Promise;e.Promise=c;const _=p("thenPatched");function w(a){const u=a.prototype,o=r(u,"then");if(o&&(!1===o.writable||!o.configurable))return;const f=u.then;u[m]=f,a.prototype.then=function(k,R){return new c((S,Z)=>{f.call(this,S,Z)}).then(k,R)},a[_]=!0}return s.patchThen=w,t&&(w(t),ae(e,"fetch",a=>function L(a){return function(u,o){let f=a.apply(u,o);if(f instanceof c)return f;let k=f.constructor;return k[_]||w(k),f}}(a))),Promise[n.__symbol__("uncaughtPromiseErrors")]=E,c}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,s=H("OriginalDelegate"),r=H("Promise"),i=H("Error"),l=function(){if("function"==typeof this){const v=this[s];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[i];if(m)return n.call(m)}}return n.call(this)};l[s]=n,Function.prototype.toString=l;const p=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":p.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=H("propagationStopped");function Je(e,n){const s=(n?n(e):e)+ce,r=(n?n(e):e)+ie,i=me+s,l=me+r;te[e]={},te[e][ce]=i,te[e][ie]=l}function dt(e,n,s,r){const i=r&&r.add||Ze,l=r&&r.rm||De,p=r&&r.listeners||"eventListeners",E=r&&r.rmAll||"removeAllListeners",b=H(i),v="."+i+":",m="prependListener",M="."+m+":",O=function(C,T,J){if(C.isRemoved)return;const G=C.callback;let z;"object"==typeof G&&G.handleEvent&&(C.callback=y=>G.handleEvent(y),C.originalDelegate=G);try{C.invoke(C,T,[J])}catch(y){z=y}const A=C.options;return A&&"object"==typeof A&&A.once&&T[l].call(T,J.type,C.originalDelegate?C.originalDelegate:C.callback,A),z};function N(C,T,J){if(!(T=T||e.event))return;const G=C||T.target||e,z=G[te[T.type][J?ie:ce]];if(z){const A=[];if(1===z.length){const y=O(z[0],G,T);y&&A.push(y)}else{const y=z.slice();for(let V=0;V<y.length&&(!T||!0!==T[$e]);V++){const d=O(y[V],G,T);d&&A.push(d)}}if(1===A.length)throw A[0];for(let y=0;y<A.length;y++){const V=A[y];n.nativeScheduleMicroTask(()=>{throw V})}}}const U=function(C){return N(this,C,!1)},x=function(C){return N(this,C,!0)};function K(C,T){if(!C)return!1;let J=!0;T&&void 0!==T.useG&&(J=T.useG);const G=T&&T.vh;let z=!0;T&&void 0!==T.chkDup&&(z=T.chkDup);let A=!1;T&&void 0!==T.rt&&(A=T.rt);let y=C;for(;y&&!y.hasOwnProperty(i);)y=ve(y);if(!y&&C[i]&&(y=C),!y||y[b])return!1;const V=T&&T.eventNameToString,d={},I=y[b]=y[i],P=y[H(l)]=y[l],Q=y[H(p)]=y[p],oe=y[H(E)]=y[E];let Y;T&&T.prepend&&(Y=y[H(T.prepend)]=y[T.prepend]);const c=J?function(o){if(!d.isExisting)return I.call(d.target,d.eventName,d.capture?x:U,d.options)}:function(o){return I.call(d.target,d.eventName,o.invoke,d.options)},t=J?function(o){if(!o.isRemoved){const f=te[o.eventName];let k;f&&(k=f[o.capture?ie:ce]);const R=k&&o.target[k];if(R)for(let g=0;g<R.length;g++)if(R[g]===o){R.splice(g,1),o.isRemoved=!0,0===R.length&&(o.allRemoved=!0,o.target[k]=null);break}}if(o.allRemoved)return P.call(o.target,o.eventName,o.capture?x:U,o.options)}:function(o){return P.call(o.target,o.eventName,o.invoke,o.options)},w=T&&T.diff?T.diff:function(o,f){const k=typeof f;return"function"===k&&o.callback===f||"object"===k&&o.originalDelegate===f},L=Zone[H("UNPATCHED_EVENTS")],a=e[H("PASSIVE_EVENTS")],u=function(o,f,k,R,g=!1,S=!1){return function(){const Z=this||e;let D=arguments[0];T&&T.transferEventName&&(D=T.transferEventName(D));let F=arguments[1];if(!F)return o.apply(this,arguments);if(Pe&&"uncaughtException"===D)return o.apply(this,arguments);let B=!1;if("function"!=typeof F){if(!F.handleEvent)return o.apply(this,arguments);B=!0}if(G&&!G(o,F,Z,arguments))return;const fe=Ee&&!!a&&-1!==a.indexOf(D),se=function W(o,f){return!Ee&&"object"==typeof o&&o?!!o.capture:Ee&&f?"boolean"==typeof o?{capture:o,passive:!0}:o?"object"==typeof o&&!1!==o.passive?{...o,passive:!0}:o:{passive:!0}:o}(arguments[2],fe);if(L)for(let de=0;de<L.length;de++)if(D===L[de])return fe?o.call(Z,D,F,se):o.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),tt=!(!se||"object"!=typeof se)&&se.once,kt=Zone.current;let Ge=te[D];Ge||(Je(D,V),Ge=te[D]);const nt=Ge[xe?ie:ce];let Ce,ye=Z[nt],rt=!1;if(ye){if(rt=!0,z)for(let de=0;de<ye.length;de++)if(w(ye[de],F))return}else ye=Z[nt]=[];const ot=Z.constructor.name,st=ze[ot];st&&(Ce=st[D]),Ce||(Ce=ot+f+(V?V(D):D)),d.options=se,tt&&(d.options.once=!1),d.target=Z,d.capture=xe,d.eventName=D,d.isExisting=rt;const ke=J?ht:void 0;ke&&(ke.taskData=d);const he=kt.scheduleEventTask(Ce,F,ke,k,R);return d.target=null,ke&&(ke.taskData=null),tt&&(se.once=!0),!Ee&&"boolean"==typeof he.options||(he.options=se),he.target=Z,he.capture=xe,he.eventName=D,B&&(he.originalDelegate=F),S?ye.unshift(he):ye.push(he),g?Z:void 0}};return y[i]=u(I,v,c,t,A),Y&&(y[m]=u(Y,M,function(o){return Y.call(d.target,d.eventName,o.invoke,d.options)},t,A,!0)),y[l]=function(){const o=this||e;let f=arguments[0];T&&T.transferEventName&&(f=T.transferEventName(f));const k=arguments[2],R=!!k&&("boolean"==typeof k||k.capture),g=arguments[1];if(!g)return P.apply(this,arguments);if(G&&!G(P,g,o,arguments))return;const S=te[f];let Z;S&&(Z=S[R?ie:ce]);const D=Z&&o[Z];if(D)for(let F=0;F<D.length;F++){const B=D[F];if(w(B,g))return D.splice(F,1),B.isRemoved=!0,0===D.length&&(B.allRemoved=!0,o[Z]=null,"string"==typeof f)&&(o[me+"ON_PROPERTY"+f]=null),B.zone.cancelTask(B),A?o:void 0}return P.apply(this,arguments)},y[p]=function(){const o=this||e;let f=arguments[0];T&&T.transferEventName&&(f=T.transferEventName(f));const k=[],R=Ke(o,V?V(f):f);for(let g=0;g<R.length;g++){const S=R[g];k.push(S.originalDelegate?S.originalDelegate:S.callback)}return k},y[E]=function(){const o=this||e;let f=arguments[0];if(f){T&&T.transferEventName&&(f=T.transferEventName(f));const k=te[f];if(k){const S=o[k[ce]],Z=o[k[ie]];if(S){const D=S.slice();for(let F=0;F<D.length;F++){const B=D[F];this[l].call(this,f,B.originalDelegate?B.originalDelegate:B.callback,B.options)}}if(Z){const D=Z.slice();for(let F=0;F<D.length;F++){const B=D[F];this[l].call(this,f,B.originalDelegate?B.originalDelegate:B.callback,B.options)}}}}else{const k=Object.keys(o);for(let R=0;R<k.length;R++){const S=Ye.exec(k[R]);let Z=S&&S[1];Z&&"removeListener"!==Z&&this[E].call(this,Z)}this[E].call(this,"removeListener")}if(A)return this},le(y[i],I),le(y[l],P),oe&&le(y[E],oe),Q&&le(y[p],Q),!0}let X=[];for(let C=0;C<s.length;C++)X[C]=K(s[C],r);return X}function Ke(e,n){if(!n){const l=[];for(let p in e){const E=Ye.exec(p);let b=E&&E[1];if(b&&(!n||b===n)){const v=e[p];if(v)for(let m=0;m<v.length;m++)l.push(v[m])}}return l}let s=te[n];s||(Je(n),s=te[n]);const r=e[s[ce]],i=e[s[ie]];return r?i?r.concat(i):r.slice():i?i.slice():[]}function _t(e,n){const s=e.Event;s&&s.prototype&&n.patchMethod(s.prototype,"stopImmediatePropagation",r=>function(i,l){i[$e]=!0,r&&r.apply(i,l)})}function Et(e,n,s,r,i){const l=Zone.__symbol__(r);if(n[l])return;const p=n[l]=n[r];n[r]=function(E,b,v){return b&&b.prototype&&i.forEach(function(m){const M=`${s}.${r}::`+m,O=b.prototype;try{if(O.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(O,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,m,N)):O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}else O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}catch{}}),p.call(n,E,b,v)},e.attachOriginToPatched(n[r],p)}function Qe(e,n,s){if(!s||0===s.length)return n;const r=s.filter(l=>l.target===e);if(!r||0===r.length)return n;const i=r[0].ignoreProperties;return n.filter(l=>-1===i.indexOf(l))}function et(e,n,s,r){e&&qe(e,Qe(e,n,s),r)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,s)=>{const r=He(e);s.patchOnProperties=qe,s.patchMethod=ae,s.bindArguments=Le,s.patchMacroTask=lt;const i=n.__symbol__("BLACK_LISTED_EVENTS"),l=n.__symbol__("UNPATCHED_EVENTS");e[l]&&(e[i]=e[l]),e[i]&&(n[i]=n[l]=e[i]),s.patchEventPrototype=_t,s.patchEventTarget=dt,s.isIEOrEdge=ft,s.ObjectDefineProperty=pe,s.ObjectGetOwnPropertyDescriptor=ue,s.ObjectCreate=Se,s.ArraySlice=it,s.patchClass=ge,s.wrapWithCurrentZone=Ie,s.filterProperties=Qe,s.attachOriginToPatched=le,s._redefineProperty=Object.defineProperty,s.patchCallbacks=Et,s.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:r,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=H("zoneTask");function Te(e,n,s,r){let i=null,l=null;s+=r;const p={};function E(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=i.apply(e,m.args),v}function b(v){return l.call(e,v.data.handleId)}i=ae(e,n+=r,v=>function(m,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete p[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const U=Me(n,M[0],O,E,b);if(!U)return U;const x=U.data.handleId;return"number"==typeof x?p[x]=U:x&&(x[Re]=U),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(U.ref=x.ref.bind(x),U.unref=x.unref.bind(x)),"number"==typeof x||x?x:U}return v.apply(e,M)}),l=ae(e,s,v=>function(m,M){const O=M[0];let N;"number"==typeof O?N=p[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete p[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",s="clear";Te(e,n,s,"Timeout"),Te(e,n,s,"Interval"),Te(e,n,s,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const s=["alert","prompt","confirm"];for(let r=0;r<s.length;r++)ae(e,s[r],(l,p,E)=>function(b,v){return n.current.run(l,e,v,E)})}),Zone.__load_patch("EventTarget",(e,n,s)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,s),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:s,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p}=n.getGlobalObjects();for(let b=0;b<s.length;b++){const v=s[b],O=p+(v+l),N=p+(v+i);r[v]={},r[v][l]=O,r[v][i]=N}const E=e.EventTarget;E&&E.prototype&&n.patchEventTarget(e,n,[E&&E.prototype])}(e,s);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&s.patchEventTarget(e,s,[r.prototype])}),Zone.__load_patch("MutationObserver",(e,n,s)=>{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,s)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,s)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,s)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const s=n.__Zone_ignore_on_properties;let r=[];if(Ae){const i=window;r=r.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const l=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];et(i,He(i),s&&s.concat(l),ve(i))}r=r.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i<r.length;i++){const l=n[r[i]];l&&l.prototype&&et(l.prototype,He(l.prototype),s)}}(s,e)}),Zone.__load_patch("customElements",(e,n,s)=>{!function pt(e,n){const{isBrowser:s,isMix:r}=n.getGlobalObjects();(s||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,s)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const M=m.prototype;let N=M[Oe],U=M[Ne];if(!N){const d=v.XMLHttpRequestEventTarget;if(d){const I=d.prototype;N=I[Oe],U=I[Ne]}}const x="readystatechange",K="scheduled";function X(d){const I=d.data,P=I.target;P[l]=!1,P[E]=!1;const Q=P[i];N||(N=P[Oe],U=P[Ne]),Q&&U.call(P,x,Q);const oe=P[i]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[l]&&d.state===K){const W=P[n.__symbol__("loadfalse")];if(0!==P.status&&W&&W.length>0){const re=d.invoke;d.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let q=0;q<ee.length;q++)ee[q]===d&&ee.splice(q,1);!I.aborted&&d.state===K&&re.call(d)},W.push(d)}else d.invoke()}else!I.aborted&&!1===P[l]&&(P[E]=!0)};return N.call(P,x,oe),P[s]||(P[s]=d),y.apply(P,I.args),P[l]=!0,d}function C(){}function T(d){const I=d.data;return I.aborted=!0,V.apply(I.target,I.args)}const J=ae(M,"open",()=>function(d,I){return d[r]=0==I[2],d[p]=I[1],J.apply(d,I)}),z=H("fetchTaskAborting"),A=H("fetchTaskScheduling"),y=ae(M,"send",()=>function(d,I){if(!0===n.current[A]||d[r])return y.apply(d,I);{const P={target:d,url:d[p],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",C,P,X,T);d&&!0===d[E]&&!P.aborted&&Q.state===K&&Q.invoke()}}),V=ae(M,"abort",()=>function(d,I){const P=function O(d){return d[s]}(d);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[z])return V.apply(d,I)})}(e);const s=H("xhrTask"),r=H("xhrSync"),i=H("xhrListener"),l=H("xhrScheduled"),p=H("xhrURL"),E=H("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const s=e.constructor.name;for(let r=0;r<n.length;r++){const i=n[r],l=e[i];if(l){if(!Ve(ue(e,i)))continue;e[i]=(E=>{const b=function(){return E.apply(this,Le(arguments,s+"."+i))};return le(b,E),b})(l)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function s(r){return function(i){Ke(e,r).forEach(p=>{const E=e.PromiseRejectionEvent;if(E){const b=new E(r,{promise:i.promise,reason:i.rejection});p.invoke(b)}})}}e.PromiseRejectionEvent&&(n[H("unhandledPromiseRejectionHandler")]=s("unhandledrejection"),n[H("rejectionHandledHandler")]=s("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,s)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",s=>function(r,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(e,s)})}},ue=>{ue(ue.s=332)}]);
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.496fedc6e58b1167.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.496fedc6e58b1167.js
new file mode 100644
index 00000000..ba9238c1
--- /dev/null
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.496fedc6e58b1167.js
@@ -0,0 +1,1 @@
+(()=>{"use strict";var e,v={},_={};function a(e){var u=_[e];if(void 0!==u)return u.exports;var r=_[e]={exports:{}};return v[e](r,r.exports,a),r.exports}a.m=v,e=[],a.O=(u,r,o,l)=>{if(!r){var s=1/0;for(n=0;n<e.length;n++){for(var[r,o,l]=e[n],c=!0,f=0;f<r.length;f++)(!1&l||s>=l)&&Object.keys(a.O).every(p=>a.O[p](r[f]))?r.splice(f--,1):(c=!1,l<s&&(s=l));if(c){e.splice(n--,1);var i=o();void 0!==i&&(u=i)}}return u}l=l||0;for(var n=e.length;n>0&&e[n-1][2]>l;n--)e[n]=e[n-1];e[n]=[r,o,l]},a.o=(e,u)=>Object.prototype.hasOwnProperty.call(e,u),(()=>{var e={666:0};a.O.j=o=>0===e[o];var u=(o,l)=>{var f,i,[n,s,c]=l,t=0;if(n.some(h=>0!==e[h])){for(f in s)a.o(s,f)&&(a.m[f]=s[f]);if(c)var d=c(a)}for(o&&o(l);t<n.length;t++)a.o(e,i=n[t])&&e[i]&&e[i][0](),e[i]=0;return a.O(d)},r=self.webpackChunkClinguinAngular=self.webpackChunkClinguinAngular||[];r.forEach(u.bind(null,0)),r.push=u.bind(null,r.push.bind(r))})()})();
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.84bc4c0ecf672dbc.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.84bc4c0ecf672dbc.js
deleted file mode 100644
index dc5c07fb..00000000
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/runtime.84bc4c0ecf672dbc.js
+++ /dev/null
@@ -1,1 +0,0 @@
-(()=>{"use strict";var e,v={},h={};function n(e){var f=h[e];if(void 0!==f)return f.exports;var r=h[e]={exports:{}};return v[e](r,r.exports,n),r.exports}n.m=v,e=[],n.O=(f,r,u,l)=>{if(!r){var s=1/0;for(a=0;a<e.length;a++){for(var[r,u,l]=e[a],c=!0,o=0;o<r.length;o++)(!1&l||s>=l)&&Object.keys(n.O).every(d=>n.O[d](r[o]))?r.splice(o--,1):(c=!1,l<s&&(s=l));if(c){e.splice(a--,1);var i=u();void 0!==i&&(f=i)}}return f}l=l||0;for(var a=e.length;a>0&&e[a-1][2]>l;a--)e[a]=e[a-1];e[a]=[r,u,l]},n.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),(()=>{var e={666:0};n.O.j=u=>0===e[u];var f=(u,l)=>{var o,i,[a,s,c]=l,t=0;if(a.some(_=>0!==e[_])){for(o in s)n.o(s,o)&&(n.m[o]=s[o]);if(c)var p=c(n)}for(u&&u(l);t<a.length;t++)n.o(e,i=a[t])&&e[i]&&e[i][0](),e[i]=0;return n.O(p)},r=self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[];r.forEach(f.bind(null,0)),r.push=f.bind(null,r.push.bind(r))})()})();
\ No newline at end of file
diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py
index 864f3f95..ac0e1102 100644
--- a/clinguin/server/application/backends/clingo_backend.py
+++ b/clinguin/server/application/backends/clingo_backend.py
@@ -461,6 +461,7 @@ def _set_external(self, symbol, name):
             symbol (clingo.Symbol): The clingo symbol to be set
             name (str): Either "true", "false" or "release"
         """
+        name = name.strip('"')
         if name == "release":
             self._logger.debug(domctl_log(f"ctl.release_external({symbol})"))
             self._ctl.release_external(symbol)
diff --git a/clinguin/server/application/standard_json_encoder.py b/clinguin/server/application/standard_json_encoder.py
index ba3ece50..16612fce 100644
--- a/clinguin/server/application/standard_json_encoder.py
+++ b/clinguin/server/application/standard_json_encoder.py
@@ -57,6 +57,15 @@ def _generate_hierarchy(cls, ui_state, hierarchy_root, elements_dict):
         for w in ui_state.get_elements():
             elements_info[w.id] = {"parent": w.parent, "type": w.type}
             dependency.append((w.id, w.parent))
+        for w in ui_state.get_elements():
+            if str(w.parent) != "root" and w.parent not in elements_info:
+                msg = "Error in %s. Parent element (ID: %s) undefined."
+                logger.critical(
+                    msg,
+                    str(w),
+                    str(w.parent),
+                )
+                raise Exception(msg % (str(w), str(w.parent)))
 
         directed_graph = nx.DiGraph(dependency)
         order = list(reversed(list(nx.topological_sort(directed_graph))))
@@ -72,14 +81,10 @@ def _generate_hierarchy(cls, ui_state, hierarchy_root, elements_dict):
 
             if element_id not in elements_info:
                 logger.critical(
-                    "The provided element id (ID : %s) could not be found!",
+                    " The ID : '%s' was used as parent in an elem/3 predicate, could not be found!",
                     str(element_id),
                 )
-                raise Exception(
-                    "The provided element id (ID : "
-                    + str(element_id)
-                    + ") could not be found!"
-                )
+                raise Exception(" The ID : " + str(element_id) + " could not be found!")
 
             element_type = elements_info[element_id]["type"]
             parent = elements_info[element_id]["parent"]
diff --git a/clinguin/server/data/clinguin_context.py b/clinguin/server/data/clinguin_context.py
index f38930de..50148e40 100644
--- a/clinguin/server/data/clinguin_context.py
+++ b/clinguin/server/data/clinguin_context.py
@@ -78,6 +78,25 @@ def stringify(self, s, capitalize=False):
             val = val[0].upper() + val[1:]
         return String(val)
 
+    def upper(self, s):
+        """
+        Turns a value into upper case
+
+        Example:
+            .. code-block:: prolog
+
+                attr(s_l(I), label, @upper(semester_1)). # Semester 1
+
+            Label will be `SEMESTER 1`
+
+        Args:
+            s: The value to transform
+        Returns:
+            The string without _
+        """
+        val = str(s).strip('"')
+        return String(val.upper())
+
     def __getattr__(self, name):
         # pylint: disable=import-outside-toplevel
 
diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py
index 4b172878..140a5bf5 100644
--- a/clinguin/server/data/ui_state.py
+++ b/clinguin/server/data/ui_state.py
@@ -116,7 +116,7 @@ def update_ui_state(self):
             raise RuntimeError("UI encoding was UNSATISFIABLE")
         self._factbase = clorm.unify(self.__class__.unifiers, model_symbols)
         # log.debug(uictl_log(". ".join([str(s) for s in model_symbols])))
-        log.debug(uictl_log(self._factbase.asp_str(width=100000, commented=True)))
+        # log.debug(uictl_log(self._factbase.asp_str(width=100000, commented=True)))
 
     def add_message(self, title, message, attribute_type="info"):
         """
diff --git a/docs/clinguin/frontends/AngularFrontend.rst b/docs/clinguin/frontends/AngularFrontend.rst
index 9cd8e9ac..5767bc15 100644
--- a/docs/clinguin/frontends/AngularFrontend.rst
+++ b/docs/clinguin/frontends/AngularFrontend.rst
@@ -52,6 +52,8 @@ The menu bar that appears on top.
 Any button which is a child of this element will be placed as part of the menu.
 Only :ref:`button` elements are allowed as part of the menu bar.
 Corresponds to a limited version of `bootstrap navbar <https://getbootstrap.com/docs/5.0/components/navbar/>`_.
+Menu bar buttons can use the attribute :ref:`Order <Order>`, to set the order of appearance.
+
 
 **Attributes**
 
diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst
index a8910359..fc984095 100644
--- a/docs/clinguin/reference/state.rst
+++ b/docs/clinguin/reference/state.rst
@@ -50,7 +50,14 @@ Actions define the interactivity of the UI.  Multiple actions are allowed, as ex
 
 - ``ID`` Identifier of the element that the user interacted with.
 
-- ``EVENT`` The event that is being triggered, such as ``click``, ``hover``,  ``input``, etc. Each element type allows different events.
+- ``EVENT`` The event that is being triggered:
+    - ``click`` The user clicked on the element.
+    - ``input`` The user typed something in the element.
+    - ``right_click`` The user right-clicked on the element.
+    - ``mouseenter`` The user moved the mouse over the element.
+    - ``mouseleave`` The user moved the mouse out of the element.
+    - ``load`` The element was loaded.
+    - ``dblclick`` The user double-clicked on the element.
 
 - ``ACTION`` The action performed.
     - ``call`` Calls the server to perform an operation.
diff --git a/docs/conf.py b/docs/conf.py
index 29971277..456b7fa7 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -41,7 +41,7 @@
 author = "Susana Hahn, Alexander Beiser"
 
 # The full version, including alpha/beta/rc tags
-release = "2.0.0"
+release = "2.1.1"
 
 # -- General configuration ---------------------------------------------------
 
diff --git a/docs/requirements.txt b/docs/requirements.txt
index e98e709c..dbb74e20 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,7 +1,7 @@
 clingo>=5.5.0
 clorm>=1.3.6
 tk
-fastapi==0.103.*
+fastapi
 typing
 pydantic
 networkx
@@ -16,4 +16,4 @@ clingo-dl
 furo
 clingexplaid>=1.0.14
 sphinxemoji
-myst_parser
\ No newline at end of file
+myst_parser
diff --git a/examples/angular/placement/ui.lp b/examples/angular/placement/ui.lp
index 96d9979a..12cd6f76 100644
--- a/examples/angular/placement/ui.lp
+++ b/examples/angular/placement/ui.lp
@@ -164,4 +164,4 @@ attr(window, flex_direction, row).
         attr(m, message, "Optimal!"):- _clinguin_optimizing, _clinguin_optimal.
         attr(m, message, "Optimality not proven"):- _clinguin_optimizing, not _clinguin_optimal.
         attr(m, type, success):- _clinguin_optimizing, _clinguin_optimal.
-        attr(m, type, warning):- _clinguin_optimizing, not _clinguin_optimal.
\ No newline at end of file
+        attr(m, type, warning):- _clinguin_optimizing, not _clinguin_optimal.
diff --git a/examples/angular/sudoku_basic/ui.lp b/examples/angular/sudoku_basic/ui.lp
index 2e475703..de63408f 100644
--- a/examples/angular/sudoku_basic/ui.lp
+++ b/examples/angular/sudoku_basic/ui.lp
@@ -1,3 +1,4 @@
+#const dim=2.
 elem(window,window,root).
 attr(window,child_layout,grid).
 attr(window,class,("justify-content-start")).
@@ -8,7 +9,7 @@ attr(window,class,("justify-content-start")).
     attr(dd(X,Y),grid_column,X):-pos(X,Y).
     attr(dd(X,Y),grid_row,Y):-pos(X,Y).
     attr(dd(X,Y),class,("border-dark";"bg-primary")):-pos(X,Y).
-    attr(dd(X,Y),class,"bg-opacity-50"):-subgrid(X,Y,S), S\2!=0.
+    attr(dd(X,Y),class,"bg-opacity-50"):-pos(X,Y), (((X-1)/dim)+((Y-1)/dim))\2==0.
     attr(dd(X,Y),selected,V):-_all(sudoku(X,Y,V)).
 
         elem(ddv(X,Y,V),dropdown_menu_item,dd(X,Y)):-_any(sudoku(X,Y,V)).
diff --git a/setup.cfg b/setup.cfg
index 01cd68d4..1812bebc 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = clinguin
-version = 2.0.0
+version = 2.1.1
 author = Alexander Beiser, Susana Hahn (Potassco)
 author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de
 description = An interactive visualizer for clingo
@@ -15,7 +15,7 @@ install_requires =
     clingo
     clorm>=1.4.1
     clingo-dl
-    fastapi==0.103.*
+    fastapi
     networkx
     uvicorn
     clingraph


Test patch:
diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py
index 3dfd0daa..02ff56b1 100644
--- a/tests/reference_json_output/health.py
+++ b/tests/reference_json_output/health.py
@@ -6,7 +6,7 @@ class Health:
     def get_reference_json(cls):
         json_dict = {
             "name": "clinguin",
-            "version": "2.0.0",
+            "version": "2.1.1",
             "description": "An interactive visualizer for clingo",
         }