@onemrvapublic/design-system 16.2.25 → 16.2.29

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.
@@ -40,11 +40,11 @@ export class LayoutRouteComponent {
40
40
  return false;
41
41
  }
42
42
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutRouteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
43
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayoutRouteComponent, selector: "onemrva-layout-route", inputs: { customNgClass: "customNgClass", routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy", baseRouteForActiveMenu: "baseRouteForActiveMenu", label: "label" }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: ["navTpl"], descendants: true }, { propertyName: "mobileTemplate", first: true, predicate: ["navMblTpl"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTpl"], descendants: true }], ngImport: i0, template: "\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span\n [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon\n [matMenuTriggerFor]=\"menu\" style=\"width: 16px;\">expand_more</mat-icon>\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let es of e.subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayoutRouteComponent, selector: "onemrva-layout-route", inputs: { customNgClass: "customNgClass", routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy", baseRouteForActiveMenu: "baseRouteForActiveMenu", label: "label" }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: ["navTpl"], descendants: true }, { propertyName: "mobileTemplate", first: true, predicate: ["navMblTpl"], descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTpl"], descendants: true }], ngImport: i0, template: "\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span\n [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon\n [matMenuTriggerFor]=\"menu\" style=\"width: 16px;\">expand_more</mat-icon>\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass] = \"{'active': e.hasActiveSubroute()}\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let es of e.subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
44
44
  }
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutRouteComponent, decorators: [{
46
46
  type: Component,
47
- args: [{ selector: 'onemrva-layout-route', template: "\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span\n [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon\n [matMenuTriggerFor]=\"menu\" style=\"width: 16px;\">expand_more</mat-icon>\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let es of e.subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n" }]
47
+ args: [{ selector: 'onemrva-layout-route', template: "\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <span\n [matMenuTriggerFor]=\"menu\">\n {{ label }}\n </span>\n <mat-icon\n [matMenuTriggerFor]=\"menu\" style=\"width: 16px;\">expand_more</mat-icon>\n <mat-menu #menu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <ng-container *ngIf=\"!e.hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n <ng-container *ngIf=\"e.hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\"\n [ngClass] = \"{'active': e.hasActiveSubroute()}\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\"></ng-container>\n </ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let es of e.subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"es.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"es.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n </ng-container>\n </mat-menu>\n </ng-container>\n</ng-template>\n\n<ng-template #navMblTpl>\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n</ng-template>\n\n<ng-template #contentTmpl>\n <ng-content></ng-content>\n</ng-template>\n" }]
48
48
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Router }]; }, propDecorators: { customNgClass: [{
49
49
  type: Input
50
50
  }], template: [{
@@ -70,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
70
70
  type: ContentChildren,
71
71
  args: [LayoutSubrouteComponent]
72
72
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9sYXlvdXQvc3JjL2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlL2xheW91dC1yb3V0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1yb3V0ZS9sYXlvdXQtcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxlQUFlLEVBQzFCLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7Ozs7OztBQU1yRixNQUFNLE9BQU8sb0JBQW9CO0lBb0JyQjtJQUNBO0lBcEJELGFBQWEsQ0FBTTtJQUVQLFFBQVEsR0FBNEIsSUFBSSxDQUFDO0lBQ3RDLGNBQWMsR0FBNEIsSUFBSSxDQUFDO0lBQzlDLGVBQWUsR0FBNEIsSUFBSSxDQUFDO0lBRWhFLFVBQVUsQ0FBeUM7SUFDbkQsdUJBQXVCLENBQU87SUFDOUIsTUFBTSxDQUFVO0lBQ2hCLHNCQUFzQixDQUFVO0lBQ2hDLEtBQUssQ0FBVTtJQUd4QixTQUFTLENBQXNDO0lBRS9DLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsWUFDVSxFQUFxQixFQUNyQixNQUFjO1FBRGQsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUNFLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSTtZQUN4QixJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRztZQUNoQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hFLE9BQVEsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBeENVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG9TQWFkLHVCQUF1QiwrVEMzQjFDLHdnRUF5REE7OzRGRDNDYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usc0JBQXNCOzZIQUl2QixhQUFhO3NCQUFyQixLQUFLO2dCQUVlLFFBQVE7c0JBQTVCLFNBQVM7dUJBQUMsUUFBUTtnQkFDSyxjQUFjO3NCQUFyQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0csZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQUVkLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LCBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIFJvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xheW91dFN1YnJvdXRlQ29tcG9uZW50fSBmcm9tIFwiLi4vbGF5b3V0LXN1YnJvdXRlL2xheW91dC1zdWJyb3V0ZS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25lbXJ2YS1sYXlvdXQtcm91dGUnLFxuICB0ZW1wbGF0ZVVybDogJ2xheW91dC1yb3V0ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Um91dGVDb21wb25lbnQge1xuICBASW5wdXQoKSBjdXN0b21OZ0NsYXNzOiBhbnk7XG5cbiAgQFZpZXdDaGlsZCgnbmF2VHBsJykgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnbmF2TWJsVHBsJykgbW9iaWxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnY29udGVudFRwbCcpIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHR5cGVvZiBSb3V0ZXJMaW5rLnByb3RvdHlwZS5yb3V0ZXJMaW5rO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucz86IGFueTtcbiAgQElucHV0KCkgZGF0YUN5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBiYXNlUm91dGVGb3JBY3RpdmVNZW51Pzogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKExheW91dFN1YnJvdXRlQ29tcG9uZW50KVxuICBzdWJyb3V0ZXM/OiBRdWVyeUxpc3Q8TGF5b3V0U3Vicm91dGVDb21wb25lbnQ+O1xuXG4gIGhhc1N1YnJvdXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJyb3V0ZXMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnN1YnJvdXRlcy5sZW5ndGggPiAwO1xuICB9XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc1JvdXRlQWN0aXZlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucm91dGVyTGluayA9PT0gbnVsbCB8fFxuICAgICAgdGhpcy5yb3V0ZXJMaW5rID09PSB1bmRlZmluZWQgKSB7XG4gICAgICBpZiAodGhpcy5iYXNlUm91dGVGb3JBY3RpdmVNZW51KSB7XG4gICAgICAgIGNvbnN0IHNwbGl0X3JvdXRlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IHNwbGl0X21lbnVfcm91dGUgPSB0aGlzLmJhc2VSb3V0ZUZvckFjdGl2ZU1lbnUuc3BsaXQoJy8nKTtcbiAgICAgICAgcmV0dXJuICBzcGxpdF9yb3V0ZVsxXSA9PT0gc3BsaXRfbWVudV9yb3V0ZVsxXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjbmF2VHBsPlxuICA8bmctY29udGFpbmVyICAqbmdJZj1cIiFoYXNTdWJyb3V0ZXMoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VG1wbFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU3Vicm91dGVzKClcIj5cbiAgICA8c3BhblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtaWNvblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBzdHlsZT1cIndpZHRoOiAxNnB4O1wiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgICA8bWF0LW1lbnUgI21lbnU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIHN1YnJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZS5oYXNTdWJyb3V0ZXMoKVwiPlxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImUuaGFzU3Vicm91dGVzKClcIj5cbiAgICAgICAgICA8YnV0dG9uICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Ym1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtbWVudSAjc3VibWVudT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVzIG9mIGUuc3Vicm91dGVzPy50b0FycmF5KCk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZXMucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcy50ZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm91dGVUZW1wbGF0ZVwiPlxuXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNuYXZNYmxUcGw+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VG1wbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50VG1wbD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9sYXlvdXQvc3JjL2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlL2xheW91dC1yb3V0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1yb3V0ZS9sYXlvdXQtcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxlQUFlLEVBQzFCLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7Ozs7OztBQU1yRixNQUFNLE9BQU8sb0JBQW9CO0lBb0JyQjtJQUNBO0lBcEJELGFBQWEsQ0FBTTtJQUVQLFFBQVEsR0FBNEIsSUFBSSxDQUFDO0lBQ3RDLGNBQWMsR0FBNEIsSUFBSSxDQUFDO0lBQzlDLGVBQWUsR0FBNEIsSUFBSSxDQUFDO0lBRWhFLFVBQVUsQ0FBeUM7SUFDbkQsdUJBQXVCLENBQU87SUFDOUIsTUFBTSxDQUFVO0lBQ2hCLHNCQUFzQixDQUFVO0lBQ2hDLEtBQUssQ0FBVTtJQUd4QixTQUFTLENBQXNDO0lBRS9DLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsWUFDVSxFQUFxQixFQUNyQixNQUFjO1FBRGQsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUNFLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSTtZQUN4QixJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRztZQUNoQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hFLE9BQVEsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBeENVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG9TQWFkLHVCQUF1QiwrVEMzQjFDLDRrRUF5REE7OzRGRDNDYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usc0JBQXNCOzZIQUl2QixhQUFhO3NCQUFyQixLQUFLO2dCQUVlLFFBQVE7c0JBQTVCLFNBQVM7dUJBQUMsUUFBUTtnQkFDSyxjQUFjO3NCQUFyQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0csZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZO2dCQUVkLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LCBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIFJvdXRlckxpbmt9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xheW91dFN1YnJvdXRlQ29tcG9uZW50fSBmcm9tIFwiLi4vbGF5b3V0LXN1YnJvdXRlL2xheW91dC1zdWJyb3V0ZS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25lbXJ2YS1sYXlvdXQtcm91dGUnLFxuICB0ZW1wbGF0ZVVybDogJ2xheW91dC1yb3V0ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGF5b3V0Um91dGVDb21wb25lbnQge1xuICBASW5wdXQoKSBjdXN0b21OZ0NsYXNzOiBhbnk7XG5cbiAgQFZpZXdDaGlsZCgnbmF2VHBsJykgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnbmF2TWJsVHBsJykgbW9iaWxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQFZpZXdDaGlsZCgnY29udGVudFRwbCcpIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IHR5cGVvZiBSb3V0ZXJMaW5rLnByb3RvdHlwZS5yb3V0ZXJMaW5rO1xuICBASW5wdXQoKSByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucz86IGFueTtcbiAgQElucHV0KCkgZGF0YUN5Pzogc3RyaW5nO1xuICBASW5wdXQoKSBiYXNlUm91dGVGb3JBY3RpdmVNZW51Pzogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKExheW91dFN1YnJvdXRlQ29tcG9uZW50KVxuICBzdWJyb3V0ZXM/OiBRdWVyeUxpc3Q8TGF5b3V0U3Vicm91dGVDb21wb25lbnQ+O1xuXG4gIGhhc1N1YnJvdXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJyb3V0ZXMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnN1YnJvdXRlcy5sZW5ndGggPiAwO1xuICB9XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc1JvdXRlQWN0aXZlKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMucm91dGVyTGluayA9PT0gbnVsbCB8fFxuICAgICAgdGhpcy5yb3V0ZXJMaW5rID09PSB1bmRlZmluZWQgKSB7XG4gICAgICBpZiAodGhpcy5iYXNlUm91dGVGb3JBY3RpdmVNZW51KSB7XG4gICAgICAgIGNvbnN0IHNwbGl0X3JvdXRlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJyk7XG4gICAgICAgIGNvbnN0IHNwbGl0X21lbnVfcm91dGUgPSB0aGlzLmJhc2VSb3V0ZUZvckFjdGl2ZU1lbnUuc3BsaXQoJy8nKTtcbiAgICAgICAgcmV0dXJuICBzcGxpdF9yb3V0ZVsxXSA9PT0gc3BsaXRfbWVudV9yb3V0ZVsxXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCJcbjxuZy10ZW1wbGF0ZSAjbmF2VHBsPlxuICA8bmctY29udGFpbmVyICAqbmdJZj1cIiFoYXNTdWJyb3V0ZXMoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VG1wbFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU3Vicm91dGVzKClcIj5cbiAgICA8c3BhblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtaWNvblxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBzdHlsZT1cIndpZHRoOiAxNnB4O1wiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cbiAgICA8bWF0LW1lbnUgI21lbnU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIHN1YnJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZS5oYXNTdWJyb3V0ZXMoKVwiPlxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZS5yb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImUuaGFzU3Vicm91dGVzKClcIj5cbiAgICAgICAgICA8YnV0dG9uICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Ym1lbnVcIlxuICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXSA9IFwieydhY3RpdmUnOiBlLmhhc0FjdGl2ZVN1YnJvdXRlKCl9XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZS50ZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8bWF0LW1lbnUgI3N1Ym1lbnU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlcyBvZiBlLnN1YnJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImVzLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXMudGVtcGxhdGUgYXMgcm91dGVUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9tYXQtbWVudT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25hdk1ibFRwbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUbXBsXCI+PC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnRUbXBsPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,15 +1,18 @@
1
1
  import { Component, ContentChildren, Input, TemplateRef, ViewChild, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
3
4
  export class LayoutSubrouteComponent {
4
5
  cd;
6
+ router;
5
7
  customNgClass;
6
8
  template;
7
9
  routerLink;
8
10
  routerLinkActiveOptions;
9
11
  dataCy;
10
12
  subroutes;
11
- constructor(cd) {
13
+ constructor(cd, router) {
12
14
  this.cd = cd;
15
+ this.router = router;
13
16
  }
14
17
  ngAfterViewInit() {
15
18
  this.cd.detectChanges();
@@ -17,13 +20,27 @@ export class LayoutSubrouteComponent {
17
20
  hasSubroutes() {
18
21
  return this.subroutes !== undefined && this.subroutes.length > 0;
19
22
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutSubrouteComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23
+ hasActiveSubroute() {
24
+ return this.subroutes?.some(x => this.isActiveRoute(x)) ?? false;
25
+ }
26
+ isActiveRoute(subroute) {
27
+ if (!!subroute.routerLink) {
28
+ let routerLink = Array.isArray(subroute.routerLink)
29
+ ? this.router.createUrlTree(subroute.routerLink)
30
+ : subroute.routerLink;
31
+ return this.router.isActive(routerLink, { paths: 'exact', queryParams: 'exact', fragment: 'ignored', matrixParams: 'ignored' });
32
+ }
33
+ else {
34
+ return false;
35
+ }
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutSubrouteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
21
38
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LayoutSubrouteComponent, selector: "onemrva-layout-subroute", inputs: { customNgClass: "customNgClass", routerLink: "routerLink", routerLinkActiveOptions: "routerLinkActiveOptions", dataCy: "dataCy" }, queries: [{ propertyName: "subroutes", predicate: LayoutSubrouteComponent }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n" });
22
39
  }
23
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LayoutSubrouteComponent, decorators: [{
24
41
  type: Component,
25
42
  args: [{ selector: 'onemrva-layout-subroute', template: "<!--\n// This does not seem to work for sub menus as they how the sub menu only on click instead of on hover\n<ng-template #navTpl>\n <ng-container *ngIf=\"!hasSubroutes()\">\n <button mat-menu-item\n [routerLink]=\"routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"template as routeTemplate\">\n\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </ng-container>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"hasSubroutes()\">\n <button mat-menu-item\n [matMenuTriggerFor]=\"submenu\">\n <ng-container *ngTemplateOutlet=\"contentTmpl\"></ng-container>\n </button>\n <mat-menu #submenu>\n <ng-container *ngFor=\"let e of subroutes?.toArray(); let i = index\">\n <button mat-menu-item\n [routerLink]=\"e.routerLink\"\n routerLinkActive=\"active\">\n <ng-container *ngIf=\"e.template as routeTemplate\">\n <ng-container *ngTemplateOutlet=\"routeTemplate\">\n\n </ng-container>\n </ng-container>\n </button>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-template #contentTmpl>\n <ng-content></ng-content>\n </ng-template>\n\n</ng-template>-->\n\n\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n" }]
26
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { customNgClass: [{
43
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Router }]; }, propDecorators: { customNgClass: [{
27
44
  type: Input
28
45
  }], template: [{
29
46
  type: ViewChild,
@@ -38,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
38
55
  type: ContentChildren,
39
56
  args: [LayoutSubrouteComponent]
40
57
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXN1YnJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9sYXlvdXQvc3JjL2NvbXBvbmVudHMvbGF5b3V0LXN1YnJvdXRlL2xheW91dC1zdWJyb3V0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1zdWJyb3V0ZS9sYXlvdXQtc3Vicm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxlQUFlLEVBQzFCLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOztBQU92QixNQUFNLE9BQU8sdUJBQXVCO0lBWWQ7SUFYWCxhQUFhLENBQU07SUFFSixRQUFRLENBQW9CO0lBRTNDLFVBQVUsQ0FBa0Q7SUFDNUQsdUJBQXVCLENBQU87SUFDOUIsTUFBTSxDQUFVO0lBR3pCLFNBQVMsQ0FBc0M7SUFFL0MsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFBRyxDQUFDO0lBRTdDLGVBQWU7UUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkUsQ0FBQzt3R0FwQlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIscU9BU2pCLHVCQUF1Qix1RUFON0IsV0FBVyxnRENoQnhCLDJ6Q0E0Q0E7OzRGRC9CYSx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UseUJBQXlCO3dHQUkxQixhQUFhO3NCQUFyQixLQUFLO2dCQUVrQixRQUFRO3NCQUEvQixTQUFTO3VCQUFDLFdBQVc7Z0JBRWIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdOLFNBQVM7c0JBRFIsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LCBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbGF5b3V0LXN1YnJvdXRlJyxcbiAgdGVtcGxhdGVVcmw6ICdsYXlvdXQtc3Vicm91dGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExheW91dFN1YnJvdXRlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY3VzdG9tTmdDbGFzczogYW55O1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKSByb3V0ZXJMaW5rOiB0eXBlb2YgUm91dGVyTGluay5wcm90b3R5cGUucm91dGVyTGluayB8IHN0cmluZztcbiAgQElucHV0KCkgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGFDeT86IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKExheW91dFN1YnJvdXRlQ29tcG9uZW50KVxuICBzdWJyb3V0ZXM/OiBRdWVyeUxpc3Q8TGF5b3V0U3Vicm91dGVDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGhhc1N1YnJvdXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJyb3V0ZXMgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnN1YnJvdXRlcy5sZW5ndGggPiAwO1xuICB9XG59XG4iLCI8IS0tXG4vLyBUaGlzIGRvZXMgbm90IHNlZW0gdG8gd29yayBmb3Igc3ViIG1lbnVzIGFzIHRoZXkgaG93IHRoZSBzdWIgbWVudSBvbmx5IG9uIGNsaWNrIGluc3RlYWQgb2Ygb24gaG92ZXJcbjxuZy10ZW1wbGF0ZSAjbmF2VHBsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc1N1YnJvdXRlcygpXCI+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1N1YnJvdXRlcygpXCI+XG4gICAgPGJ1dHRvbiAgbWF0LW1lbnUtaXRlbVxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Ym1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRtcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI3N1Ym1lbnU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIHN1YnJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImUucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZVRlbXBsYXRlXCI+XG5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRtcGw+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXRlbXBsYXRlPi0tPlxuXG5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXN1YnJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9sYXlvdXQvc3JjL2NvbXBvbmVudHMvbGF5b3V0LXN1YnJvdXRlL2xheW91dC1zdWJyb3V0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vbGF5b3V0L3NyYy9jb21wb25lbnRzL2xheW91dC1zdWJyb3V0ZS9sYXlvdXQtc3Vicm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFBRSxlQUFlLEVBQzFCLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7QUFPdkIsTUFBTSxPQUFPLHVCQUF1QjtJQVlkO0lBQStCO0lBWDFDLGFBQWEsQ0FBTTtJQUVKLFFBQVEsQ0FBb0I7SUFFM0MsVUFBVSxDQUFrRDtJQUM1RCx1QkFBdUIsQ0FBTztJQUM5QixNQUFNLENBQVU7SUFHekIsU0FBUyxDQUFzQztJQUUvQyxZQUFvQixFQUFxQixFQUFVLE1BQWM7UUFBN0MsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUV0RSxlQUFlO1FBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUNuRSxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWlDO1FBQ3JELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDekIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDaEQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFFeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQ3BDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDM0Y7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO3dHQXJDVSx1QkFBdUI7NEZBQXZCLHVCQUF1QixxT0FTakIsdUJBQXVCLHVFQU43QixXQUFXLGdEQ2hCeEIsMnpDQTRDQTs7NEZEL0JhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSx5QkFBeUI7NkhBSTFCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRWtCLFFBQVE7c0JBQS9CLFNBQVM7dUJBQUMsV0FBVztnQkFFYixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR04sU0FBUztzQkFEUixlQUFlO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvbmVtcnZhLWxheW91dC1zdWJyb3V0ZScsXG4gIHRlbXBsYXRlVXJsOiAnbGF5b3V0LXN1YnJvdXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRTdWJyb3V0ZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGN1c3RvbU5nQ2xhc3M6IGFueTtcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KCkgcm91dGVyTGluazogdHlwZW9mIFJvdXRlckxpbmsucHJvdG90eXBlLnJvdXRlckxpbmsgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogYW55O1xuICBASW5wdXQoKSBkYXRhQ3k/OiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMYXlvdXRTdWJyb3V0ZUNvbXBvbmVudClcbiAgc3Vicm91dGVzPzogUXVlcnlMaXN0PExheW91dFN1YnJvdXRlQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaGFzU3Vicm91dGVzKCkge1xuICAgIHJldHVybiB0aGlzLnN1YnJvdXRlcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3Vicm91dGVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBoYXNBY3RpdmVTdWJyb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJyb3V0ZXM/LnNvbWUoeCA9PiB0aGlzLmlzQWN0aXZlUm91dGUoeCkpID8/IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FjdGl2ZVJvdXRlKHN1YnJvdXRlOiBMYXlvdXRTdWJyb3V0ZUNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIGlmICghIXN1YnJvdXRlLnJvdXRlckxpbmspIHtcbiAgICAgIGxldCByb3V0ZXJMaW5rID0gQXJyYXkuaXNBcnJheShzdWJyb3V0ZS5yb3V0ZXJMaW5rKVxuICAgICAgICA/IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoc3Vicm91dGUucm91dGVyTGluaylcbiAgICAgICAgOiBzdWJyb3V0ZS5yb3V0ZXJMaW5rO1xuXG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuaXNBY3RpdmUocm91dGVyTGluayxcbiAgICAgICAgeyBwYXRoczogJ2V4YWN0JywgcXVlcnlQYXJhbXM6ICdleGFjdCcsIGZyYWdtZW50OiAnaWdub3JlZCcsIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4vLyBUaGlzIGRvZXMgbm90IHNlZW0gdG8gd29yayBmb3Igc3ViIG1lbnVzIGFzIHRoZXkgaG93IHRoZSBzdWIgbWVudSBvbmx5IG9uIGNsaWNrIGluc3RlYWQgb2Ygb24gaG92ZXJcbjxuZy10ZW1wbGF0ZSAjbmF2VHBsPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc1N1YnJvdXRlcygpXCI+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rXCJcbiAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZSBhcyByb3V0ZVRlbXBsYXRlXCI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUbXBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc1N1YnJvdXRlcygpXCI+XG4gICAgPGJ1dHRvbiAgbWF0LW1lbnUtaXRlbVxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Ym1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRtcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI3N1Ym1lbnU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlIG9mIHN1YnJvdXRlcz8udG9BcnJheSgpOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImUucm91dGVyTGlua1wiXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlLnRlbXBsYXRlIGFzIHJvdXRlVGVtcGxhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3V0ZVRlbXBsYXRlXCI+XG5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudFRtcGw+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L25nLXRlbXBsYXRlPlxuXG48L25nLXRlbXBsYXRlPi0tPlxuXG5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2,8 +2,7 @@ import { Component, ContentChildren, forwardRef, HostBinding, Input, QueryList }
2
2
  import { FormControl, NG_VALUE_ACCESSOR } from "@angular/forms";
3
3
  import { MatFormFieldControl } from "@angular/material/form-field";
4
4
  import { MatOption } from "@angular/material/core";
5
- import { map, startWith } from "rxjs/operators";
6
- import { Observable } from "rxjs";
5
+ import { debounceTime, map, Observable, startWith, Subject, takeUntil } from "rxjs";
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@ngx-translate/core";
9
8
  import * as i2 from "@angular/common";
@@ -15,6 +14,7 @@ import * as i7 from "@onemrvapublic/design-system/mat-select-search";
15
14
  let NEXT_ID = 0;
16
15
  export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
17
16
  translate;
17
+ cd;
18
18
  counter = 0;
19
19
  _values = [];
20
20
  stateChanges = new Observable();
@@ -28,18 +28,23 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
28
28
  searchFilter = new FormControl('');
29
29
  matOptions = new QueryList();
30
30
  matOptions$;
31
+ onDestroy$ = new Subject();
31
32
  get opacity() {
32
33
  return this.disabled ? 0.25 : 1;
33
34
  }
34
- constructor(translate) {
35
+ constructor(translate, cd) {
35
36
  super();
36
37
  this.translate = translate;
38
+ this.cd = cd;
37
39
  }
38
40
  // Function to call when the rating changes.
39
41
  onChange = (values) => {
42
+ console.log('onChange');
40
43
  };
41
44
  // Function to call when the input is touched (when a star is clicked).
42
- onTouched = () => { };
45
+ onTouched = () => {
46
+ console.log('onTouched');
47
+ };
43
48
  // Allows Angular to update the model (rating).
44
49
  // Update the model and changes needed for the view here.
45
50
  writeValue(values) {
@@ -78,25 +83,29 @@ export class OnemrvaMatMultiSelectComponent extends MatFormFieldControl {
78
83
  }
79
84
  setDescribedByIds(ids) {
80
85
  }
81
- ngAfterViewInit() {
82
- }
83
86
  ngOnDestroy() {
87
+ this.onDestroy$.next('');
88
+ this.onDestroy$.complete();
84
89
  }
85
90
  ngOnInit() {
86
- this.matOptions$ = this.searchFilter.valueChanges.pipe(startWith(''), map((value) => {
87
- if (value === '') {
88
- return this.matOptions.filter((o) => { return true; });
89
- }
90
- return this.matOptions.filter((option) => {
91
- return option?._text?.nativeElement.innerHTML.toLowerCase().includes(value.toLowerCase());
92
- });
93
- }));
94
- this.formControl.valueChanges.subscribe((values) => {
91
+ this.formControl.valueChanges.pipe(takeUntil(this.onDestroy$)).subscribe((values) => {
95
92
  this._values = values;
96
93
  this.counter = this._values.length;
97
94
  });
98
95
  }
99
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
96
+ ngAfterContentChecked() {
97
+ if (this.matOptions.length > 0) {
98
+ this.matOptions$ = this.searchFilter.valueChanges.pipe(debounceTime(200), startWith(''), map((value) => {
99
+ if (value === '') {
100
+ return this.matOptions.filter((o) => { return true; });
101
+ }
102
+ return this.matOptions.filter((option) => {
103
+ return option?._text?.nativeElement.innerHTML.toLowerCase().includes(value.toLowerCase());
104
+ });
105
+ }));
106
+ }
107
+ }
108
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OnemrvaMatMultiSelectComponent, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
100
109
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OnemrvaMatMultiSelectComponent, selector: "onemrva-mat-multi-select", inputs: { formControl: "formControl", role: ["attr.role", "role"], label: ["attr.arai-label", "label"], invalid: ["attr.aria-invalid", "invalid"], showFilter: "showFilter", selectionToggle: "selectionToggle", dataCy: ["attr.data-cy", "dataCy"] }, host: { properties: { "style.opacity": "this.opacity" } }, providers: [
101
110
  {
102
111
  provide: MatFormFieldControl,
@@ -140,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
140
149
  // useExisting: OnemrvaMatMultiSelectComponent,
141
150
  // },
142
151
  ], template: "<mat-select multiple=\"true\" [formControl]=\"formControl\" [attr.data-cy]=\"dataCy\" [attr.role]=\"role\" [attr.aria-label]=\"label\">\n<div class=\"selection-choice\" *ngIf=\"selectionToggle\">\n <a class=\"small\"\n [ngClass]=\"{'disabled':isAllSelected()}\"\n (click)=\"selectAll()\" >{{ 'select.select.all' | translate }}</a><span class=\"small grey\">&nbsp;&nbsp;|&nbsp;&nbsp;</span>\n <a class=\"small\"\n [ngClass]=\"{'disabled':isNoneSelected()}\"\n (click)=\"deselectAll($event)\" >{{ 'select.deselect.all' | translate }}</a></div>\n <div class=\"option-list\">\n <mat-option\n *ngIf=\"showFilter\">\n <mat-select-search\n [formControl]=\"searchFilter\"\n ariaLabel=\"{{ 'select.search.filter' | translate }}\"\n noEntriesFoundLabel=\"{{ 'select.search.notFound' | translate }}\"\n placeholderLabel=\"{{ 'select.search.filter' | translate }}\"\n ></mat-select-search>\n </mat-option>\n <ng-container *ngFor=\"let matOption of matOptions$ | async \">\n <mat-option [disabled]=\"matOption.disabled\"\n [value]=\"matOption.value\" [attr.data-cy]=\"matOption._getHostElement().dataset['cy']\">\n {{ matOption._text?.nativeElement?.innerHTML }}\n </mat-option>\n </ng-container>\n </div>\n</mat-select>\n<div class=\"mat-select-counter\" *ngIf=\"counter > 0\"><span class=\"text\">{{ counter }}</span><mat-icon (click)=\"deselectAll($event)\">close</mat-icon></div>\n" }]
143
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { formControl: [{
152
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formControl: [{
144
153
  type: Input
145
154
  }], role: [{
146
155
  type: Input,
@@ -165,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
165
174
  type: HostBinding,
166
175
  args: ['style.opacity']
167
176
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtbXVsdGktc2VsZWN0L3NyYy9vbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tdWx0aS1zZWxlY3Qvc3JjL29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUFFLGVBQWUsRUFBZ0IsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFDdkcsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUVoQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUEwQmhCLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBd0I7SUF5Q2pFO0lBckNULE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDWixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ0wsWUFBWSxHQUFxQixJQUFJLFVBQVUsRUFBTyxDQUFDO0lBR3ZFLFdBQVcsQ0FBZTtJQUduQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBR1YsS0FBSyxHQUFHLEVBQUUsQ0FBQztJ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LEdBQUcsRUFBRSwrQkFBK0IsQ0FBQzs0QkFDN0QsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsSUFBSTt3QkFDSixrQ0FBa0M7d0JBQ2xDLGlEQUFpRDt3QkFDakQsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLDBDQUEwQzt3QkFDMUMsaURBQWlEO3dCQUNqRCxLQUFLO3FCQUNOO3VHQVdELFdBQVc7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7dUJBQUMsV0FBVztnQkFJWCxLQUFLO3NCQURYLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUlqQixPQUFPO3NCQURiLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUkxQixVQUFVO3NCQURULEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSzt1QkFBQyxjQUFjO2dCQU1yQixVQUFVO3NCQURULGVBQWU7dUJBQUMsU0FBUztnQkFLdEIsT0FBTztzQkFEVixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge01hdEZvcm1GaWVsZENvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge01hdE9wdGlvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtvcHRpb259IGZyb20gXCJ5YXJnc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuXG5sZXQgTkVYVF9JRCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCxcbiAgICAgIHVzZUV4aXN0aW5nOiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgICBtdWx0aTogZmFsc2VcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH1cbiAgICAvLyB7XG4gICAgLy8gICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgIC8vICAgdXNlRXhpc3Rpbmc6IE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICAvLyB9LFxuICAgIC8vIHtcbiAgICAvLyAgIHByb3ZpZGU6IE1BVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCxcbiAgICAvLyAgIHVzZUV4aXN0aW5nOiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgLy8gfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxhbnk+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXRcbntcblxuICBjb3VudGVyID0gMDtcbiAgX3ZhbHVlcyA6IGFueVtdID0gW107XG4gIHB1YmxpYyBvdmVycmlkZSBzdGF0ZUNoYW5nZXMgOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZTxhbnk+KCk7XG5cbiAgQElucHV0KClcbiAgZm9ybUNvbnRyb2whOiBGb3JtQ29udHJvbDtcblxuICBASW5wdXQoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyByb2xlID0gJyc7XG5cbiAgQElucHV0KCdhdHRyLmFyYWktbGFiZWwnKVxuICBwdWJsaWMgbGFiZWwgPSAnJztcblxuICBASW5wdXQoJ2F0dHIuYXJpYS1pbnZhbGlkJylcbiAgcHVibGljIGludmFsaWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzZWxlY3Rpb25Ub2dnbGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnYXR0ci5kYXRhLWN5JylcbiAgcHVibGljIGRhdGFDeSA9IGBvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QtJHtORVhUX0lEKyt9YDtcblxuICBzZWFyY2hGaWx0ZXI6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0T3B0aW9uKVxuICBtYXRPcHRpb25zOiBRdWVyeUxpc3Q8TWF0T3B0aW9uPiA9IG5ldyBRdWVyeUxpc3Q8TWF0T3B0aW9uPigpO1xuICBtYXRPcHRpb25zJD86IE9ic2VydmFibGU8TWF0T3B0aW9uPGFueT5bXT47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vcGFjaXR5JylcbiAgZ2V0IG9wYWNpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAwLjI1IDogMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICB9XG5cbiAgLy8gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSByYXRpbmcgY2hhbmdlcy5cbiAgb25DaGFuZ2UgPSAodmFsdWVzOiBhbnlbXSkgPT4ge1xuICB9O1xuXG4gIC8vIEZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgaW5wdXQgaXMgdG91Y2hlZCAod2hlbiBhIHN0YXIgaXMgY2xpY2tlZCkuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG5cbiAgLy8gQWxsb3dzIEFuZ3VsYXIgdG8gdXBkYXRlIHRoZSBtb2RlbCAocmF0aW5nKS5cbiAgLy8gVXBkYXRlIHRoZSBtb2RlbCBhbmQgY2hhbmdlcyBuZWVkZWQgZm9yIHRoZSB2aWV3IGhlcmUuXG4gIHdyaXRlVmFsdWUodmFsdWVzOiBhbnlbXSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZXMgIT09IG51bGwpXG4gICAgICB0aGlzLmNvdW50ZXIgPSB2YWx1ZXMubGVuZ3RoO1xuICAgIHRoaXMuX3ZhbHVlcyA9IHZhbHVlcztcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlcyk7XG4gIH1cblxuICAvLyBBbGxvd3MgQW5ndWxhciB0byByZWdpc3RlciBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgbW9kZWwgKHJhdGluZykgY2hhbmdlcy5cbiAgLy8gU2F2ZSB0aGUgZnVuY3Rpb24gYXMgYSBwcm9wZXJ0eSB0byBjYWxsIGxhdGVyIGhlcmUuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBBbGxvd3MgQW5ndWxhciB0byByZWdpc3RlciBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgaW5wdXQgaGFzIGJlZW4gdG91Y2hlZC5cbiAgLy8gU2F2ZSB0aGUgZnVuY3Rpb24gYXMgYSBwcm9wZXJ0eSB0byBjYWxsIGxhdGVyIGhlcmUuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRlciA9PT0gdGhpcy5tYXRPcHRpb25zLmxlbmd0aDtcbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLl92YWx1ZXMgPSB0aGlzLm1hdE9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgIHJldHVybiBvcHRpb24udmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl92YWx1ZXMpO1xuICB9XG5cbiAgaXNOb25lU2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY291bnRlciA9PT0gMDtcbiAgfVxuXG4gIGRlc2VsZWN0QWxsKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5fdmFsdWVzKTtcbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgfVxuXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYXRPcHRpb25zJCA9IHRoaXMuc2VhcmNoRmlsdGVyLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICAgIG1hcCgodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF0T3B0aW9ucy5maWx0ZXIoKG8pPT4ge3JldHVybiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubWF0T3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRpb24/Ll90ZXh0Py5uYXRpdmVFbGVtZW50LmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKVxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICB0aGlzLl92YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICB0aGlzLmNvdW50ZXIgPSB0aGlzLl92YWx1ZXMubGVuZ3RoO1xuICAgIH0pXG4gIH1cbn1cbiIsIjxtYXQtc2VsZWN0IG11bHRpcGxlPVwidHJ1ZVwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIFthdHRyLmRhdGEtY3ldPVwiZGF0YUN5XCIgW2F0dHIucm9sZV09XCJyb2xlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiPlxuPGRpdiBjbGFzcz1cInNlbGVjdGlvbi1jaG9pY2VcIiAqbmdJZj1cInNlbGVjdGlvblRvZ2dsZVwiPlxuICAgIDxhIGNsYXNzPVwic21hbGxcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmlzQWxsU2VsZWN0ZWQoKX1cIlxuICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiID57eyAnc2VsZWN0LnNlbGVjdC5hbGwnIHwgdHJhbnNsYXRlIH19PC9hPjxzcGFuIGNsYXNzPVwic21hbGwgZ3JleVwiPiZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDs8L3NwYW4+XG4gICAgPGEgY2xhc3M9XCJzbWFsbFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6aXNOb25lU2VsZWN0ZWQoKX1cIlxuICAgICAgIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCIgPnt7ICdzZWxlY3QuZGVzZWxlY3QuYWxsJyB8IHRyYW5zbGF0ZSB9fTwvYT48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm9wdGlvbi1saXN0XCI+XG4gICAgPG1hdC1vcHRpb25cbiAgICAgICpuZ0lmPVwic2hvd0ZpbHRlclwiPlxuICAgICAgPG1hdC1zZWxlY3Qtc2VhcmNoXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hGaWx0ZXJcIlxuICAgICAgICBhcmlhTGFiZWw9XCJ7eyAnc2VsZWN0LnNlYXJjaC5maWx0ZXInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgbm9FbnRyaWVzRm91bmRMYWJlbD1cInt7ICdzZWxlY3Quc2VhcmNoLm5vdEZvdW5kJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIHBsYWNlaG9sZGVyTGFiZWw9XCJ7eyAnc2VsZWN0LnNlYXJjaC5maWx0ZXInIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgID48L21hdC1zZWxlY3Qtc2VhcmNoPlxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtYXRPcHRpb24gb2YgbWF0T3B0aW9ucyQgfCBhc3luYyBcIj5cbiAgICAgIDxtYXQtb3B0aW9uIFtkaXNhYmxlZF09XCJtYXRPcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm1hdE9wdGlvbi52YWx1ZVwiIFthdHRyLmRhdGEtY3ldPVwibWF0T3B0aW9uLl9nZXRIb3N0RWxlbWVudCgpLmRhdGFzZXRbJ2N5J11cIj5cbiAgICAgICAge3sgbWF0T3B0aW9uLl90ZXh0Py5uYXRpdmVFbGVtZW50Py5pbm5lckhUTUwgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L21hdC1zZWxlY3Q+XG48ZGl2IGNsYXNzPVwibWF0LXNlbGVjdC1jb3VudGVyXCIgKm5nSWY9XCJjb3VudGVyID4gMFwiPjxzcGFuIGNsYXNzPVwidGV4dFwiPnt7IGNvdW50ZXIgfX08L3NwYW4+PG1hdC1pY29uIChjbGljayk9XCJkZXNlbGVjdEFsbCgkZXZlbnQpXCI+Y2xvc2U8L21hdC1pY29uPjwvZGl2PlxuIl19
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9tYXQtbXVsdGktc2VsZWN0L3NyYy9vbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL21hdC1tdWx0aS1zZWxlY3Qvc3JjL29uZW1ydmEtbWF0LW11bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQUVsRixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUEwQmhCLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBd0I7SUEwQ2pFO0lBQ0E7SUF2Q1QsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDTCxZQUFZLEdBQXFCLElBQUksVUFBVSxFQUFPLENBQUM7SUFHdkUsV0FBVyxDQUFlO0lBR25CLElBQUksR0FBRyxFQUFFLENBQUM7SUFHVixLQUFLLEdBQUcsRUFBRSxDQUFDO0lB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aUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzdELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRCxJQUFJO1lBQ0osa0NBQWtDO1lBQ2xDLGlEQUFpRDtZQUNqRCxLQUFLO1lBQ0wsSUFBSTtZQUNKLDBDQUEwQztZQUMxQyxpREFBaUQ7WUFDakQsS0FBSztTQUNOLHFEQWlDaUIsU0FBUyxvREM1RTdCLHU5Q0EyQkE7OzRGRGtCYSw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNFLDBCQUEwQixhQUV6Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLGdDQUFnQzs0QkFDM0MsS0FBSyxFQUFFLEtBQUs7eUJBQ2I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsK0JBQStCLENBQUM7NEJBQzdELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELElBQUk7d0JBQ0osa0NBQWtDO3dCQUNsQyxpREFBaUQ7d0JBQ2pELEtBQUs7d0JBQ0wsSUFBSTt3QkFDSiwwQ0FBMEM7d0JBQzFDLGlEQUFpRDt3QkFDakQsS0FBSztxQkFDTjt1SUFXRCxXQUFXO3NCQURWLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO3VCQUFDLFdBQVc7Z0JBSVgsS0FBSztzQkFEWCxLQUFLO3VCQUFDLGlCQUFpQjtnQkFJakIsT0FBTztzQkFEYixLQUFLO3VCQUFDLG1CQUFtQjtnQkFJMUIsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7dUJBQUMsY0FBYztnQkFNckIsVUFBVTtzQkFEVCxlQUFlO3VCQUFFLFNBQVM7Z0JBTXZCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7TWF0Rm9ybUZpZWxkQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7TWF0T3B0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBTdWJqZWN0LCB0YWtlVW50aWx9IGZyb20gXCJyeGpzXCI7XG5cbmxldCBORVhUX0lEID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICdvbmVtcnZhLW1hdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICAgIG11bHRpOiBmYWxzZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPbmVtcnZhTWF0TXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICAgIC8vIHtcbiAgICAvLyAgIHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsXG4gICAgLy8gICB1c2VFeGlzdGluZzogT25lbXJ2YU1hdE11bHRpU2VsZWN0Q29tcG9uZW50LFxuICAgIC8vIH0sXG4gICAgLy8ge1xuICAgIC8vICAgcHJvdmlkZTogTUFUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5ULFxuICAgIC8vICAgdXNlRXhpc3Rpbmc6IE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICAvLyB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFNYXRNdWx0aVNlbGVjdENvbXBvbmVudCBleHRlbmRzIE1hdEZvcm1GaWVsZENvbnRyb2w8YW55PlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG5cbiAgY291bnRlciA9IDA7XG4gIF92YWx1ZXMgOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgb3ZlcnJpZGUgc3RhdGVDaGFuZ2VzIDogT2JzZXJ2YWJsZTxhbnk+ID0gbmV3IE9ic2VydmFibGU8YW55PigpO1xuXG4gIEBJbnB1dCgpXG4gIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XG5cbiAgQElucHV0KCdhdHRyLnJvbGUnKVxuICBwdWJsaWMgcm9sZSA9ICcnO1xuXG4gIEBJbnB1dCgnYXR0ci5hcmFpLWxhYmVsJylcbiAgcHVibGljIGxhYmVsID0gJyc7XG5cbiAgQElucHV0KCdhdHRyLmFyaWEtaW52YWxpZCcpXG4gIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2hvd0ZpbHRlcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0aW9uVG9nZ2xlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoJ2F0dHIuZGF0YS1jeScpXG4gIHB1YmxpYyBkYXRhQ3kgPSBgb25lbXJ2YS1tYXQtbXVsdGktc2VsZWN0LSR7TkVYVF9JRCsrfWA7XG5cbiAgc2VhcmNoRmlsdGVyOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcblxuICBAQ29udGVudENoaWxkcmVuKCBNYXRPcHRpb24pXG4gIG1hdE9wdGlvbnM6IFF1ZXJ5TGlzdDxNYXRPcHRpb24+ID0gbmV3IFF1ZXJ5TGlzdDxNYXRPcHRpb24+KCk7XG4gIG1hdE9wdGlvbnMkPzogT2JzZXJ2YWJsZTxNYXRPcHRpb248YW55PltdPjtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5vcGFjaXR5JylcbiAgZ2V0IG9wYWNpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAwLjI1IDogMTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLy8gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSByYXRpbmcgY2hhbmdlcy5cbiAgb25DaGFuZ2UgPSAodmFsdWVzOiBhbnlbXSkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdvbkNoYW5nZScpO1xuICB9O1xuXG4gIC8vIEZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB0aGUgaW5wdXQgaXMgdG91Y2hlZCAod2hlbiBhIHN0YXIgaXMgY2xpY2tlZCkuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICBjb25zb2xlLmxvZygnb25Ub3VjaGVkJyk7XG4gIH07XG5cblxuICAvLyBBbGxvd3MgQW5ndWxhciB0byB1cGRhdGUgdGhlIG1vZGVsIChyYXRpbmcpLlxuICAvLyBVcGRhdGUgdGhlIG1vZGVsIGFuZCBjaGFuZ2VzIG5lZWRlZCBmb3IgdGhlIHZpZXcgaGVyZS5cbiAgd3JpdGVWYWx1ZSh2YWx1ZXM6IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlcyAhPT0gbnVsbClcbiAgICAgIHRoaXMuY291bnRlciA9IHZhbHVlcy5sZW5ndGg7XG4gICAgdGhpcy5fdmFsdWVzID0gdmFsdWVzO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWVzKTtcbiAgfVxuXG4gIC8vIEFsbG93cyBBbmd1bGFyIHRvIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBtb2RlbCAocmF0aW5nKSBjaGFuZ2VzLlxuICAvLyBTYXZlIHRoZSBmdW5jdGlvbiBhcyBhIHByb3BlcnR5IHRvIGNhbGwgbGF0ZXIgaGVyZS5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIEFsbG93cyBBbmd1bGFyIHRvIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSBpbnB1dCBoYXMgYmVlbiB0b3VjaGVkLlxuICAvLyBTYXZlIHRoZSBmdW5jdGlvbiBhcyBhIHByb3BlcnR5IHRvIGNhbGwgbGF0ZXIgaGVyZS5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudGVyID09PSB0aGlzLm1hdE9wdGlvbnMubGVuZ3RoO1xuICB9XG5cbiAgc2VsZWN0QWxsKCkge1xuICAgIHRoaXMuX3ZhbHVlcyA9IHRoaXMubWF0T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuX3ZhbHVlcyk7XG4gIH1cblxuICBpc05vbmVTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudGVyID09PSAwO1xuICB9XG5cbiAgZGVzZWxlY3RBbGwoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5fdmFsdWVzID0gW107XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLl92YWx1ZXMpO1xuICB9XG5cbiAgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICB9XG5cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoJycpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgdGhpcy5fdmFsdWVzID0gdmFsdWVzO1xuICAgICAgdGhpcy5jb3VudGVyID0gdGhpcy5fdmFsdWVzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWF0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm1hdE9wdGlvbnMkID0gdGhpcy5zZWFyY2hGaWx0ZXIudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICBzdGFydFdpdGgoJycpLFxuICAgICAgICBtYXAoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXRPcHRpb25zLmZpbHRlcigobyk9PiB7cmV0dXJuIHRydWV9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF0T3B0aW9ucy5maWx0ZXIoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbj8uX3RleHQ/Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1zZWxlY3QgbXVsdGlwbGU9XCJ0cnVlXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW2F0dHIuZGF0YS1jeV09XCJkYXRhQ3lcIiBbYXR0ci5yb2xlXT1cInJvbGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCI+XG48ZGl2IGNsYXNzPVwic2VsZWN0aW9uLWNob2ljZVwiICpuZ0lmPVwic2VsZWN0aW9uVG9nZ2xlXCI+XG4gICAgPGEgY2xhc3M9XCJzbWFsbFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6aXNBbGxTZWxlY3RlZCgpfVwiXG4gICAgICAgKGNsaWNrKT1cInNlbGVjdEFsbCgpXCIgPnt7ICdzZWxlY3Quc2VsZWN0LmFsbCcgfCB0cmFuc2xhdGUgfX08L2E+PHNwYW4gY2xhc3M9XCJzbWFsbCBncmV5XCI+Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOzwvc3Bhbj5cbiAgICA8YSBjbGFzcz1cInNtYWxsXCJcbiAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzppc05vbmVTZWxlY3RlZCgpfVwiXG4gICAgICAgKGNsaWNrKT1cImRlc2VsZWN0QWxsKCRldmVudClcIiA+e3sgJ3NlbGVjdC5kZXNlbGVjdC5hbGwnIHwgdHJhbnNsYXRlIH19PC9hPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib3B0aW9uLWxpc3RcIj5cbiAgICA8bWF0LW9wdGlvblxuICAgICAgKm5nSWY9XCJzaG93RmlsdGVyXCI+XG4gICAgICA8bWF0LXNlbGVjdC1zZWFyY2hcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaEZpbHRlclwiXG4gICAgICAgIGFyaWFMYWJlbD1cInt7ICdzZWxlY3Quc2VhcmNoLmZpbHRlcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICBub0VudHJpZXNGb3VuZExhYmVsPVwie3sgJ3NlbGVjdC5zZWFyY2gubm90Rm91bmQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgcGxhY2Vob2xkZXJMYWJlbD1cInt7ICdzZWxlY3Quc2VhcmNoLmZpbHRlcicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgPjwvbWF0LXNlbGVjdC1zZWFyY2g+XG4gICAgPC9tYXQtb3B0aW9uPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1hdE9wdGlvbiBvZiBtYXRPcHRpb25zJCB8IGFzeW5jIFwiPlxuICAgICAgPG1hdC1vcHRpb24gW2Rpc2FibGVkXT1cIm1hdE9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibWF0T3B0aW9uLnZhbHVlXCIgW2F0dHIuZGF0YS1jeV09XCJtYXRPcHRpb24uX2dldEhvc3RFbGVtZW50KCkuZGF0YXNldFsnY3knXVwiPlxuICAgICAgICB7eyBtYXRPcHRpb24uX3RleHQ/Lm5hdGl2ZUVsZW1lbnQ/LmlubmVySFRNTCB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbWF0LXNlbGVjdD5cbjxkaXYgY2xhc3M9XCJtYXQtc2VsZWN0LWNvdW50ZXJcIiAqbmdJZj1cImNvdW50ZXIgPiAwXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0XCI+e3sgY291bnRlciB9fTwvc3Bhbj48bWF0LWljb24gKGNsaWNrKT1cImRlc2VsZWN0QWxsKCRldmVudClcIj5jbG9zZTwvbWF0LWljb24+PC9kaXY+XG4iXX0=