general-library-union 3.2.55 → 3.2.56

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.
@@ -177,11 +177,11 @@ export class FiltroGeneralComponent {
177
177
  this.removeClickListener();
178
178
  }
179
179
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [{ token: i1.UtilsService }], target: i0.ɵɵFactoryTarget.Component });
180
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center mb-2\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
180
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
181
181
  }
182
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, decorators: [{
183
183
  type: Component,
184
- args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule, TooltipModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center mb-2\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
184
+ args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule, TooltipModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
185
185
  }], ctorParameters: () => [{ type: i1.UtilsService }], propDecorators: { overlayPanel: [{
186
186
  type: ViewChild,
187
187
  args: ['op']
@@ -200,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
200
200
  type: ContentChild,
201
201
  args: [TemplateRef]
202
202
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBVWhELE1BQU0sT0FBTyxzQkFBc0I7SUEwQmI7SUF6QkgsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVU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a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLFdBQ3JCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDM0gsSUFBSTtpRkFLQyxZQUFZO3NCQUE1QixTQUFTO3VCQUFDLElBQUk7Z0JBRU4sT0FBTztzQkFBZixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBRWtCLEtBQUs7c0JBQTdCLFNBQVM7dUJBQUMsWUFBWTtnQkFFSSxZQUFZO3NCQUF0QyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNraXBTZWxmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBpbmplY3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgQ2hpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcCc7XHJcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsLCBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWx0cm8tZ2VuZXJhbCcsXHJcbiAgaW1wb3J0czogW0NoaXBNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdHJvR2VuZXJhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnb3AnKSBvdmVybGF5UGFuZWw6IGFueTtcclxuXHJcbiAgQElucHV0KCkgZmlsdHJvczogYW55W107XHJcblxyXG4gIEBJbnB1dCgpIGRhdGF0YWJsZTtcclxuXHJcbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBtZXRvZG9SZWdyZXNhckFkaWNpb25hbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZChPdmVybGF5UGFuZWwpIHBhbmVsOiBPdmVybGF5UGFuZWw7XHJcbiAgcHVibGljIGV2ZW50b1BhbmVsO1xyXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGlucHV0RmlsdGVyczogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIGNoaXBzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBpc0FwcGx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgY2xpY2tMaXN0ZW5lcjogRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoRGlhbG9nLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSGlkZSgpIHtcclxuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XHJcbiAgICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcclxuICAgICAgICBjb25zdCBjaGlwQWN0aXZlID0gdGhpcy5jaGlwcy5maW5kKFxyXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKGNoaXBBY3RpdmU/LnZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzQXBwbHkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFicmlyUGFuZWwoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcclxuICAgIHRoaXMucGFuZWwuc2hvdyhldmVudCk7XHJcbiAgICB0aGlzLnNob3dPdmVybGF5KHRoaXMub3ZlcmxheVBhbmVsLCBldmVudClcclxuICB9XHJcblxyXG4gIGxpbXBpYXJGaWx0cm9zKCkge1xyXG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoaXBzID0gW107XHJcbiAgICB0aGlzLmZpbHRlckZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIGFwbGljYXJGaWx0cm9zKCkge1xyXG4gICAgdGhpcy5pc0FwcGx5ID0gdHJ1ZTtcclxuICAgIHRoaXMucGFuZWwuaGlkZSgpO1xyXG4gICAgdGhpcy5jaGlwcyA9IFtdO1xyXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2hpcChjaGlwKSB7XHJcbiAgICB0aGlzLl91cGRhdGVGaWx0ZXJzKGNoaXApO1xyXG4gIH1cclxuXHJcbiAgX3VwZGF0ZUZpbHRlcnMoY2hpcD86IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xyXG4gICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGZpbHRybykgPT4ge1xyXG4gICAgICBpZiAoY2hpcD8uZmllbGQgIT09IGZpbHRyby5maWVsZCkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgZmlsdGVyc1tmaWx0cm8uZmllbGRdID0geyB2YWx1ZTogdmFsdWUsIG1hdGNoTW9kZTogZmlsdHJvLm1hdGNoTW9kZSB9O1xyXG5cclxuICAgICAgICAgIGlmICghY2hpcCkge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVbaV0gaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbW9zdHJhciA9IG1vc3RyYXIgKyB2YWx1ZVtpXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmaWx0cm8uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmaWx0cm8uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IGZpbHRyby5mb3JtYXREYXRlXHJcbiAgICAgICAgICAgICAgICAgID8gbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZSwgJ2RkL01NL3l5eXknKVxyXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcclxuICAgICAgICAgICAgICAgICAgICA/IGZpbHRyby52YWx1ZXModmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcclxuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGF0YXRhYmxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGF0YWJsZS50YWJsZT8uZmlsdGVycykge1xyXG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLl9maWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcclxuICAgICAgICB0aGlzLmRhdGF0YWJsZS5fZmlsdGVyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXIuZW1pdChmaWx0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tZXRvZG9SZWdyZXNhckFkaWNpb25hbCkge1xyXG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyQWRpY2lvbmFsLmVtaXQoZmlsdGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XHJcbiAgc2hvd092ZXJsYXkob3A6IGFueSwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsXHJcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcclxuICAgIG9wLnNob3coZXZlbnQpOyAvL211ZXN0cmEgZWwgb3ZlcmxheS1wYW5lbFxyXG4gICAgaWYgKHRoaXMuZGlhbG9nKSAvKiBTaSBlbCBvdmVybGF5IGVzdMOhIGRlbnRybyBkZSB1biBwLWRpYWxvZywgdXNhIGVsIG3DqXRvZG8gZGUgb2N1bHRhciBhbCBwZXJkZXIgZWwgZm9jbyovIHtcclxuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXHJcbiAgICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLmNsaWNrTGlzdGVuZXIoKTtcclxuICAgICAgfVxyXG4gICAgICAvLyAgYWRpY2lvbmFyIGxpc3RlbmVyIHBhcmEgY2VycmFyIGVsIG92ZXJsYXkgYWwgaGFjZXIgY2xpYyBmdWVyYSBkZSDDqWxcclxuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGNsaWNrRXZlbnQ6IEV2ZW50KSA9PiAge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcclxuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGVPdmVybGF5KSB7XHJcbiAgICAgICAgICBvcC5oaWRlKCk7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLnNsZWVwKDUwMCkudGhlbihkYXRhID0+IHtcclxuICAgICAgdGhpcy51dGlsc1NlcnZpY2UucmVzaXplV2luZG93SUZyYW1lKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2xpY2tMaXN0ZW5lcigpIHtcclxuICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cclxuICAgIDxoNCBjbGFzcz1cIm0tMCBtci0yIHRleHQtYmxhY2stYWxwaGEtOTBcIj5GaWx0cm9zPC9oND5cclxuICAgIDxidXR0b25cclxuICAgICAgcEJ1dHRvblxyXG4gICAgICBwUmlwcGxlXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBpY29uPVwicGkgcGktZmlsdGVyXCJcclxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcclxuICAgICAgKGNsaWNrKT1cImFicmlyUGFuZWwoJGV2ZW50KVwiXHJcbiAgICA+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1sLTNcIj5cclxuICAgIDxwLWNoaXBcclxuICAgICAgcFRvb2x0aXA9XCJ7e2NoaXAubGFiZWxNb3N0cmFyLmxlbmd0aCA+IDI1ID8gY2hpcC5sYWJlbE1vc3RyYXIgOiAnJ319XCIgXHJcbiAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjaGlwIG9mIGNoaXBzXCJcclxuICAgICAgW2xhYmVsXT1cImNoaXAuaGVhZGVyICsgJzogJyArIChjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAyNSA/IGNoaXAubGFiZWxNb3N0cmFyLnN1YnN0cmluZygwLCAyNSkgKyAnLi4uJyA6IGNoaXAubGFiZWxNb3N0cmFyKVwiXHJcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTFcIlxyXG4gICAgICBbcmVtb3ZhYmxlXT1cImNoaXAuZGlzYWJsZWQgPyBmYWxzZSA6IHRydWVcIlxyXG4gICAgICAob25SZW1vdmUpPVwicmVtb3ZlQ2hpcChjaGlwKVwiXHJcbiAgICA+PC9wLWNoaXA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsICNvcCAob25IaWRlKT1cIm9uSGlkZSgpXCIgW2Rpc21pc3NhYmxlXT1cImZhbHNlXCIgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJncmlkIHAtaW5wdXQtZmlsbGVkXCI+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cInAtZmx1aWQgY29sLTEyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dEZpbHRlcnM7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBmaWx0ZXJGb3JtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtdC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJhcGxpY2FyRmlsdHJvcygpXCIgY2xhc3M9XCJtbC0yXCI+e3snbGlua19hcGxpY2FyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgKGNsaWNrKT1cImxpbXBpYXJGaWx0cm9zKClcIiBpY29uPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWNsZWFuaW5nXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkIG1sLTJcIj48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9kaXY+XHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcbiJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBVWhELE1BQU0sT0FBTyxzQkFBc0I7SUEwQmI7SUF6QkgsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVU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a0JBUGxDLFNBQVM7K0JBQ0Usb0JBQW9CLFdBQ3JCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDM0gsSUFBSTtpRkFLQyxZQUFZO3NCQUE1QixTQUFTO3VCQUFDLElBQUk7Z0JBRU4sT0FBTztzQkFBZixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBRWtCLEtBQUs7c0JBQTdCLFNBQVM7dUJBQUMsWUFBWTtnQkFFSSxZQUFZO3NCQUF0QyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNraXBTZWxmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBpbmplY3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgQ2hpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcCc7XHJcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcclxuaW1wb3J0IHsgT3ZlcmxheVBhbmVsLCBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1maWx0cm8tZ2VuZXJhbCcsXHJcbiAgaW1wb3J0czogW0NoaXBNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdHJvR2VuZXJhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnb3AnKSBvdmVybGF5UGFuZWw6IGFueTtcclxuXHJcbiAgQElucHV0KCkgZmlsdHJvczogYW55W107XHJcblxyXG4gIEBJbnB1dCgpIGRhdGF0YWJsZTtcclxuXHJcbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBtZXRvZG9SZWdyZXNhckFkaWNpb25hbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZChPdmVybGF5UGFuZWwpIHBhbmVsOiBPdmVybGF5UGFuZWw7XHJcbiAgcHVibGljIGV2ZW50b1BhbmVsO1xyXG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGlucHV0RmlsdGVyczogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZmlsdGVyRm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIGNoaXBzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBpc0FwcGx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgY2xpY2tMaXN0ZW5lcjogRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIHByaXZhdGUgZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoRGlhbG9nLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChjb250cm9sKSA9PiB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSGlkZSgpIHtcclxuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XHJcbiAgICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcclxuICAgICAgICBjb25zdCBjaGlwQWN0aXZlID0gdGhpcy5jaGlwcy5maW5kKFxyXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKGNoaXBBY3RpdmU/LnZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzQXBwbHkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFicmlyUGFuZWwoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcclxuICAgIHRoaXMucGFuZWwuc2hvdyhldmVudCk7XHJcbiAgICB0aGlzLnNob3dPdmVybGF5KHRoaXMub3ZlcmxheVBhbmVsLCBldmVudClcclxuICB9XHJcblxyXG4gIGxpbXBpYXJGaWx0cm9zKCkge1xyXG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoaXBzID0gW107XHJcbiAgICB0aGlzLmZpbHRlckZvcm0ucmVzZXQoKTtcclxuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIGFwbGljYXJGaWx0cm9zKCkge1xyXG4gICAgdGhpcy5pc0FwcGx5ID0gdHJ1ZTtcclxuICAgIHRoaXMucGFuZWwuaGlkZSgpO1xyXG4gICAgdGhpcy5jaGlwcyA9IFtdO1xyXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2hpcChjaGlwKSB7XHJcbiAgICB0aGlzLl91cGRhdGVGaWx0ZXJzKGNoaXApO1xyXG4gIH1cclxuXHJcbiAgX3VwZGF0ZUZpbHRlcnMoY2hpcD86IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xyXG4gICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGZpbHRybykgPT4ge1xyXG4gICAgICBpZiAoY2hpcD8uZmllbGQgIT09IGZpbHRyby5maWVsZCkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgZmlsdGVyc1tmaWx0cm8uZmllbGRdID0geyB2YWx1ZTogdmFsdWUsIG1hdGNoTW9kZTogZmlsdHJvLm1hdGNoTW9kZSB9O1xyXG5cclxuICAgICAgICAgIGlmICghY2hpcCkge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xyXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVbaV0gaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbW9zdHJhciA9IG1vc3RyYXIgKyB2YWx1ZVtpXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmaWx0cm8uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiBmaWx0cm8uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IGZpbHRyby5mb3JtYXREYXRlXHJcbiAgICAgICAgICAgICAgICAgID8gbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZSwgJ2RkL01NL3l5eXknKVxyXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcclxuICAgICAgICAgICAgICAgICAgICA/IGZpbHRyby52YWx1ZXModmFsdWUpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcclxuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGF0YXRhYmxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGF0YWJsZS50YWJsZT8uZmlsdGVycykge1xyXG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLl9maWx0ZXIoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcclxuICAgICAgICB0aGlzLmRhdGF0YWJsZS5fZmlsdGVyKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXIuZW1pdChmaWx0ZXJzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tZXRvZG9SZWdyZXNhckFkaWNpb25hbCkge1xyXG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyQWRpY2lvbmFsLmVtaXQoZmlsdGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XHJcbiAgc2hvd092ZXJsYXkob3A6IGFueSwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsXHJcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcclxuICAgIG9wLnNob3coZXZlbnQpOyAvL211ZXN0cmEgZWwgb3ZlcmxheS1wYW5lbFxyXG4gICAgaWYgKHRoaXMuZGlhbG9nKSAvKiBTaSBlbCBvdmVybGF5IGVzdMOhIGRlbnRybyBkZSB1biBwLWRpYWxvZywgdXNhIGVsIG3DqXRvZG8gZGUgb2N1bHRhciBhbCBwZXJkZXIgZWwgZm9jbyovIHtcclxuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXHJcbiAgICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLmNsaWNrTGlzdGVuZXIoKTtcclxuICAgICAgfVxyXG4gICAgICAvLyAgYWRpY2lvbmFyIGxpc3RlbmVyIHBhcmEgY2VycmFyIGVsIG92ZXJsYXkgYWwgaGFjZXIgY2xpYyBmdWVyYSBkZSDDqWxcclxuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGNsaWNrRXZlbnQ6IEV2ZW50KSA9PiAge1xyXG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcclxuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGVPdmVybGF5KSB7XHJcbiAgICAgICAgICBvcC5oaWRlKCk7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLnNsZWVwKDUwMCkudGhlbihkYXRhID0+IHtcclxuICAgICAgdGhpcy51dGlsc1NlcnZpY2UucmVzaXplV2luZG93SUZyYW1lKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ2xpY2tMaXN0ZW5lcigpIHtcclxuICAgIGlmICh0aGlzLmNsaWNrTGlzdGVuZXIpIHtcclxuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XHJcbiAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICA8aDQgY2xhc3M9XCJtLTAgbXItMiB0ZXh0LWJsYWNrLWFscGhhLTkwXCI+RmlsdHJvczwvaDQ+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHBCdXR0b25cclxuICAgICAgcFJpcHBsZVxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgaWNvbj1cInBpIHBpLWZpbHRlclwiXHJcbiAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZFwiXHJcbiAgICAgIChjbGljayk9XCJhYnJpclBhbmVsKCRldmVudClcIlxyXG4gICAgPjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtbC0zXCI+XHJcbiAgICA8cC1jaGlwXHJcbiAgICAgIHBUb29sdGlwPVwie3tjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAyNSA/IGNoaXAubGFiZWxNb3N0cmFyIDogJyd9fVwiIFxyXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBjaGlwc1wiXHJcbiAgICAgIFtsYWJlbF09XCJjaGlwLmhlYWRlciArICc6ICcgKyAoY2hpcC5sYWJlbE1vc3RyYXIubGVuZ3RoID4gMjUgPyBjaGlwLmxhYmVsTW9zdHJhci5zdWJzdHJpbmcoMCwgMjUpICsgJy4uLicgOiBjaGlwLmxhYmVsTW9zdHJhcilcIlxyXG4gICAgICBzdHlsZUNsYXNzPVwibS0xXCJcclxuICAgICAgW3JlbW92YWJsZV09XCJjaGlwLmRpc2FibGVkID8gZmFsc2UgOiB0cnVlXCJcclxuICAgICAgKG9uUmVtb3ZlKT1cInJlbW92ZUNoaXAoY2hpcClcIlxyXG4gICAgPjwvcC1jaGlwPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxwLW92ZXJsYXlQYW5lbCAjb3AgKG9uSGlkZSk9XCJvbkhpZGUoKVwiIFtkaXNtaXNzYWJsZV09XCJmYWxzZVwiIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIj5cclxuICA8ZGl2IGNsYXNzPVwiZ3JpZCBwLWlucHV0LWZpbGxlZFwiPlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgY2xhc3M9XCJwLWZsdWlkIGNvbC0xMlwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRGaWx0ZXJzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsdGVyRm9ybSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmQgbXQtMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwiYXBsaWNhckZpbHRyb3MoKVwiIGNsYXNzPVwibWwtMlwiPnt7J2xpbmtfYXBsaWNhcicgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJsaW1waWFyRmlsdHJvcygpXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1jbGVhbmluZ1wiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtbC0yXCI+PC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvZGl2PlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG4iXX0=
@@ -6314,11 +6314,11 @@ class FiltroGeneralComponent {
6314
6314
  this.removeClickListener();
6315
6315
  }
6316
6316
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [{ token: UtilsService }], target: i0.ɵɵFactoryTarget.Component });
6317
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center mb-2\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2$3.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3$3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i10$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
6317
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2$3.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3$3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i10$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
6318
6318
  }
6319
6319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, decorators: [{
6320
6320
  type: Component,
6321
- args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule, TooltipModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center mb-2\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
6321
+ args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule, TooltipModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\r\n <div class=\"flex align-items-center\">\r\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\r\n <button\r\n pButton\r\n pRipple\r\n type=\"button\"\r\n icon=\"pi pi-filter\"\r\n class=\"p-button-rounded p-button-outlined\"\r\n (click)=\"abrirPanel($event)\"\r\n ></button>\r\n </div>\r\n <div class=\"ml-3\">\r\n <p-chip\r\n pTooltip=\"{{chip.labelMostrar.length > 25 ? chip.labelMostrar : ''}}\" \r\n tooltipPosition=\"top\"\r\n *ngFor=\"let chip of chips\"\r\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 25 ? chip.labelMostrar.substring(0, 25) + '...' : chip.labelMostrar)\"\r\n styleClass=\"m-1\"\r\n [removable]=\"chip.disabled ? false : true\"\r\n (onRemove)=\"removeChip(chip)\"\r\n ></p-chip>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\r\n <div class=\"grid p-input-filled\">\r\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\r\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\r\n <div class=\"flex justify-content-end mt-2 align-items-center\">\r\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\r\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\r\n </div>\r\n </form>\r\n </div>\r\n</p-overlayPanel>\r\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
6322
6322
  }], ctorParameters: () => [{ type: UtilsService }], propDecorators: { overlayPanel: [{
6323
6323
  type: ViewChild,
6324
6324
  args: ['op']