ngx-material-navigation 1.1.8 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/components/footer/footer-element/footer-element.component.d.ts +1 -1
  2. package/components/footer/footer.component.d.ts +1 -1
  3. package/components/navbar/nav-element/nav-element.component.d.ts +1 -1
  4. package/components/navbar/nav-menu/nav-menu.component.d.ts +4 -4
  5. package/components/navbar/navbar.component.d.ts +1 -1
  6. package/components/not-found/not-found.component.d.ts +1 -1
  7. package/esm2020/components/footer/footer-element/footer-element.component.mjs +5 -5
  8. package/esm2020/components/footer/footer-element/footer-element.module.mjs +4 -4
  9. package/esm2020/components/footer/footer.component.mjs +3 -3
  10. package/esm2020/components/footer/footer.module.mjs +4 -4
  11. package/esm2020/components/navbar/nav-element/nav-element.component.mjs +5 -5
  12. package/esm2020/components/navbar/nav-element/nav-element.module.mjs +4 -4
  13. package/esm2020/components/navbar/nav-menu/nav-menu.component.mjs +5 -5
  14. package/esm2020/components/navbar/nav-menu/nav-menu.module.mjs +4 -4
  15. package/esm2020/components/navbar/navbar.component.mjs +3 -3
  16. package/esm2020/components/navbar/navbar.module.mjs +4 -4
  17. package/esm2020/components/not-found/not-found.component.mjs +3 -3
  18. package/esm2020/components/not-found/not-found.module.mjs +4 -4
  19. package/esm2020/services/nav.service.mjs +4 -4
  20. package/fesm2015/ngx-material-navigation.mjs +48 -48
  21. package/fesm2015/ngx-material-navigation.mjs.map +1 -1
  22. package/fesm2020/ngx-material-navigation.mjs +48 -48
  23. package/fesm2020/ngx-material-navigation.mjs.map +1 -1
  24. package/package.json +7 -7
  25. package/services/nav.service.d.ts +2 -2
@@ -32,5 +32,5 @@ export declare class FooterElementComponent implements AfterContentChecked, OnIn
32
32
  onResize(): void;
33
33
  private getMenuWidth;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<FooterElementComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<FooterElementComponent, "ngx-mat-navigation-footer-element", never, { "element": "element"; }, {}, never, never, false>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<FooterElementComponent, "ngx-mat-navigation-footer-element", never, { "element": "element"; }, {}, never, never, false, never>;
36
36
  }
@@ -21,5 +21,5 @@ export declare class NgxMatNavigationFooterComponent implements OnInit, OnDestro
21
21
  ngOnInit(): void;
22
22
  ngOnDestroy(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationFooterComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationFooterComponent, "ngx-mat-navigation-footer", never, { "minHeight": "minHeight"; "footerRows": "footerRows"; }, {}, never, never, false>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationFooterComponent, "ngx-mat-navigation-footer", never, { "minHeight": "minHeight"; "footerRows": "footerRows"; }, {}, never, never, false, never>;
25
25
  }
@@ -42,5 +42,5 @@ export declare class NavElementComponent implements AfterContentChecked, OnInit
42
42
  onResize(): void;
43
43
  private getMenuWidth;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<NavElementComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<NavElementComponent, "ngx-mat-navigation-element", never, { "element": "element"; "sidenav": "sidenav"; "sidenavElement": "sidenavElement"; }, {}, never, never, false>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavElementComponent, "ngx-mat-navigation-element", never, { "element": "element"; "sidenav": "sidenav"; "sidenavElement": "sidenavElement"; }, {}, never, never, false, never>;
46
46
  }
@@ -1,10 +1,10 @@
1
1
  import { AfterContentChecked, EnvironmentInjector } from '@angular/core';
2
+ import { MatButton } from '@angular/material/button';
2
3
  import { MatMenu } from '@angular/material/menu';
3
- import { NavMenu, NavMenuElement } from '../../../models/nav-menu.model';
4
- import { NavUtilities } from '../../../utilities/nav.utilities';
5
4
  import { MatSidenav } from '@angular/material/sidenav';
6
- import { MatButton } from '@angular/material/button';
7
5
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
6
+ import { NavMenu, NavMenuElement } from '../../../models/nav-menu.model';
7
+ import { NavUtilities } from '../../../utilities/nav.utilities';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * Displays a menu based on the provided NavMenu data.
@@ -57,5 +57,5 @@ export declare class NavMenuComponent implements AfterContentChecked {
57
57
  */
58
58
  clickSidenavElement(element: NavMenuElement): void;
59
59
  static ɵfac: i0.ɵɵFactoryDeclaration<NavMenuComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<NavMenuComponent, "ngx-mat-navigation-menu", never, { "navMenu": "navMenu"; "sidenav": "sidenav"; "menuWidth": "menuWidth"; }, {}, never, never, false>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavMenuComponent, "ngx-mat-navigation-menu", never, { "navMenu": "navMenu"; "sidenav": "sidenav"; "menuWidth": "menuWidth"; }, {}, never, never, false, never>;
61
61
  }
@@ -56,5 +56,5 @@ export declare class NgxMatNavigationNavbarComponent implements OnInit, OnDestro
56
56
  */
57
57
  clickSidenavElement(element: NavElement): void;
58
58
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationNavbarComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationNavbarComponent, "ngx-mat-navigation-navbar", never, { "navbarRows": "navbarRows"; "minHeight": "minHeight"; "minHeightOtherElements": "minHeightOtherElements"; "minSidenavWidth": "minSidenavWidth"; }, {}, never, ["*"], false>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationNavbarComponent, "ngx-mat-navigation-navbar", never, { "navbarRows": "navbarRows"; "minHeight": "minHeight"; "minHeightOtherElements": "minHeightOtherElements"; "minSidenavWidth": "minSidenavWidth"; }, {}, never, ["*"], false, never>;
60
60
  }
@@ -19,5 +19,5 @@ export declare class NgxMatNavigationNotFoundComponent implements OnInit {
19
19
  constructor(route: ActivatedRoute);
20
20
  ngOnInit(): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationNotFoundComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationNotFoundComponent, "ngx-mat-navigation-not-found", never, { "config": "config"; }, {}, never, never, false>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationNotFoundComponent, "ngx-mat-navigation-not-found", never, { "config": "config"; }, {}, never, never, false, never>;
23
23
  }
@@ -46,11 +46,11 @@ export class FooterElementComponent {
46
46
  return (this.menuButton?._elementRef.nativeElement).offsetWidth;
47
47
  }
48
48
  }
49
- FooterElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: FooterElementComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
50
- FooterElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: { element: "element" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <b *ngSwitchCase=\"'title'\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n <!-- Title with internal link -->\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <b>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item *ngSwitchCase=\"'image'\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Text -->\n <span *ngSwitchCase=\"'text'\">\n {{NavUtilities.asText(element).text}}\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.NavMenuComponent, selector: "ngx-mat-navigation-menu", inputs: ["navMenu", "sidenav", "menuWidth"] }] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: FooterElementComponent, decorators: [{
49
+ FooterElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: FooterElementComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
50
+ FooterElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: { element: "element" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <b *ngSwitchCase=\"'title'\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n <!-- Title with internal link -->\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <b>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item *ngSwitchCase=\"'image'\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [ngClass]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [ngClass]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Text -->\n <span *ngSwitchCase=\"'text'\">\n {{NavUtilities.asText(element).text}}\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [ngClass]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.NavMenuComponent, selector: "ngx-mat-navigation-menu", inputs: ["navMenu", "sidenav", "menuWidth"] }] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: FooterElementComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'ngx-mat-navigation-footer-element', template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <b *ngSwitchCase=\"'title'\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n <!-- Title with internal link -->\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <b>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item *ngSwitchCase=\"'image'\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Text -->\n <span *ngSwitchCase=\"'text'\">\n {{NavUtilities.asText(element).text}}\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"] }]
53
+ args: [{ selector: 'ngx-mat-navigation-footer-element', template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <b *ngSwitchCase=\"'title'\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n <!-- Title with internal link -->\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <b>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </b>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item *ngSwitchCase=\"'image'\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [ngClass]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [ngClass]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Text -->\n <span *ngSwitchCase=\"'text'\">\n {{NavUtilities.asText(element).text}}\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [ngClass]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i0.EnvironmentInjector }]; }, propDecorators: { element: [{
55
55
  type: Input
56
56
  }], menuButton: [{
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
60
60
  type: HostListener,
61
61
  args: ['window:resize', ['$event']]
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1lbGVtZW50L2Zvb3Rlci1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItZWxlbWVudC9mb290ZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBdUIsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFFdEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUIvQixZQUE2QixTQUF1QixFQUFtQixRQUE2QjtRQUF2RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBZnBHLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBZTJFLENBQUM7SUFFeEcsUUFBUTtRQUNKLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzVHO0lBQ0wsQ0FBQztJQUVELHFCQUFxQjtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7T0FFRztJQUVILFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBNkIsQ0FBQSxDQUFDLFdBQVcsQ0FBQztJQUNuRixDQUFDOzttSEFuRFEsc0JBQXNCO3VHQUF0QixzQkFBc0IsaVJDZm5DLCtzTEF3R087MkZEekZNLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxtQ0FBbUM7cUlBWTdDLE9BQU87c0JBRE4sS0FBSztnQkFNTixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWTtnQkErQnZCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvbmF2LnV0aWxpdGllcyc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTmF2Rm9vdGVyRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb290ZXIubW9kZWwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUHVyaWZ5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3B1cmlmeS51dGlsaXRpZXMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgc2luZ2xlIE5hdmlnYXRpb24gRWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LW5hdmlnYXRpb24tZm9vdGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb290ZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25Jbml0IHtcblxuICAgIE5hdlV0aWxpdGllcyA9IE5hdlV0aWxpdGllcztcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbGVtZW50IHRvIGRpc3BsYXkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbGVtZW50ITogTmF2Rm9vdGVyRWxlbWVudDtcblxuICAgIHNhbml0aXplZEh0bWw/OiBTYWZlSHRtbDtcblxuICAgIEBWaWV3Q2hpbGQoJ21lbnVCdXR0b24nKVxuICAgIG1lbnVCdXR0b24/OiBNYXRCdXR0b247XG5cbiAgICBtZW51V2lkdGghOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChOYXZVdGlsaXRpZXMuaXNOYXZIdG1sKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVkSHRtbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFB1cmlmeVV0aWxpdGllcy5zYW5pdGl6ZSh0aGlzLmVsZW1lbnQuaHRtbCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51QnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVXaWR0aCA9IHRoaXMuZ2V0TWVudVdpZHRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSdW5zIHRoZSBhY3Rpb24gb2YgdGhlIGVsZW1lbnQuXG4gICAgICogVGhpcyB3cmFwcGVyIGlzIG5lZWRlZCB0byBlbmFibGUgdGhlIHVzZXIgdG8gdXNlIGluamVjdGlvbnMgaW4gaGlzIGFjdGlvbiBmdW5jdGlvbnMuXG4gICAgICovXG4gICAgcnVuQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluamVjdG9yLnJ1bkluQ29udGV4dCgoKSA9PiB0aGlzLk5hdlV0aWxpdGllcy5hc0J1dHRvbih0aGlzLmVsZW1lbnQpLmFjdGlvbigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudSB0byB0aGUgdmFsdWUgb2YgaXRzIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZW51V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLm1lbnVCdXR0b24/Ll9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoO1xuICAgIH1cbn0iLCI8c3BhbiBbbmdTd2l0Y2hdPVwiZWxlbWVudC50eXBlXCI+XG4gICAgPCEtLSBUaXRsZSAtLT5cbiAgICA8YiAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiPlxuICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS50aXRsZX19XG4gICAgPC9iPlxuICAgIDwhLS0gVGl0bGUgd2l0aCBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGlkPVwidGl0bGUtbGlua1wiICpuZ1N3aXRjaENhc2U9XCIndGl0bGVXaXRoSW50ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlxuICAgICAgICAgICAgTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoXG4gICAgICAgICAgICA6IE5hdlV0aWxpdGllcy5hc1N0cmluZ1JvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKVwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgICAgPGI+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkudGl0bGV9fVxuICAgICAgICA8L2I+XG4gICAgPC9hPlxuICAgIDwhLS0gVGl0bGUgd2l0aCBleHRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGNsYXNzPVwidGl0bGUtbGlua1wiICpuZ1N3aXRjaENhc2U9XCIndGl0bGVXaXRoRXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLnVybFwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgICAgPGgxPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICA8L2E+XG4gICAgPCEtLSBJbWFnZSAtLT5cbiAgICA8aW1nIG1hdC1tZW51LWl0ZW0gKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIlxuICAgICAgICBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlKGVsZW1lbnQpLnVybFwiXG4gICAgPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgaWQ9XCJpbWFnZS1saW5rXCIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZVdpdGhJbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGggIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGhcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgPlxuICAgICAgICA8aW1nIFtzcmNdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnVybFwiPlxuICAgIDwvYT5cbiAgICA8IS0tIEltYWdlIHdpdGggZXh0ZXJuYWwgbGluayAtLT5cbiAgICA8YSBtYXQtbWVudS1pdGVtIGRpc2FibGVkIGlkPVwiaW1hZ2UtbGlua1wiICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VXaXRoRXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLnVybFwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgICAgPGltZyBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS51cmxcIj5cbiAgICA8L2E+XG4gICAgPCEtLSBCdXR0b24gLS0+XG4gICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicnVuQWN0aW9uKClcIlxuICAgID5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkubmFtZX19XG4gICAgPC9idXR0b24+XG4gICAgPCEtLSBGbGF0IEJ1dHRvbiAtLT5cbiAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uRmxhdCdcIiBtYXQtYnV0dG9uIChjbGljayk9XCJydW5BY3Rpb24oKVwiPlxuICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5pY29uXCI+PC9pPlxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5uYW1lfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tIEludGVybmFsIExpbmsgLS0+XG4gICAgPGEgbWF0LWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ludGVybmFsTGluaydcIlxuICAgICAgICBbcm91dGVyTGlua109XCJcbiAgICAgICAgICAgIE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkucm91dGUpLnBhdGggIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKS5wYXRoXG4gICAgICAgICAgICA6IE5hdlV0aWxpdGllcy5hc1N0cmluZ1JvdXRlKE5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5yb3V0ZSlcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiPjwvaT4gXG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYT5cbiAgICA8IS0tIEV4dGVybmFsIExpbmsgLS0+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCI+XG4gICAgICAgIDxhIG1hdC1idXR0b25cbiAgICAgICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS51cmxcIlxuICAgICAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS5uYW1lfX1cbiAgICAgICAgPC9hPlxuICAgIDwvc3Bhbj5cbiAgICA8IS0tIFRleHQgLS0+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid0ZXh0J1wiPlxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RleHQoZWxlbWVudCkudGV4dH19XG4gICAgPC9zcGFuPlxuICAgIDwhLS0gQ3VzdG9tIEhUTUwgLS0+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidodG1sJ1wiIFtpbm5lckh0bWxdPVwic2FuaXRpemVkSHRtbFwiPlxuICAgIDwvc3Bhbj5cbiAgICA8IS0tIE1lbnUgLS0+XG4gICAgPGJ1dHRvbiAjbWVudUJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ21lbnUnXCIgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudS5tZW51XCI+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc01lbnUoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxuZ3gtbWF0LW5hdmlnYXRpb24tbWVudSAjbWVudSBbbmF2TWVudV09XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpXCIgW21lbnVXaWR0aF09XCJtZW51V2lkdGhcIj5cbiAgICA8L25neC1tYXQtbmF2aWdhdGlvbi1tZW51PlxuPC9zcGFuPiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1lbGVtZW50L2Zvb3Rlci1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItZWxlbWVudC9mb290ZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBdUIsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFFdEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBaUIvQixZQUE2QixTQUF1QixFQUFtQixRQUE2QjtRQUF2RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBZnBHLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBZTJFLENBQUM7SUFFeEcsUUFBUTtRQUNKLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzVHO0lBQ0wsQ0FBQztJQUVELHFCQUFxQjtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRDs7T0FFRztJQUVILFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBNkIsQ0FBQSxDQUFDLFdBQVcsQ0FBQztJQUNuRixDQUFDOzttSEFuRFEsc0JBQXNCO3VHQUF0QixzQkFBc0IsaVJDZm5DLCt0TEF3R087MkZEekZNLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxtQ0FBbUM7cUlBWTdDLE9BQU87c0JBRE4sS0FBSztnQkFNTixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWTtnQkErQnZCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvbmF2LnV0aWxpdGllcyc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTmF2Rm9vdGVyRWxlbWVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb290ZXIubW9kZWwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUHVyaWZ5VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3B1cmlmeS51dGlsaXRpZXMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgc2luZ2xlIE5hdmlnYXRpb24gRWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtbWF0LW5hdmlnYXRpb24tZm9vdGVyLWVsZW1lbnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb290ZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25Jbml0IHtcblxuICAgIE5hdlV0aWxpdGllcyA9IE5hdlV0aWxpdGllcztcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbGVtZW50IHRvIGRpc3BsYXkuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBlbGVtZW50ITogTmF2Rm9vdGVyRWxlbWVudDtcblxuICAgIHNhbml0aXplZEh0bWw/OiBTYWZlSHRtbDtcblxuICAgIEBWaWV3Q2hpbGQoJ21lbnVCdXR0b24nKVxuICAgIG1lbnVCdXR0b24/OiBNYXRCdXR0b247XG5cbiAgICBtZW51V2lkdGghOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChOYXZVdGlsaXRpZXMuaXNOYXZIdG1sKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2FuaXRpemVkSHRtbCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFB1cmlmeVV0aWxpdGllcy5zYW5pdGl6ZSh0aGlzLmVsZW1lbnQuaHRtbCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tZW51QnV0dG9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVXaWR0aCA9IHRoaXMuZ2V0TWVudVdpZHRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSdW5zIHRoZSBhY3Rpb24gb2YgdGhlIGVsZW1lbnQuXG4gICAgICogVGhpcyB3cmFwcGVyIGlzIG5lZWRlZCB0byBlbmFibGUgdGhlIHVzZXIgdG8gdXNlIGluamVjdGlvbnMgaW4gaGlzIGFjdGlvbiBmdW5jdGlvbnMuXG4gICAgICovXG4gICAgcnVuQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluamVjdG9yLnJ1bkluQ29udGV4dCgoKSA9PiB0aGlzLk5hdlV0aWxpdGllcy5hc0J1dHRvbih0aGlzLmVsZW1lbnQpLmFjdGlvbigpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudSB0byB0aGUgdmFsdWUgb2YgaXRzIGJ1dHRvbi5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZW51V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLm1lbnVCdXR0b24/Ll9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoO1xuICAgIH1cbn0iLCI8c3BhbiBbbmdTd2l0Y2hdPVwiZWxlbWVudC50eXBlXCI+XG4gICAgPCEtLSBUaXRsZSAtLT5cbiAgICA8YiAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlJ1wiPlxuICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCI+PC9pPlxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICA8L2I+XG4gICAgPCEtLSBUaXRsZSB3aXRoIGludGVybmFsIGxpbmsgLS0+XG4gICAgPGEgaWQ9XCJ0aXRsZS1saW5rXCIgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZVdpdGhJbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGggIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGhcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgPlxuICAgICAgICA8Yj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiIFtuZ0NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9iPlxuICAgIDwvYT5cbiAgICA8IS0tIFRpdGxlIHdpdGggZXh0ZXJuYWwgbGluayAtLT5cbiAgICA8YSBjbGFzcz1cInRpdGxlLWxpbmtcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlV2l0aEV4dGVybmFsTGluaydcIlxuICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay51cmxcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICA+XG4gICAgICAgIDxoMT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiIFtuZ0NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICA8L2E+XG4gICAgPCEtLSBJbWFnZSAtLT5cbiAgICA8aW1nIG1hdC1tZW51LWl0ZW0gKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIlxuICAgICAgICBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlKGVsZW1lbnQpLnVybFwiXG4gICAgPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgaWQ9XCJpbWFnZS1saW5rXCIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZVdpdGhJbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGggIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGhcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgPlxuICAgICAgICA8aW1nIFtzcmNdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnVybFwiPlxuICAgIDwvYT5cbiAgICA8IS0tIEltYWdlIHdpdGggZXh0ZXJuYWwgbGluayAtLT5cbiAgICA8YSBtYXQtbWVudS1pdGVtIGRpc2FibGVkIGlkPVwiaW1hZ2UtbGlua1wiICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VXaXRoRXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLnVybFwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgID5cbiAgICAgICAgPGltZyBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS51cmxcIj5cbiAgICA8L2E+XG4gICAgPCEtLSBCdXR0b24gLS0+XG4gICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwicnVuQWN0aW9uKClcIlxuICAgID5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiIFtuZ0NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5pY29uXCI+PC9pPlxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5uYW1lfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tIEZsYXQgQnV0dG9uIC0tPlxuICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIididXR0b25GbGF0J1wiIG1hdC1idXR0b24gKGNsaWNrKT1cInJ1bkFjdGlvbigpXCI+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkubmFtZX19XG4gICAgPC9idXR0b24+XG4gICAgPCEtLSBJbnRlcm5hbCBMaW5rIC0tPlxuICAgIDxhIG1hdC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKS5wYXRoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5yb3V0ZSkucGF0aFxuICAgICAgICAgICAgOiBOYXZVdGlsaXRpZXMuYXNTdHJpbmdSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiPjwvaT4gXG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYT5cbiAgICA8IS0tIEV4dGVybmFsIExpbmsgLS0+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCI+XG4gICAgICAgIDxhIG1hdC1idXR0b25cbiAgICAgICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS51cmxcIlxuICAgICAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxuICAgICAgICA8L2E+XG4gICAgPC9zcGFuPlxuICAgIDwhLS0gVGV4dCAtLT5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzVGV4dChlbGVtZW50KS50ZXh0fX1cbiAgICA8L3NwYW4+XG4gICAgPCEtLSBDdXN0b20gSFRNTCAtLT5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2h0bWwnXCIgW2lubmVySHRtbF09XCJzYW5pdGl6ZWRIdG1sXCI+XG4gICAgPC9zcGFuPlxuICAgIDwhLS0gTWVudSAtLT5cbiAgICA8YnV0dG9uICNtZW51QnV0dG9uICpuZ1N3aXRjaENhc2U9XCInbWVudSdcIiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51Lm1lbnVcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5uYW1lfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8bmd4LW1hdC1uYXZpZ2F0aW9uLW1lbnUgI21lbnUgW25hdk1lbnVdPVwiTmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KVwiIFttZW51V2lkdGhdPVwibWVudVdpZHRoXCI+XG4gICAgPC9uZ3gtbWF0LW5hdmlnYXRpb24tbWVudT5cbjwvc3Bhbj4iXX0=
@@ -8,18 +8,18 @@ import { NavMenuModule } from '../../navbar/nav-menu/nav-menu.module';
8
8
  import * as i0 from "@angular/core";
9
9
  export class FooterElementModule {
10
10
  }
11
- FooterElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: FooterElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- FooterElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: FooterElementModule, declarations: [FooterElementComponent], imports: [CommonModule,
11
+ FooterElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: FooterElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ FooterElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: FooterElementModule, declarations: [FooterElementComponent], imports: [CommonModule,
13
13
  RouterModule,
14
14
  MatMenuModule,
15
15
  MatButtonModule,
16
16
  NavMenuModule], exports: [FooterElementComponent] });
17
- FooterElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: FooterElementModule, imports: [CommonModule,
17
+ FooterElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: FooterElementModule, imports: [CommonModule,
18
18
  RouterModule,
19
19
  MatMenuModule,
20
20
  MatButtonModule,
21
21
  NavMenuModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: FooterElementModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: FooterElementModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [
@@ -24,9 +24,9 @@ export class NgxMatNavigationFooterComponent {
24
24
  this.onDestroy.complete();
25
25
  }
26
26
  }
27
- NgxMatNavigationFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterComponent, deps: [{ token: i1.NgxMatNavigationService }], target: i0.ɵɵFactoryTarget.Component });
28
- NgxMatNavigationFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: NgxMatNavigationFooterComponent, selector: "ngx-mat-navigation-footer", inputs: { minHeight: "minHeight", footerRows: "footerRows" }, ngImport: i0, template: "<footer [style.minHeight.px]=\"minHeight\">\n <div class=\"container\">\n <div class=\"footer-row row gy-2\" *ngFor=\"let row of internalFooterRows\">\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('left', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('center', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('right', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n </div>\n </div>\n</footer>", styles: ["footer{box-shadow:0 0 5px -1px #0003,0 0 8px 5px #00000024,0 0 14px 8px #0000001f;padding-top:20px;padding-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: ["element"] }] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterComponent, decorators: [{
27
+ NgxMatNavigationFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterComponent, deps: [{ token: i1.NgxMatNavigationService }], target: i0.ɵɵFactoryTarget.Component });
28
+ NgxMatNavigationFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NgxMatNavigationFooterComponent, selector: "ngx-mat-navigation-footer", inputs: { minHeight: "minHeight", footerRows: "footerRows" }, ngImport: i0, template: "<footer [style.minHeight.px]=\"minHeight\">\n <div class=\"container\">\n <div class=\"footer-row row gy-2\" *ngFor=\"let row of internalFooterRows\">\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('left', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('center', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('right', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n </div>\n </div>\n</footer>", styles: ["footer{box-shadow:0 0 5px -1px #0003,0 0 8px 5px #00000024,0 0 14px 8px #0000001f;padding-top:20px;padding-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: ["element"] }] });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'ngx-mat-navigation-footer', template: "<footer [style.minHeight.px]=\"minHeight\">\n <div class=\"container\">\n <div class=\"footer-row row gy-2\" *ngFor=\"let row of internalFooterRows\">\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('left', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('center', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-6\">\n <div *ngFor=\"let element of navService.getFooterElementsForRow('right', row)\">\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\n </div>\n </div>\n </div>\n </div>\n</footer>", styles: ["footer{box-shadow:0 0 5px -1px #0003,0 0 8px 5px #00000024,0 0 14px 8px #0000001f;padding-top:20px;padding-bottom:20px}\n"] }]
32
32
  }], ctorParameters: function () { return [{ type: i1.NgxMatNavigationService }]; }, propDecorators: { minHeight: [{
@@ -6,14 +6,14 @@ import { FooterElementModule } from './footer-element/footer-element.module';
6
6
  import * as i0 from "@angular/core";
7
7
  export class NgxMatNavigationFooterModule {
8
8
  }
9
- NgxMatNavigationFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- NgxMatNavigationFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterModule, declarations: [NgxMatNavigationFooterComponent], imports: [CommonModule,
9
+ NgxMatNavigationFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ NgxMatNavigationFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterModule, declarations: [NgxMatNavigationFooterComponent], imports: [CommonModule,
11
11
  MatToolbarModule,
12
12
  FooterElementModule], exports: [NgxMatNavigationFooterComponent] });
13
- NgxMatNavigationFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterModule, imports: [CommonModule,
13
+ NgxMatNavigationFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterModule, imports: [CommonModule,
14
14
  MatToolbarModule,
15
15
  FooterElementModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxMatNavigationFooterModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NgxMatNavigationFooterModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [
@@ -46,11 +46,11 @@ export class NavElementComponent {
46
46
  return (this.menuButton?._elementRef.nativeElement).offsetWidth;
47
47
  }
48
48
  }
49
- NavElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NavElementComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
50
- NavElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: NavElementComponent, selector: "ngx-mat-navigation-element", inputs: { element: "element", sidenav: "sidenav", sidenavElement: "sidenavElement" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <h1 mat-menu-item disabled *ngSwitchCase=\"'title'\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n <!-- Title with internal link -->\n <a id=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\" \n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item disabled *ngSwitchCase=\"'image'\"\n [class.sidenavElement]=\"sidenavElement\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n [class.sidenavElementButton]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\" [class.sidenavElementButton]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu\n [navMenu]=\"NavUtilities.asMenu(element)\"\n [sidenav]=\"sidenav\"\n [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n \n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElementButton{display:inline-block;width:100%}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.NavMenuComponent, selector: "ngx-mat-navigation-menu", inputs: ["navMenu", "sidenav", "menuWidth"] }, { kind: "directive", type: i4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NavElementComponent, decorators: [{
49
+ NavElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NavElementComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Component });
50
+ NavElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: NavElementComponent, selector: "ngx-mat-navigation-element", inputs: { element: "element", sidenav: "sidenav", sidenavElement: "sidenavElement" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <h1 mat-menu-item disabled *ngSwitchCase=\"'title'\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n <!-- Title with internal link -->\n <a id=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\" \n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item disabled *ngSwitchCase=\"'image'\"\n [class.sidenavElement]=\"sidenavElement\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n [class.sidenavElementButton]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\" [class.sidenavElementButton]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [ngClass]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [ngClass]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [ngClass]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu\n [navMenu]=\"NavUtilities.asMenu(element)\"\n [sidenav]=\"sidenav\"\n [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n \n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElementButton{display:inline-block;width:100%}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.NavMenuComponent, selector: "ngx-mat-navigation-menu", inputs: ["navMenu", "sidenav", "menuWidth"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NavElementComponent, decorators: [{
52
52
  type: Component,
53
- args: [{ selector: 'ngx-mat-navigation-element', template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <h1 mat-menu-item disabled *ngSwitchCase=\"'title'\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n <!-- Title with internal link -->\n <a id=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\" \n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item disabled *ngSwitchCase=\"'image'\"\n [class.sidenavElement]=\"sidenavElement\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n [class.sidenavElementButton]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\" [class.sidenavElementButton]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu\n [navMenu]=\"NavUtilities.asMenu(element)\"\n [sidenav]=\"sidenav\"\n [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n \n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElementButton{display:inline-block;width:100%}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"] }]
53
+ args: [{ selector: 'ngx-mat-navigation-element', template: "<span [ngSwitch]=\"element.type\">\n <!-- Title -->\n <h1 mat-menu-item disabled *ngSwitchCase=\"'title'\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n <!-- Title with internal link -->\n <a id=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithInternalLink'\"\n [routerLink]=\" \n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Title with external link -->\n <a class=\"title-link\" disableRipple mat-menu-item *ngSwitchCase=\"'titleWithExternalLink'\"\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <h1>\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [ngClass]=\"NavUtilities.asTitle(element).icon\"></i>\n {{NavUtilities.asTitle(element).title}}\n </h1>\n </a>\n <!-- Image -->\n <img mat-menu-item disabled *ngSwitchCase=\"'image'\"\n [class.sidenavElement]=\"sidenavElement\"\n [src]=\"NavUtilities.asImage(element).url\"\n >\n <!-- Image with internal link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithInternalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\n </a>\n <!-- Image with external link -->\n <a id=\"image-link\" disableRipple mat-menu-item *ngSwitchCase=\"'imageWithExternalLink'\"\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\n </a>\n <!-- Button -->\n <button *ngSwitchCase=\"'button'\"\n mat-raised-button\n (click)=\"runAction()\"\n [class.sidenavElementButton]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Flat Button -->\n <button *ngSwitchCase=\"'buttonFlat'\" mat-button (click)=\"runAction()\" [class.sidenavElementButton]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [ngClass]=\"NavUtilities.asButton(element).icon\"></i>\n {{NavUtilities.asButton(element).name}}\n </button>\n <!-- Internal Link -->\n <a mat-button *ngSwitchCase=\"'internalLink'\"\n [routerLink]=\"\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [ngClass]=\"NavUtilities.asInternalLink(element).icon\"></i> \n {{NavUtilities.asInternalLink(element).name}}\n </a>\n <!-- External Link -->\n <span *ngSwitchCase=\"'externalLink'\">\n <a mat-button\n [href]=\"NavUtilities.asExternalLink(element).url\"\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"sidenavElement\"\n >\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [ngClass]=\"NavUtilities.asExternalLink(element).icon\"></i>\n {{NavUtilities.asExternalLink(element).name}}\n </a>\n </span>\n <!-- Custom HTML -->\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\n </span>\n <!-- Menu -->\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\" [class.sidenavElement]=\"sidenavElement\">\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [ngClass]=\"NavUtilities.asMenu(element).icon\"></i>\n {{NavUtilities.asMenu(element).name}}\n </button>\n <ngx-mat-navigation-menu #menu\n [navMenu]=\"NavUtilities.asMenu(element)\"\n [sidenav]=\"sidenav\"\n [menuWidth]=\"menuWidth\">\n </ngx-mat-navigation-menu>\n \n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElementButton{display:inline-block;width:100%}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";inset:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{inset:0;position:absolute;pointer-events:none}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i0.EnvironmentInjector }]; }, propDecorators: { element: [{
55
55
  type: Input
56
56
  }], sidenav: [{
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
64
64
  type: HostListener,
65
65
  args: ['window:resize', ['$event']]
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2YmFyL25hdi1lbGVtZW50L25hdi1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL25hdmJhci9uYXYtZWxlbWVudC9uYXYtZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBdUIsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFLdEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBOEI1QixZQUE2QixTQUF1QixFQUFtQixRQUE2QjtRQUF2RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBNUJwRyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQTRCMkUsQ0FBQztJQUV4RyxRQUFRO1FBQ0osSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDNUc7SUFDTCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVEOztPQUVHO0lBRUgsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUE2QixDQUFBLENBQUMsV0FBVyxDQUFDO0lBQ25GLENBQUM7O2dIQWhFUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixnVUNoQmhDLG95TUFnSE87MkZEaEdNLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSw0QkFBNEI7cUlBWXRDLE9BQU87c0JBRE4sS0FBSztnQkFTTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQStCdkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbmF2Lm1vZGVsJztcbmltcG9ydCB7IE5hdlV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9uYXYudXRpbGl0aWVzJztcbmltcG9ydCB7IFB1cmlmeVV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9wdXJpZnkudXRpbGl0aWVzJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qKlxuICogRGlzcGxheXMgYSBzaW5nbGUgTmF2aWdhdGlvbiBFbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1tYXQtbmF2aWdhdGlvbi1lbGVtZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2RWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdCB7XG5cbiAgICBOYXZVdGlsaXRpZXMgPSBOYXZVdGlsaXRpZXM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCB0byBkaXNwbGF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWxlbWVudCE6IE5hdkVsZW1lbnQ7XG5cbiAgICBzYW5pdGl6ZWRIdG1sPzogU2FmZUh0bWw7XG5cbiAgICAvKipcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgc2lkZW5hdi4gSXMgbmVlZGVkIGZvciB0aGUgbWVudSB0byBjbG9zZSB0aGUgc2lkZW5hdi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGVuYXY/OiBNYXRTaWRlbmF2O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBzaWRlbmF2LlxuICAgICAqIFVzZWQgdG8gYXBwbHkgZGlmZmVyZW50IHN0eWxpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlbmF2RWxlbWVudD86IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdtZW51QnV0dG9uJylcbiAgICBtZW51QnV0dG9uPzogTWF0QnV0dG9uO1xuXG4gICAgbWVudVdpZHRoITogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoTmF2VXRpbGl0aWVzLmlzTmF2SHRtbCh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnNhbml0aXplZEh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChQdXJpZnlVdGlsaXRpZXMuc2FuaXRpemUodGhpcy5lbGVtZW50Lmh0bWwpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVucyB0aGUgYWN0aW9uIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIFRoaXMgd3JhcHBlciBpcyBuZWVkZWQgdG8gZW5hYmxlIHRoZSB1c2VyIHRvIHVzZSBpbmplY3Rpb25zIGluIGhpcyBhY3Rpb24gZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIHJ1bkFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5ydW5JbkNvbnRleHQoKCkgPT4gdGhpcy5OYXZVdGlsaXRpZXMuYXNCdXR0b24odGhpcy5lbGVtZW50KS5hY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnUgdG8gdGhlIHZhbHVlIG9mIGl0cyBidXR0b24uXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubWVudVdpZHRoID0gdGhpcy5nZXRNZW51V2lkdGgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWVudVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy5tZW51QnV0dG9uPy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcbiAgICB9XG59IiwiPHNwYW4gW25nU3dpdGNoXT1cImVsZW1lbnQudHlwZVwiPlxuICAgIDwhLS0gVGl0bGUgLS0+XG4gICAgPGgxIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIiBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkudGl0bGV9fVxuICAgIDwvaDE+XG4gICAgPCEtLSBUaXRsZSB3aXRoIGludGVybmFsIGxpbmsgLS0+XG4gICAgPGEgaWQ9XCJ0aXRsZS1saW5rXCIgZGlzYWJsZVJpcHBsZSBtYXQtbWVudS1pdGVtICpuZ1N3aXRjaENhc2U9XCIndGl0bGVXaXRoSW50ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIiAgICAgIFxuICAgICAgICAgICAgTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoXG4gICAgICAgICAgICA6IE5hdlV0aWxpdGllcy5hc1N0cmluZ1JvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKVwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgICAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIlxuICAgID5cbiAgICAgICAgPGgxPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICA8L2E+XG4gICAgPCEtLSBUaXRsZSB3aXRoIGV4dGVybmFsIGxpbmsgLS0+XG4gICAgPGEgY2xhc3M9XCJ0aXRsZS1saW5rXCIgZGlzYWJsZVJpcHBsZSBtYXQtbWVudS1pdGVtICpuZ1N3aXRjaENhc2U9XCIndGl0bGVXaXRoRXh0ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLnVybFwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgICAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIlxuICAgID5cbiAgICAgICAgPGgxPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICA8L2E+XG4gICAgPCEtLSBJbWFnZSAtLT5cbiAgICA8aW1nIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIlxuICAgICAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIlxuICAgICAgICBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlKGVsZW1lbnQpLnVybFwiXG4gICAgPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGlkPVwiaW1hZ2UtbGlua1wiIGRpc2FibGVSaXBwbGUgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlV2l0aEludGVybmFsTGluaydcIlxuICAgICAgICBbcm91dGVyTGlua109XCJcbiAgICAgICAgICAgIE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aFxuICAgICAgICAgICAgOiBOYXZVdGlsaXRpZXMuYXNTdHJpbmdSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSlcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkudXJsXCI+XG4gICAgPC9hPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBleHRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGlkPVwiaW1hZ2UtbGlua1wiIGRpc2FibGVSaXBwbGUgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlV2l0aEV4dGVybmFsTGluaydcIlxuICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay51cmxcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkudXJsXCI+XG4gICAgPC9hPlxuICAgIDwhLS0gQnV0dG9uIC0tPlxuICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIididXR0b24nXCJcbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJ1bkFjdGlvbigpXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50QnV0dG9uXT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDwhLS0gRmxhdCBCdXR0b24gLS0+XG4gICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbkZsYXQnXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwicnVuQWN0aW9uKClcIiBbY2xhc3Muc2lkZW5hdkVsZW1lbnRCdXR0b25dPVwic2lkZW5hdkVsZW1lbnRcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkubmFtZX19XG4gICAgPC9idXR0b24+XG4gICAgPCEtLSBJbnRlcm5hbCBMaW5rIC0tPlxuICAgIDxhIG1hdC1idXR0b24gKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKS5wYXRoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5yb3V0ZSkucGF0aFxuICAgICAgICAgICAgOiBOYXZVdGlsaXRpZXMuYXNTdHJpbmdSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIj48L2k+IFxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5uYW1lfX1cbiAgICA8L2E+XG4gICAgPCEtLSBFeHRlcm5hbCBMaW5rIC0tPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZXh0ZXJuYWxMaW5rJ1wiPlxuICAgICAgICA8YSBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkudXJsXCJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxuICAgICAgICA8L2E+XG4gICAgPC9zcGFuPlxuICAgIDwhLS0gQ3VzdG9tIEhUTUwgLS0+XG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidodG1sJ1wiIFtpbm5lckh0bWxdPVwic2FuaXRpemVkSHRtbFwiPlxuICAgIDwvc3Bhbj5cbiAgICA8IS0tIE1lbnUgLS0+XG4gICAgPGJ1dHRvbiAjbWVudUJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ21lbnUnXCIgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudS5tZW51XCIgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCI+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc01lbnUoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxuZ3gtbWF0LW5hdmlnYXRpb24tbWVudSAjbWVudVxuICAgICAgICBbbmF2TWVudV09XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpXCJcbiAgICAgICAgW3NpZGVuYXZdPVwic2lkZW5hdlwiXG4gICAgICAgIFttZW51V2lkdGhdPVwibWVudVdpZHRoXCI+XG4gICAgPC9uZ3gtbWF0LW5hdmlnYXRpb24tbWVudT5cbiAgICBcbjwvc3Bhbj4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2YmFyL25hdi1lbGVtZW50L25hdi1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL25hdmJhci9uYXYtZWxlbWVudC9uYXYtZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBdUIsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7QUFLdEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBOEI1QixZQUE2QixTQUF1QixFQUFtQixRQUE2QjtRQUF2RSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBNUJwRyxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQTRCMkUsQ0FBQztJQUV4RyxRQUFRO1FBQ0osSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDNUc7SUFDTCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVEOztPQUVHO0lBRUgsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUE2QixDQUFBLENBQUMsV0FBVyxDQUFDO0lBQ25GLENBQUM7O2dIQWhFUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixnVUNoQmhDLG96TUFnSE87MkZEaEdNLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDSSw0QkFBNEI7cUlBWXRDLE9BQU87c0JBRE4sS0FBSztnQkFTTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQStCdkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbmF2Lm1vZGVsJztcbmltcG9ydCB7IE5hdlV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9uYXYudXRpbGl0aWVzJztcbmltcG9ydCB7IFB1cmlmeVV0aWxpdGllcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9wdXJpZnkudXRpbGl0aWVzJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbi8qKlxuICogRGlzcGxheXMgYSBzaW5nbGUgTmF2aWdhdGlvbiBFbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1tYXQtbmF2aWdhdGlvbi1lbGVtZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTmF2RWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdCB7XG5cbiAgICBOYXZVdGlsaXRpZXMgPSBOYXZVdGlsaXRpZXM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZWxlbWVudCB0byBkaXNwbGF5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZWxlbWVudCE6IE5hdkVsZW1lbnQ7XG5cbiAgICBzYW5pdGl6ZWRIdG1sPzogU2FmZUh0bWw7XG5cbiAgICAvKipcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgc2lkZW5hdi4gSXMgbmVlZGVkIGZvciB0aGUgbWVudSB0byBjbG9zZSB0aGUgc2lkZW5hdi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpZGVuYXY/OiBNYXRTaWRlbmF2O1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhpcyBlbGVtZW50IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBzaWRlbmF2LlxuICAgICAqIFVzZWQgdG8gYXBwbHkgZGlmZmVyZW50IHN0eWxpbmcuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaWRlbmF2RWxlbWVudD86IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdtZW51QnV0dG9uJylcbiAgICBtZW51QnV0dG9uPzogTWF0QnV0dG9uO1xuXG4gICAgbWVudVdpZHRoITogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3Rvcikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoTmF2VXRpbGl0aWVzLmlzTmF2SHRtbCh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnNhbml0aXplZEh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChQdXJpZnlVdGlsaXRpZXMuc2FuaXRpemUodGhpcy5lbGVtZW50Lmh0bWwpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWVudUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUnVucyB0aGUgYWN0aW9uIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIFRoaXMgd3JhcHBlciBpcyBuZWVkZWQgdG8gZW5hYmxlIHRoZSB1c2VyIHRvIHVzZSBpbmplY3Rpb25zIGluIGhpcyBhY3Rpb24gZnVuY3Rpb25zLlxuICAgICAqL1xuICAgIHJ1bkFjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5ydW5JbkNvbnRleHQoKCkgPT4gdGhpcy5OYXZVdGlsaXRpZXMuYXNCdXR0b24odGhpcy5lbGVtZW50KS5hY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnUgdG8gdGhlIHZhbHVlIG9mIGl0cyBidXR0b24uXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubWVudVdpZHRoID0gdGhpcy5nZXRNZW51V2lkdGgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWVudVdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy5tZW51QnV0dG9uPy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcbiAgICB9XG59IiwiPHNwYW4gW25nU3dpdGNoXT1cImVsZW1lbnQudHlwZVwiPlxuICAgIDwhLS0gVGl0bGUgLS0+XG4gICAgPGgxIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgKm5nU3dpdGNoQ2FzZT1cIid0aXRsZSdcIiBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW25nQ2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS50aXRsZX19XG4gICAgPC9oMT5cbiAgICA8IS0tIFRpdGxlIHdpdGggaW50ZXJuYWwgbGluayAtLT5cbiAgICA8YSBpZD1cInRpdGxlLWxpbmtcIiBkaXNhYmxlUmlwcGxlIG1hdC1tZW51LWl0ZW0gKm5nU3dpdGNoQ2FzZT1cIid0aXRsZVdpdGhJbnRlcm5hbExpbmsnXCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiICAgICAgXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGggIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpLnBhdGhcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgICAgIFtjbGFzcy5zaWRlbmF2RWxlbWVudF09XCJzaWRlbmF2RWxlbWVudFwiXG4gICAgPlxuICAgICAgICA8aDE+XG4gICAgICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCI+PC9pPlxuICAgICAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS50aXRsZX19XG4gICAgICAgIDwvaDE+XG4gICAgPC9hPlxuICAgIDwhLS0gVGl0bGUgd2l0aCBleHRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGNsYXNzPVwidGl0bGUtbGlua1wiIGRpc2FibGVSaXBwbGUgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlV2l0aEV4dGVybmFsTGluaydcIlxuICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay51cmxcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxoMT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiIFtuZ0NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cbiAgICAgICAgPC9oMT5cbiAgICA8L2E+XG4gICAgPCEtLSBJbWFnZSAtLT5cbiAgICA8aW1nIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZSdcIlxuICAgICAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIlxuICAgICAgICBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlKGVsZW1lbnQpLnVybFwiXG4gICAgPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGlkPVwiaW1hZ2UtbGlua1wiIGRpc2FibGVSaXBwbGUgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlV2l0aEludGVybmFsTGluaydcIlxuICAgICAgICBbcm91dGVyTGlua109XCJcbiAgICAgICAgICAgIE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aFxuICAgICAgICAgICAgOiBOYXZVdGlsaXRpZXMuYXNTdHJpbmdSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSlcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkudXJsXCI+XG4gICAgPC9hPlxuICAgIDwhLS0gSW1hZ2Ugd2l0aCBleHRlcm5hbCBsaW5rIC0tPlxuICAgIDxhIGlkPVwiaW1hZ2UtbGlua1wiIGRpc2FibGVSaXBwbGUgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlV2l0aEV4dGVybmFsTGluaydcIlxuICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay51cmxcIlxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkudXJsXCI+XG4gICAgPC9hPlxuICAgIDwhLS0gQnV0dG9uIC0tPlxuICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIididXR0b24nXCJcbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cInJ1bkFjdGlvbigpXCJcbiAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50QnV0dG9uXT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiPjwvaT5cbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkubmFtZX19XG4gICAgPC9idXR0b24+XG4gICAgPCEtLSBGbGF0IEJ1dHRvbiAtLT5cbiAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInYnV0dG9uRmxhdCdcIiBtYXQtYnV0dG9uIChjbGljayk9XCJydW5BY3Rpb24oKVwiIFtjbGFzcy5zaWRlbmF2RWxlbWVudEJ1dHRvbl09XCJzaWRlbmF2RWxlbWVudFwiPlxuICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5pY29uXCIgW25nQ2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzQnV0dG9uKGVsZW1lbnQpLm5hbWV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDwhLS0gSW50ZXJuYWwgTGluayAtLT5cbiAgICA8YSBtYXQtYnV0dG9uICpuZ1N3aXRjaENhc2U9XCInaW50ZXJuYWxMaW5rJ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlxuICAgICAgICAgICAgTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5yb3V0ZSkucGF0aCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkucm91dGUpLnBhdGhcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKVwiXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgICAgIFtjbGFzcy5zaWRlbmF2RWxlbWVudF09XCJzaWRlbmF2RWxlbWVudFwiXG4gICAgPlxuICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5pY29uXCIgW25nQ2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIj48L2k+IFxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5uYW1lfX1cbiAgICA8L2E+XG4gICAgPCEtLSBFeHRlcm5hbCBMaW5rIC0tPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZXh0ZXJuYWxMaW5rJ1wiPlxuICAgICAgICA8YSBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkudXJsXCJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cInNpZGVuYXZFbGVtZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkuaWNvblwiIFtuZ0NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc0V4dGVybmFsTGluayhlbGVtZW50KS5pY29uXCI+PC9pPlxuICAgICAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkubmFtZX19XG4gICAgICAgIDwvYT5cbiAgICA8L3NwYW4+XG4gICAgPCEtLSBDdXN0b20gSFRNTCAtLT5cbiAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2h0bWwnXCIgW2lubmVySHRtbF09XCJzYW5pdGl6ZWRIdG1sXCI+XG4gICAgPC9zcGFuPlxuICAgIDwhLS0gTWVudSAtLT5cbiAgICA8YnV0dG9uICNtZW51QnV0dG9uICpuZ1N3aXRjaENhc2U9XCInbWVudSdcIiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51Lm1lbnVcIiBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwic2lkZW5hdkVsZW1lbnRcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLmljb25cIiBbbmdDbGFzc109XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLmljb25cIj48L2k+XG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5uYW1lfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8bmd4LW1hdC1uYXZpZ2F0aW9uLW1lbnUgI21lbnVcbiAgICAgICAgW25hdk1lbnVdPVwiTmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KVwiXG4gICAgICAgIFtzaWRlbmF2XT1cInNpZGVuYXZcIlxuICAgICAgICBbbWVudVdpZHRoXT1cIm1lbnVXaWR0aFwiPlxuICAgIDwvbmd4LW1hdC1uYXZpZ2F0aW9uLW1lbnU+XG4gICAgXG48L3NwYW4+Il19
@@ -9,20 +9,20 @@ import { MatSidenavModule } from '@angular/material/sidenav';
9
9
  import * as i0 from "@angular/core";
10
10
  export class NavElementModule {
11
11
  }
12
- NavElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NavElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- NavElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: NavElementModule, declarations: [NavElementComponent], imports: [CommonModule,
12
+ NavElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NavElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ NavElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: NavElementModule, declarations: [NavElementComponent], imports: [CommonModule,
14
14
  NavMenuModule,
15
15
  RouterModule,
16
16
  MatMenuModule,
17
17
  MatButtonModule,
18
18
  MatSidenavModule], exports: [NavElementComponent] });
19
- NavElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NavElementModule, imports: [CommonModule,
19
+ NavElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NavElementModule, imports: [CommonModule,
20
20
  NavMenuModule,
21
21
  RouterModule,
22
22
  MatMenuModule,
23
23
  MatButtonModule,
24
24
  MatSidenavModule] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NavElementModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: NavElementModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  imports: [