@acorex/components 4.2.15 → 4.2.16

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.
@@ -53,10 +53,10 @@ export class AXMenuComponent {
53
53
  }
54
54
  }
55
55
  AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
56
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\" [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\" *ngIf=\"item.visible === undefined || item.visible\"\r\n (click)=\"handleItemClick($event,item)\" axTooltip [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\" [tooltip]=\"item.tooltip ? item.tooltip : ''\" >\r\n <span>\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{item.text}}</span>\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n </span>\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n", directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
56
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>", directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\" [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\" *ngIf=\"item.visible === undefined || item.visible\"\r\n (click)=\"handleItemClick($event,item)\" axTooltip [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\" [tooltip]=\"item.tooltip ? item.tooltip : ''\" >\r\n <span>\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{item.text}}</span>\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n </span>\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n" }]
59
+ args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>" }]
60
60
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _contentMenuTemplate: [{
61
61
  type: ContentChild,
62
62
  args: [TemplateRef, { static: true }]
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
83
83
  }], items: [{
84
84
  type: Input
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFHakIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRS9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUErQjtDQUV4RTtBQU9ELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUEvQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFxQm5FLGdCQUFXLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRzNGLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBR3BCLGNBQVMsR0FBbUMsTUFBTSxDQUFDO1FBR25ELFNBQUksR0FBK0MsU0FBUyxDQUFDO1FBYzdELGNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBM0MzRCxDQUFDO0lBTUQsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBa0NELElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBZTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQztJQUdELGVBQWUsQ0FBQyxDQUFhLEVBQUUsSUFBaUI7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25HLE1BQU0sQ0FBQyxHQUFHO2dCQUNSLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7Z0JBQ25DLFNBQVMsRUFBRSxDQUFDO2dCQUNaLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUNqQixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDaEI7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFFRCxPQUFPO1NBQ1I7SUFDSCxDQUFDOzs2R0FuRlUsZUFBZTtpR0FBZixlQUFlLGtYQUtaLFdBQVcsOERDL0IzQiwrbkhBaUVBOzRGRHZDYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSTtpSUFRckMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2hDLFlBQVk7c0JBRHRCLEtBQUs7Z0JBV04sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQU1DLFNBQVM7c0JBRGYsS0FBSztnQkFLSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgTmdab25lLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbnRlbnRDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBsYWNlbWVudCwgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYTWVudUl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhFdmVudDxBWE1lbnVJdGVtLCBNb3VzZUV2ZW50PiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBfY29udGVudE1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBfbWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtZW51VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWVudVRlbXBsYXRlID8gdGhpcy5fbWVudVRlbXBsYXRlIDogdGhpcy5fY29udGVudE1lbnVUZW1wbGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBtZW51VGVtcGxhdGUodjogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgdGhpcy5fbWVudVRlbXBsYXRlID0gdjtcclxuICB9XHJcblxyXG4gIHJlc2l6ZUNoYW5nZU9ic2VydmVyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnRsOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYTWVudUl0ZW1DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGlvbjogJ25vbmUnIHwgJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ25vbmUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlOiAnY2xpY2snIHwgJ2NvbnRleHQnIHwgJ3Zpc2libGUnIHwgJ21hbnVhbCcgPSAndmlzaWJsZSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhcmdldDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmbG9hdEFsaWdubWVudDogQVhQbGFjZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZsb2F0UGxhY2VtbmV0OiBBWFBsYWNlbWVudDtcclxuXHJcbiAgcHVibGljIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIHByaXZhdGUgX2l0ZW1zOiBBWE1lbnVJdGVtW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEFYTWVudUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaXRlbXModjogQVhNZW51SXRlbVtdKSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucnRsID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGhhbmRsZUl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtPzogQVhNZW51SXRlbSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChpdGVtICYmICghaXRlbS5pdGVtcyB8fCAhaXRlbS5pdGVtcy5maWx0ZXIoKGMpID0+IGMudmlzaWJsZSAhPT0gZmFsc2UpLmxlbmd0aCkgJiYgIWl0ZW0uZGlzYWJsZSkge1xyXG4gICAgICBjb25zdCBtID0ge1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICBodG1sRXZlbnQ6IGUsXHJcbiAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICBuYW1lOiBpdGVtPy5uYW1lXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChpdGVtLm9uQ2xpY2spIHtcclxuICAgICAgICBpdGVtLm9uQ2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQobSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiYXggbWVudS1jb250YWluZXIge3tzaXplfX1cIiAjY29udGFpbmVyPlxyXG4gIDx1bCBjbGFzcz1cInJvb3RcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy52ZXJ0aWNhbF09XCJkaXJlY3Rpb249PSd2ZXJ0aWNhbCdcIiAjcm9vdD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdCBsZXQtbGlzdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0O3RyYWNrQnk6dHJhY2tCeUl0ZW1cIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbSBheCB7e2l0ZW0udHlwZSB8fCAnYXggcHJpbWFyeSd9fSB7e2l0ZW0uc3R5bGUgfHwgJ2F4IHByaW1hcnknfX1cIiBbY2xhc3MuZGlzYWJsZWRdPSdpdGVtLmRpc2FibGUnICBbY2xhc3Muc3ViSWNvbl09J2l0ZW0uaXRlbXMnIFtjbGFzcy5zdGFydEljb25dPSdpdGVtLnN0YXJ0SWNvbicgW2NsYXNzLnN0YXJ0SWNvbl09J2l0ZW0uaWNvbicgW2NsYXNzLmVuZEljb25dPSdpdGVtLmVuZEljb24nICpuZ0lmPVwiaXRlbS52aXNpYmxlIT1mYWxzZVwiIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFtjbGFzcy5kaXZpZGVyXT1cIml0ZW0uZGl2aWRlclwiIFthdHRyLnRpdGxlXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6IG51bGxcIlxyXG4gICAgICAgICAgW2F0dHIuZGF0YS11aWRdPVwiaXRlbS51aWRcIlxyXG4gICAgICAgICAgW2NsYXNzLnNwbGl0XT1cIml0ZW0uc3BsaXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXNpZGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUZW1wbGF0ZTsgZWxzZSBtZW51Qm9keVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudUJvZHk+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uc3RhcnRJY29uIH19IHN0YXJ0LWljb24gYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW0uc3RhcnRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uZW5kSWNvbiB9fSBlbmQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5lbmRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1pY29uLXNpZGVcIiAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW5cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYW5nbGUtZG93biBheC1tZW51LWl0ZW0tZHJvcC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVxyXG4gICAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8bGkgY2xhc3M9XCJtb3JlXCIgI21vcmVMSSAoY2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYmFyc1wiPjwvaT5cclxuICAgICAgPHVsICNtb3JlVUwgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj48L3VsPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj4gLS0+XHJcblxyXG48bmF2PlxyXG4gIDx1bCBjbGFzcz1cImF4IG5hdi1tZW51XCIgW2NsYXNzLnJ0bF09XCJydGxcIiBbY2xhc3MubmF2LWNlbnRlcl09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy5uYXYtdmVydGljYWxdPVwiZGlyZWN0aW9uPT0ndmVydGljYWwnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTWVudTsgY29udGV4dDp7ICRpbXBsaWNpdDogaXRlbXMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvdWw+XHJcbjwvbmF2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVNZW51IGxldC1pdGVtcz5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJheCB7e2l0ZW0uc3R5bGV9fVwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiBpdGVtLmRpc2FibGV9XCIgICpuZ0lmPVwiaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgaXRlbS52aXNpYmxlXCJcclxuICAgICAgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIiBheFRvb2x0aXAgW3BsYWNlbWVudF09XCJpdGVtLnRvb2x0aXBQbGFjZW1lbnQgPyBpdGVtLnRvb2x0aXBQbGFjZW1lbnQgOiAnYm90dG9tJ1wiIFt0b29sdGlwXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6ICcnXCIgPlxyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uc3RhcnRJY29uIH19XCIgKm5nSWY9XCJpdGVtLnN0YXJ0SWNvblwiPjwvaT5cclxuICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS50ZXh0XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhciBmYS1hbmdsZS1kb3duIGRyb3AtaWNvblwiICpuZ0lmPVwiaXRlbS5pdGVtcyAmJiBpdGVtLnRleHRcIj48L2k+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHVsPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVNZW51OyBjb250ZXh0OnsgJGltcGxpY2l0OiBpdGVtLml0ZW1zIH1cIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC91bD5cclxuICAgIDwvbGk+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixpQkFBaUIsRUFHakIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRS9DLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxPQUErQjtDQUV4RTtBQU9ELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQW9CLEdBQWUsRUFBVSxHQUFzQjtRQUEvQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFxQm5FLGdCQUFXLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRzNGLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBR3BCLGNBQVMsR0FBbUMsTUFBTSxDQUFDO1FBR25ELFNBQUksR0FBK0MsU0FBUyxDQUFDO1FBYzdELGNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBM0MzRCxDQUFDO0lBTUQsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFXLFlBQVksQ0FBQyxDQUFtQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBa0NELElBQ1csS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxLQUFLLENBQUMsQ0FBZTtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDO1NBQzFHO0lBQ0gsQ0FBQztJQUdELGVBQWUsQ0FBQyxDQUFhLEVBQUUsSUFBaUI7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25HLE1BQU0sQ0FBQyxHQUFHO2dCQUNSLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7Z0JBQ25DLFNBQVMsRUFBRSxDQUFDO2dCQUNaLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUNqQixDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDaEI7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFFRCxPQUFPO1NBQ1I7SUFDSCxDQUFDOzs2R0FuRlUsZUFBZTtpR0FBZixlQUFlLGtYQUtaLFdBQVcsOERDL0IzQiwwOEhBeUVjOzRGRC9DRCxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSTtpSUFRckMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS2hDLFlBQVk7c0JBRHRCLEtBQUs7Z0JBV04sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsY0FBYztzQkFEcEIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQU1DLFNBQVM7c0JBRGYsS0FBSztnQkFLSyxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT3V0cHV0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgTmdab25lLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbnRlbnRDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBsYWNlbWVudCwgQVhNZW51SXRlbSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWEV2ZW50IH0gZnJvbSAnLi4vYmFzZS9ldmVudHMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYTWVudUl0ZW1DbGlja0V2ZW50IGV4dGVuZHMgQVhFdmVudDxBWE1lbnVJdGVtLCBNb3VzZUV2ZW50PiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBfY29udGVudE1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBfbWVudVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCBtZW51VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWVudVRlbXBsYXRlID8gdGhpcy5fbWVudVRlbXBsYXRlIDogdGhpcy5fY29udGVudE1lbnVUZW1wbGF0ZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBtZW51VGVtcGxhdGUodjogVGVtcGxhdGVSZWY8YW55Pikge1xyXG4gICAgdGhpcy5fbWVudVRlbXBsYXRlID0gdjtcclxuICB9XHJcblxyXG4gIHJlc2l6ZUNoYW5nZU9ic2VydmVyOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnRsOiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEFYTWVudUl0ZW1DbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGlvbjogJ25vbmUnIHwgJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ25vbmUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlOiAnY2xpY2snIHwgJ2NvbnRleHQnIHwgJ3Zpc2libGUnIHwgJ21hbnVhbCcgPSAndmlzaWJsZSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhcmdldDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmbG9hdEFsaWdubWVudDogQVhQbGFjZW1lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZsb2F0UGxhY2VtbmV0OiBBWFBsYWNlbWVudDtcclxuXHJcbiAgcHVibGljIGN1cnJlbnRUYXJnZXQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXJlY3Rpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAnaG9yaXpvbnRhbCc7XHJcblxyXG4gIHByaXZhdGUgX2l0ZW1zOiBBWE1lbnVJdGVtW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IGl0ZW1zKCk6IEFYTWVudUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgaXRlbXModjogQVhNZW51SXRlbVtdKSB7XHJcbiAgICB0aGlzLl9pdGVtcyA9IHY7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMucnRsID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGhhbmRsZUl0ZW1DbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtPzogQVhNZW51SXRlbSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChpdGVtICYmICghaXRlbS5pdGVtcyB8fCAhaXRlbS5pdGVtcy5maWx0ZXIoKGMpID0+IGMudmlzaWJsZSAhPT0gZmFsc2UpLmxlbmd0aCkgJiYgIWl0ZW0uZGlzYWJsZSkge1xyXG4gICAgICBjb25zdCBtID0ge1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgICBodG1sRXZlbnQ6IGUsXHJcbiAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICBuYW1lOiBpdGVtPy5uYW1lXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChpdGVtLm9uQ2xpY2spIHtcclxuICAgICAgICBpdGVtLm9uQ2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uSXRlbUNsaWNrLmVtaXQobSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPCEtLSA8ZGl2IGNsYXNzPVwiYXggbWVudS1jb250YWluZXIge3tzaXplfX1cIiAjY29udGFpbmVyPlxyXG4gIDx1bCBjbGFzcz1cInJvb3RcIiBbY2xhc3MuaG9yaXpvbnRhbF09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiIFtjbGFzcy52ZXJ0aWNhbF09XCJkaXJlY3Rpb249PSd2ZXJ0aWNhbCdcIiAjcm9vdD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdCBsZXQtbGlzdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0O3RyYWNrQnk6dHJhY2tCeUl0ZW1cIj5cclxuICAgICAgICA8bGkgY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbSBheCB7e2l0ZW0udHlwZSB8fCAnYXggcHJpbWFyeSd9fSB7e2l0ZW0uc3R5bGUgfHwgJ2F4IHByaW1hcnknfX1cIiBbY2xhc3MuZGlzYWJsZWRdPSdpdGVtLmRpc2FibGUnICBbY2xhc3Muc3ViSWNvbl09J2l0ZW0uaXRlbXMnIFtjbGFzcy5zdGFydEljb25dPSdpdGVtLnN0YXJ0SWNvbicgW2NsYXNzLnN0YXJ0SWNvbl09J2l0ZW0uaWNvbicgW2NsYXNzLmVuZEljb25dPSdpdGVtLmVuZEljb24nICpuZ0lmPVwiaXRlbS52aXNpYmxlIT1mYWxzZVwiIChjbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiXHJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFtjbGFzcy5kaXZpZGVyXT1cIml0ZW0uZGl2aWRlclwiIFthdHRyLnRpdGxlXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6IG51bGxcIlxyXG4gICAgICAgICAgW2F0dHIuZGF0YS11aWRdPVwiaXRlbS51aWRcIlxyXG4gICAgICAgICAgW2NsYXNzLnNwbGl0XT1cIml0ZW0uc3BsaXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXNpZGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lbnVUZW1wbGF0ZTsgZWxzZSBtZW51Qm9keVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZW51VGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbWVudUJvZHk+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC10b29sYmFyLW1lbnUtaXRlbS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uc3RhcnRJY29uIH19IHN0YXJ0LWljb24gYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW0uc3RhcnRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gc3RhcnQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uZW5kSWNvbiB9fSBlbmQtaWNvbiBheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbS5lbmRJY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1pY29uLXNpZGVcIiAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW5cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYW5nbGUtZG93biBheC1tZW51LWl0ZW0tZHJvcC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtLmhhc0NoaWxkcmVuXCIgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgIHJlY3Vyc2l2ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVxyXG4gICAgICAgICAgICBcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3Q7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8bGkgY2xhc3M9XCJtb3JlXCIgI21vcmVMSSAoY2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtYmFyc1wiPjwvaT5cclxuICAgICAgPHVsICNtb3JlVUwgY2xhc3M9XCJjb2xsYXBzZWQgc3ViLW1lbnVcIj48L3VsPlxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj4gLS0+XHJcblxyXG48bmF2PlxyXG4gIDx1bCBjbGFzcz1cImF4IG5hdi1tZW51XCIgW2NsYXNzLnJ0bF09XCJydGxcIiBbY2xhc3MubmF2LWNlbnRlcl09XCJkaXJlY3Rpb249PSdob3Jpem9udGFsJ1wiXHJcbiAgICBbY2xhc3MubmF2LXZlcnRpY2FsXT1cImRpcmVjdGlvbj09J3ZlcnRpY2FsJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW1zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L25hdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTWVudSBsZXQtaXRlbXM+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiPlxyXG4gICAgPGxpIGNsYXNzPVwiYXgge3tpdGVtLnN0eWxlfX1cIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogaXRlbS5kaXNhYmxlfVwiXHJcbiAgICAgICpuZ0lmPVwiaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgaXRlbS52aXNpYmxlXCIgKGNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQsaXRlbSlcIiBheFRvb2x0aXBcclxuICAgICAgW3BsYWNlbWVudF09XCJpdGVtLnRvb2x0aXBQbGFjZW1lbnQgPyBpdGVtLnRvb2x0aXBQbGFjZW1lbnQgOiAnYm90dG9tJ1wiXHJcbiAgICAgIFt0b29sdGlwXT1cIml0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6ICcnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1cIiA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tc3RhcnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJ7eyBpdGVtLnN0YXJ0SWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5zdGFydEljb25cIj48L2k+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fVwiICpuZ0lmPVwiaXRlbS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1tZW51LWl0ZW0tdGV4dFwiICpuZ0lmPVwiaXRlbS50ZXh0XCI+e3tpdGVtLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51LWl0ZW0tZW5kLXNpZGVcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWFuZ2xlLWRvd24gZHJvcC1pY29uXCIgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0udGV4dFwiPjwvaT5cclxuICAgICAgICAgIDxpIGNsYXNzPVwie3sgaXRlbS5lbmRJY29uIH19XCIgKm5nSWY9XCJpdGVtLmVuZEljb25cIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx1bCAqbmdJZj1cIml0ZW0uaXRlbXNcIiBjbGFzcz1cImF4LXN1Yi1tZW51XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZU1lbnU7IGNvbnRleHQ6eyAkaW1wbGljaXQ6IGl0ZW0uaXRlbXMgfVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9saT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1693,10 +1693,10 @@ class AXMenuComponent {
1693
1693
  }
1694
1694
  }
1695
1695
  AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1696
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\" [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\" *ngIf=\"item.visible === undefined || item.visible\"\r\n (click)=\"handleItemClick($event,item)\" axTooltip [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\" [tooltip]=\"item.tooltip ? item.tooltip : ''\" >\r\n <span>\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{item.text}}</span>\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n </span>\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n", directives: [{ type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }, { type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
1696
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXMenuComponent, selector: "ax-menu", inputs: { menuTemplate: "menuTemplate", rtl: "rtl", size: "size", selection: "selection", mode: "mode", target: "target", floatAlignment: "floatAlignment", floatPlacemnet: "floatPlacemnet", direction: "direction", items: "items" }, outputs: { onItemClick: "onItemClick" }, queries: [{ propertyName: "_contentMenuTemplate", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>", directives: [{ type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["tooltip", "placement", "delay"] }, { type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
1697
1697
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXMenuComponent, decorators: [{
1698
1698
  type: Component,
1699
- args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\" [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\" *ngIf=\"item.visible === undefined || item.visible\"\r\n (click)=\"handleItemClick($event,item)\" axTooltip [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\" [tooltip]=\"item.tooltip ? item.tooltip : ''\" >\r\n <span>\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{item.text}}</span>\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n </span>\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n" }]
1699
+ args: [{ selector: 'ax-menu', encapsulation: ViewEncapsulation.None, template: "<!-- <div class=\"ax menu-container {{size}}\" #container>\r\n <ul class=\"root\" [class.horizontal]=\"direction=='horizontal'\" [class.vertical]=\"direction=='vertical'\" #root>\r\n <ng-template #recursiveList let-list>\r\n <ng-container *ngFor=\"let item of list;trackBy:trackByItem\">\r\n <li class=\"ax-toolbar-menu-item ax {{item.type || 'ax primary'}} {{item.style || 'ax primary'}}\" [class.disabled]='item.disable' [class.subIcon]='item.items' [class.startIcon]='item.startIcon' [class.startIcon]='item.icon' [class.endIcon]='item.endIcon' *ngIf=\"item.visible!=false\" (click)=\"handleItemClick($event, item)\"\r\n [class.selected]=\"item.selected\" [class.divider]=\"item.divider\" [attr.title]=\"item.tooltip ? item.tooltip : null\"\r\n [attr.data-uid]=\"item.uid\"\r\n [class.split]=\"item.split\">\r\n <div class=\"content-side\">\r\n <ng-container *ngIf=\"menuTemplate; else menuBody\">\r\n <ng-container *ngTemplateOutlet=\"menuTemplate; context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #menuBody>\r\n <span class=\"ax-toolbar-menu-item-text\">\r\n <i class=\"{{ item.startIcon }} start-icon ax-menu-item-icon\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }} start-icon ax-menu-item-icon\" *ngIf=\"item.icon\"></i>\r\n <span *ngIf=\"item.text\">{{ item.text }}</span>\r\n <i class=\"{{ item.endIcon }} end-icon ax-menu-item-icon\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n </ng-template>\r\n </div>\r\n <div class=\"sub-icon-side\" *ngIf=\"item.hasChildren\">\r\n <i class=\"far fa-angle-down ax-menu-item-drop-icon\"></i>\r\n </div>\r\n <ul *ngIf=\"item.hasChildren\" class=\"collapsed sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: item.items }\r\n \"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items }\"></ng-container>\r\n <li class=\"more\" #moreLI (click)=\"handleItemClick($event)\">\r\n <i class=\"far fa-bars\"></i>\r\n <ul #moreUL class=\"collapsed sub-menu\"></ul>\r\n </li>\r\n </ul>\r\n</div> -->\r\n\r\n<nav>\r\n <ul class=\"ax nav-menu\" [class.rtl]=\"rtl\" [class.nav-center]=\"direction=='horizontal'\"\r\n [class.nav-vertical]=\"direction=='vertical'\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: items }\"></ng-container>\r\n </ul>\r\n</nav>\r\n\r\n<ng-template #recursiveMenu let-items>\r\n <ng-container *ngFor=\"let item of items\">\r\n <li class=\"ax {{item.style}}\" [ngClass]=\"{'disabled': item.disable}\"\r\n *ngIf=\"item.visible === undefined || item.visible\" (click)=\"handleItemClick($event,item)\" axTooltip\r\n [placement]=\"item.tooltipPlacement ? item.tooltipPlacement : 'bottom'\"\r\n [tooltip]=\"item.tooltip ? item.tooltip : ''\">\r\n <div class=\"ax-menu-item\" >\r\n <span class=\"menu-item-start-side\">\r\n <i class=\"{{ item.startIcon }}\" *ngIf=\"item.startIcon\"></i>\r\n <i class=\"{{ item.icon }}\" *ngIf=\"item.icon\"></i>\r\n <span class=\"ax-menu-item-text\" *ngIf=\"item.text\">{{item.text}}</span>\r\n </span>\r\n <span class=\"menu-item-end-side\">\r\n <i class=\"far fa-angle-down drop-icon\" *ngIf=\"item.items && item.text\"></i>\r\n <i class=\"{{ item.endIcon }}\" *ngIf=\"item.endIcon\"></i>\r\n </span>\r\n\r\n </div>\r\n <ul *ngIf=\"item.items\" class=\"ax-sub-menu\">\r\n <ng-container *ngTemplateOutlet=\"recursiveMenu; context:{ $implicit: item.items }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n </ng-container>\r\n</ng-template>" }]
1700
1700
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _contentMenuTemplate: [{
1701
1701
  type: ContentChild,
1702
1702
  args: [TemplateRef, { static: true }]