@unipin/angular-applet 18.6.6 → 18.6.7

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.
@@ -95,7 +95,7 @@ export class ApprovalListComponent {
95
95
  });
96
96
  }
97
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalListComponent, deps: [{ token: 'ENTITIES' }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ApprovalService }, { token: i3.AlertController }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: ApprovalListComponent, isStandalone: true, selector: "up-approval-list", host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">Approval</h3>\n\n <up-btn-group id=\"approval-list\" [config]=\"btnConfig\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\">\n <up-filter placeholder=\"Type to search\" id=\"filter-approval-list\" [config]=\"filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"gridConfig\" id=\"grid-approval-list\" rowSelection=\"multiple\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" (onSelectionChanged)=\"selectApprovals()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: ApprovalListComponent, isStandalone: true, selector: "up-approval-list", host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">Approval</h3>\n\n <up-btn-group id=\"approval-list\" [config]=\"btnConfig\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\">\n <up-filter placeholder=\"Type to search\" id=\"filter-approval-list\" [config]=\"filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"gridConfig\" id=\"grid-approval-list\" rowSelection=\"multiple\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" (onSelectionChanged)=\"selectApprovals()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection", "getRowClass"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
99
99
  }
100
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalListComponent, decorators: [{
101
101
  type: Component,
@@ -108,7 +108,7 @@ export class AuditDetailComponent {
108
108
  this.gridApi.setGridOption('rowData', changedData);
109
109
  }
110
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditDetailComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuditService }, { token: i3.ActivatedRoute }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: AuditDetailComponent, isStandalone: true, selector: "up-audit-detail", ngImport: i0, template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n @if (isLoading) {\n @for(i of [0,1,2,3,4,5,6]; track $index) {\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" />\n }\n } @else {\n <form [formGroup]=\"form\" class=\"px-4 pb-4\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n \n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n } \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i5.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i6.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: AuditDetailComponent, isStandalone: true, selector: "up-audit-detail", ngImport: i0, template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n @if (isLoading) {\n @for(i of [0,1,2,3,4,5,6]; track $index) {\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" />\n }\n } @else {\n <form [formGroup]=\"form\" class=\"px-4 pb-4\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n \n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n } \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection", "getRowClass"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i5.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i6.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
112
112
  }
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditDetailComponent, decorators: [{
114
114
  type: Component,
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
121
121
  ReactiveFormsModule
122
122
  ], template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n @if (isLoading) {\n @for(i of [0,1,2,3,4,5,6]; track $index) {\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" />\n }\n } @else {\n <form [formGroup]=\"form\" class=\"px-4 pb-4\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n \n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n } \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"] }]
123
123
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AuditService }, { type: i3.ActivatedRoute }, { type: i4.NavController }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBZSxXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsV0FBVyxFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBTTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQWdCdkUsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsWUFDcUIsRUFBZSxFQUNmLE9BQXFCLEVBQ3JCLEtBQXFCLEVBQ3JCLE9BQXNCO1FBSHRCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUE3QjNCLGVBQVUsR0FBZTtZQUN2QyxjQUFjLEVBQUUsS0FBSztZ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QU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNoRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0E1R1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsMkVDOUJqQyxtNEVBa0RBLG9HRDVCSSxXQUFXLDBTQUNYLHVCQUF1QixpTUFDdkIsbUJBQW1CLHdPQUNuQixrQkFBa0IsK0hBQ2xCLHFCQUFxQixrR0FDckIsbUJBQW1COzsyRkFHVixvQkFBb0I7a0JBZGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGlCQUFpQixXQUdsQjt3QkFDUCxXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgQXVkaXRUcmFpbCB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZ3JhcGhxbC9nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQXVkaXREZXRhaWxGb3JtIH0gZnJvbSAnLi4vdHlwZXMvYXVkaXQtZGV0YWlsLWZvcm0udHlwZSc7XG5pbXBvcnQgeyBHcmlkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JpZHMvaW50ZXJmYWNlcy9ncmlkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXVkaXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL2lucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL3RleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZ3JpZHMvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFic0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtYXVkaXQtZGV0YWlsJyxcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LWRldGFpbC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgVGFic0NvbXBvbmVudE1vZHVsZSxcbiAgICBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybVRleHRhcmVhQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdERldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGdyaWRDb25maWc6IEdyaWRDb25maWcgPSB7XG4gICAgdXNlVG90YWxSZWNvcmQ6IGZhbHNlLFxuICAgIGNvbERlZnM6IFtcbiAgICAgIHsgaGVhZGVyTmFtZTogJ0F0dHJpYnV0ZSBOYW1lJywgZmllbGQ6ICdhdHRyaWJ1dGUnLCBzb3J0OiAnYXNjJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnT2xkIFZhbHVlJywgZmllbGQ6ICdvbGREYXRhJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnTmV3IFZhbHVlJywgZmllbGQ6ICduZXdEYXRhJyB9XG4gICAgXVxuICB9O1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4gPSB0aGlzLmZiLmdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4oe1xuICAgIGd1aWQ6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGFjdGlvbjogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIHVzZXJOYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBzb3VyY2VJcDogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgY3JlYXRlZEF0OiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBtc1NvdXJjZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgc291cmNlUGxhdGZvcm06IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGZ1bmN0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgfSk7XG4gIHB1YmxpYyBkYXRhITogQXVkaXRUcmFpbDtcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCBndWlkOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuICBwcm90ZWN0ZWQgc3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYXZDdHJsOiBOYXZDb250cm9sbGVyXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWR7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0R3JpZEFwaSh7IGFwaSB9OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7XG4gICAgdGhpcy5ncmlkQXBpID0gYXBpO1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGlzSXNvRGF0ZVN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW57XG4gICAgY29uc3QgcmVnZXggPSAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KFxcLlxcZHsxLDl9KT9aJC87XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3Qoc3RyKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXREYXRhKHZhbHVlOiBhbnkpOiBhbnl7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuaXNJc29EYXRlU3RyaW5nKHZhbHVlKSkgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsICdkZCBNTU0geXl5eSBISDptbScsICdlbi1VUycpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRhKCk6IHZvaWR7XG4gICAgY29uc3QgbmV3R3VpZCA9IHRoaXMucm91dGUuY2hpbGRyZW5bMF0uc25hcHNob3QucGFyYW1zWydhdWRpdCddO1xuICAgIGlmICghbmV3R3VpZCB8fCB0aGlzLmd1aWQgPT09IG5ld0d1aWQpIHJldHVybjtcblxuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZ3JpZEFwaT8uc2hvd0xvYWRpbmdPdmVybGF5KCk7XG5cbiAgICB0aGlzLmd1aWQgPSBuZXdHdWlkO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc2VydmljZS5xdWVyeSh7IGd1aWQ6IHRoaXMuZ3VpZCB9LCAnZGF0YSB0YWdzIHsgdGFnS2V5IHRhZ1ZhbHVlIH0nKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHsgZGF0YTogeyBhdWRpdE1zQXVkaXRUcmFpbDogZGF0YSB9fSkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRBcGk/LmhpZGVPdmVybGF5KCk7XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgdGhpcy5uYXZDdHJsLmJhY2soKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGd1aWQsIGFjdGlvbiwgZGVzY3JpcHRpb24sIGZ1bmN0aW9uOiBmdW5jLCBtc1NvdXJjZSwgc291cmNlSXAsIGNyZWF0ZWRBdCB9ID0gZGF0YVswXTtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGd1aWQsXG4gICAgICAgICAgZnVuY3Rpb246IGZ1bmMsIFxuICAgICAgICAgIG1zU291cmNlLCBzb3VyY2VJcCxcbiAgICAgICAgICBhY3Rpb24sIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIHVzZXJOYW1lOiBkYXRhWzBdLnVzZXI/Lm5hbWUsXG4gICAgICAgICAgc291cmNlUGxhdGZvcm06IGRhdGFbMF0udXNlcj8uc291cmNlUGxhdGZvcm0sXG4gICAgICAgICAgY3JlYXRlZEF0OiBmb3JtYXREYXRlKGNyZWF0ZWRBdCwgJ2RkIE1NTSB5eXl5IEhIOm1tJywgJ2VuLVVTJyksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0Q2hhbmdlZERhdGEoZGF0YVswXS5kYXRhKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5uYXZDdHJsLmJhY2soKVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENoYW5nZWREYXRhKHsgb2xkRGF0YSwgbmV3RGF0YSB9OiBhbnkpOiB2b2lke1xuICAgIGlmICghbmV3RGF0YSB8fCBBcnJheS5pc0FycmF5KEpTT04ucGFyc2UobmV3RGF0YSkpKSB7XG4gICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIFtdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYmpOZXdEYXRhID0gSlNPTi5wYXJzZShuZXdEYXRhKTtcbiAgICBjb25zdCBjaGFuZ2VkRGF0YSA9IE9iamVjdC5lbnRyaWVzKG9sZERhdGE/IEpTT04ucGFyc2Uob2xkRGF0YSkgOiBKU09OLnBhcnNlKG5ld0RhdGEpKVxuICAgICAgLmZpbHRlcigoW2tleSwgb2xkVmFsXSkgPT4gSlNPTi5zdHJpbmdpZnkob2xkRGF0YT8gb2xkVmFsIDogbnVsbCkgIT09IEpTT04uc3RyaW5naWZ5KG9iak5ld0RhdGFba2V5XSkgJiYgIWtleS5tYXRjaCgvdXBkYXRlfGNyZWF0ZWQvKSlcbiAgICAgIC5tYXAoKFtrZXksIG9sZFZhbF0pID0+ICh7XG4gICAgICAgIGF0dHJpYnV0ZToga2V5LFxuICAgICAgICBvbGREYXRhOiBvbGREYXRhPyB0aGlzLmZvcm1hdERhdGEob2xkVmFsKSA6IG51bGwsXG4gICAgICAgIG5ld0RhdGE6IHRoaXMuZm9ybWF0RGF0YShvYmpOZXdEYXRhW2tleV0pXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIGNoYW5nZWREYXRhKTtcbiAgfVxufVxuIiwiPHVwLXRhYi1ncm91cCBjbGFzcz1cImgtMTAwXCI+XG4gICAgPHVwLXRhYi1jb250ZW50IGhlYWRlcj1cIkRldGFpbFwiIGZyYWdtZW50PVwiZGV0YWlsXCI+XG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICBAZm9yKGkgb2YgWzAsMSwyLDMsNCw1LDZdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8aW9uLXNrZWxldG9uLXRleHQgY2xhc3M9XCJzay1pbnB1dCBteC00IG1iLTRcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwicHgtNCBwYi00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImluZm9ybWF0aW9uLWNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm0tMFwiPkluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIkFjdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImFjdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJTb3VyY2UgSVBcIiBmb3JtQ29udHJvbE5hbWU9XCJzb3VyY2VJcFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIlVzZXIgTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJOYW1lXCIgLz5cbiAgICAgICAgICAgICAgICA8dXAtdGV4dGFyZWEgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItMyBwdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGFwdG9wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+U3lzdGVtIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkFjdGlvbiBEYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEF0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIlNvdXJjZSBQbGF0Zm9ybVwiIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZVBsYXRmb3JtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIk1TIFNvdXJjZVwiIGZvcm1Db250cm9sTmFtZT1cIm1zU291cmNlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkZ1bmN0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwiZnVuY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgfSAgIFxuICAgIDwvdXAtdGFiLWNvbnRlbnQ+XG5cbiAgICA8dXAtdGFiLWNvbnRlbnQgaGVhZGVyPVwiQXR0cmlidXRlc1wiIGZyYWdtZW50PVwiYXR0cmlidXRlc1wiPlxuICAgICAgICA8dXAtcGFnaW5hdGlvbi1ncmlkIGlkPVwiZ3JpZC1hdWRpdC1kZXRhaWxcIiByb3dNb2RlbFR5cGU9XCJjbGllbnRTaWRlXCIgW2NvbmZpZ109XCJncmlkQ29uZmlnXCIgKG9uR3JpZFJlYWR5KT1cInNldEdyaWRBcGkoJGV2ZW50KVwiIC8+XG4gICAgPC91cC10YWItY29udGVudD5cbjwvdXAtdGFiLWdyb3VwPlxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBZSxXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsV0FBVyxFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBTTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQWdCdkUsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsWUFDcUIsRUFBZSxFQUNmLE9BQXFCLEVBQ3JCLEtBQXFCLEVBQ3JCLE9BQXNCO1FBSHRCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUE3QjNCLGVBQVUsR0FBZTtZQUN2QyxjQUFjLEVBQUUsS0FBSztZ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QU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNoRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0E1R1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsMkVDOUJqQyxtNEVBa0RBLG9HRDVCSSxXQUFXLDBTQUNYLHVCQUF1QixnTkFDdkIsbUJBQW1CLHdPQUNuQixrQkFBa0IsK0hBQ2xCLHFCQUFxQixrR0FDckIsbUJBQW1COzsyRkFHVixvQkFBb0I7a0JBZGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGlCQUFpQixXQUdsQjt3QkFDUCxXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgQXVkaXRUcmFpbCB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZ3JhcGhxbC9nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQXVkaXREZXRhaWxGb3JtIH0gZnJvbSAnLi4vdHlwZXMvYXVkaXQtZGV0YWlsLWZvcm0udHlwZSc7XG5pbXBvcnQgeyBHcmlkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JpZHMvaW50ZXJmYWNlcy9ncmlkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXVkaXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL2lucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL3RleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZ3JpZHMvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFic0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtYXVkaXQtZGV0YWlsJyxcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LWRldGFpbC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgVGFic0NvbXBvbmVudE1vZHVsZSxcbiAgICBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybVRleHRhcmVhQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdERldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGdyaWRDb25maWc6IEdyaWRDb25maWcgPSB7XG4gICAgdXNlVG90YWxSZWNvcmQ6IGZhbHNlLFxuICAgIGNvbERlZnM6IFtcbiAgICAgIHsgaGVhZGVyTmFtZTogJ0F0dHJpYnV0ZSBOYW1lJywgZmllbGQ6ICdhdHRyaWJ1dGUnLCBzb3J0OiAnYXNjJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnT2xkIFZhbHVlJywgZmllbGQ6ICdvbGREYXRhJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnTmV3IFZhbHVlJywgZmllbGQ6ICduZXdEYXRhJyB9XG4gICAgXVxuICB9O1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4gPSB0aGlzLmZiLmdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4oe1xuICAgIGd1aWQ6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGFjdGlvbjogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIHVzZXJOYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBzb3VyY2VJcDogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgY3JlYXRlZEF0OiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBtc1NvdXJjZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgc291cmNlUGxhdGZvcm06IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGZ1bmN0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgfSk7XG4gIHB1YmxpYyBkYXRhITogQXVkaXRUcmFpbDtcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCBndWlkOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuICBwcm90ZWN0ZWQgc3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYXZDdHJsOiBOYXZDb250cm9sbGVyXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWR7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0R3JpZEFwaSh7IGFwaSB9OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7XG4gICAgdGhpcy5ncmlkQXBpID0gYXBpO1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGlzSXNvRGF0ZVN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW57XG4gICAgY29uc3QgcmVnZXggPSAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KFxcLlxcZHsxLDl9KT9aJC87XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3Qoc3RyKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXREYXRhKHZhbHVlOiBhbnkpOiBhbnl7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuaXNJc29EYXRlU3RyaW5nKHZhbHVlKSkgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsICdkZCBNTU0geXl5eSBISDptbScsICdlbi1VUycpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRhKCk6IHZvaWR7XG4gICAgY29uc3QgbmV3R3VpZCA9IHRoaXMucm91dGUuY2hpbGRyZW5bMF0uc25hcHNob3QucGFyYW1zWydhdWRpdCddO1xuICAgIGlmICghbmV3R3VpZCB8fCB0aGlzLmd1aWQgPT09IG5ld0d1aWQpIHJldHVybjtcblxuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZ3JpZEFwaT8uc2hvd0xvYWRpbmdPdmVybGF5KCk7XG5cbiAgICB0aGlzLmd1aWQgPSBuZXdHdWlkO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc2VydmljZS5xdWVyeSh7IGd1aWQ6IHRoaXMuZ3VpZCB9LCAnZGF0YSB0YWdzIHsgdGFnS2V5IHRhZ1ZhbHVlIH0nKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHsgZGF0YTogeyBhdWRpdE1zQXVkaXRUcmFpbDogZGF0YSB9fSkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRBcGk/LmhpZGVPdmVybGF5KCk7XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgdGhpcy5uYXZDdHJsLmJhY2soKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGd1aWQsIGFjdGlvbiwgZGVzY3JpcHRpb24sIGZ1bmN0aW9uOiBmdW5jLCBtc1NvdXJjZSwgc291cmNlSXAsIGNyZWF0ZWRBdCB9ID0gZGF0YVswXTtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGd1aWQsXG4gICAgICAgICAgZnVuY3Rpb246IGZ1bmMsIFxuICAgICAgICAgIG1zU291cmNlLCBzb3VyY2VJcCxcbiAgICAgICAgICBhY3Rpb24sIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIHVzZXJOYW1lOiBkYXRhWzBdLnVzZXI/Lm5hbWUsXG4gICAgICAgICAgc291cmNlUGxhdGZvcm06IGRhdGFbMF0udXNlcj8uc291cmNlUGxhdGZvcm0sXG4gICAgICAgICAgY3JlYXRlZEF0OiBmb3JtYXREYXRlKGNyZWF0ZWRBdCwgJ2RkIE1NTSB5eXl5IEhIOm1tJywgJ2VuLVVTJyksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0Q2hhbmdlZERhdGEoZGF0YVswXS5kYXRhKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5uYXZDdHJsLmJhY2soKVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENoYW5nZWREYXRhKHsgb2xkRGF0YSwgbmV3RGF0YSB9OiBhbnkpOiB2b2lke1xuICAgIGlmICghbmV3RGF0YSB8fCBBcnJheS5pc0FycmF5KEpTT04ucGFyc2UobmV3RGF0YSkpKSB7XG4gICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIFtdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYmpOZXdEYXRhID0gSlNPTi5wYXJzZShuZXdEYXRhKTtcbiAgICBjb25zdCBjaGFuZ2VkRGF0YSA9IE9iamVjdC5lbnRyaWVzKG9sZERhdGE/IEpTT04ucGFyc2Uob2xkRGF0YSkgOiBKU09OLnBhcnNlKG5ld0RhdGEpKVxuICAgICAgLmZpbHRlcigoW2tleSwgb2xkVmFsXSkgPT4gSlNPTi5zdHJpbmdpZnkob2xkRGF0YT8gb2xkVmFsIDogbnVsbCkgIT09IEpTT04uc3RyaW5naWZ5KG9iak5ld0RhdGFba2V5XSkgJiYgIWtleS5tYXRjaCgvdXBkYXRlfGNyZWF0ZWQvKSlcbiAgICAgIC5tYXAoKFtrZXksIG9sZFZhbF0pID0+ICh7XG4gICAgICAgIGF0dHJpYnV0ZToga2V5LFxuICAgICAgICBvbGREYXRhOiBvbGREYXRhPyB0aGlzLmZvcm1hdERhdGEob2xkVmFsKSA6IG51bGwsXG4gICAgICAgIG5ld0RhdGE6IHRoaXMuZm9ybWF0RGF0YShvYmpOZXdEYXRhW2tleV0pXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIGNoYW5nZWREYXRhKTtcbiAgfVxufVxuIiwiPHVwLXRhYi1ncm91cCBjbGFzcz1cImgtMTAwXCI+XG4gICAgPHVwLXRhYi1jb250ZW50IGhlYWRlcj1cIkRldGFpbFwiIGZyYWdtZW50PVwiZGV0YWlsXCI+XG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICBAZm9yKGkgb2YgWzAsMSwyLDMsNCw1LDZdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8aW9uLXNrZWxldG9uLXRleHQgY2xhc3M9XCJzay1pbnB1dCBteC00IG1iLTRcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwicHgtNCBwYi00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImluZm9ybWF0aW9uLWNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm0tMFwiPkluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIkFjdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImFjdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJTb3VyY2UgSVBcIiBmb3JtQ29udHJvbE5hbWU9XCJzb3VyY2VJcFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIlVzZXIgTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJOYW1lXCIgLz5cbiAgICAgICAgICAgICAgICA8dXAtdGV4dGFyZWEgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItMyBwdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGFwdG9wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+U3lzdGVtIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkFjdGlvbiBEYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEF0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIlNvdXJjZSBQbGF0Zm9ybVwiIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZVBsYXRmb3JtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIk1TIFNvdXJjZVwiIGZvcm1Db250cm9sTmFtZT1cIm1zU291cmNlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkZ1bmN0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwiZnVuY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgfSAgIFxuICAgIDwvdXAtdGFiLWNvbnRlbnQ+XG5cbiAgICA8dXAtdGFiLWNvbnRlbnQgaGVhZGVyPVwiQXR0cmlidXRlc1wiIGZyYWdtZW50PVwiYXR0cmlidXRlc1wiPlxuICAgICAgICA8dXAtcGFnaW5hdGlvbi1ncmlkIGlkPVwiZ3JpZC1hdWRpdC1kZXRhaWxcIiByb3dNb2RlbFR5cGU9XCJjbGllbnRTaWRlXCIgW2NvbmZpZ109XCJncmlkQ29uZmlnXCIgKG9uR3JpZFJlYWR5KT1cInNldEdyaWRBcGkoJGV2ZW50KVwiIC8+XG4gICAgPC91cC10YWItY29udGVudD5cbjwvdXAtdGFiLWdyb3VwPlxuIl19
@@ -53,7 +53,7 @@ export class AuditListComponent {
53
53
  this.gridComponent.reset();
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditListComponent, deps: [{ token: 'id', attribute: true }, { token: 'mainUrl', attribute: true }, { token: i1.Router }, { token: i2.AuditService }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AuditListComponent, isStandalone: true, selector: "up-audit-list", inputs: { relatedEntities: "relatedEntities", tagKeys: "tagKeys" }, host: { classAttribute: "d-flex flex-column h-100" }, viewQueries: [{ propertyName: "gridComponent", first: true, predicate: GridPaginationComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AuditListComponent, isStandalone: true, selector: "up-audit-list", inputs: { relatedEntities: "relatedEntities", tagKeys: "tagKeys" }, host: { classAttribute: "d-flex flex-column h-100" }, viewQueries: [{ propertyName: "gridComponent", first: true, predicate: GridPaginationComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection", "getRowClass"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditListComponent, decorators: [{
59
59
  type: Component,
@@ -24,14 +24,14 @@ export class ButtonGroupComponent {
24
24
  this.popoverCtrl.dismiss();
25
25
  }
26
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: 'id', attribute: true }, { token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @defer (when config.length > 1) {\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n @for (c of config; track $index; let i = $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n </ion-popover>\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }], deferBlockDependencies: [() => [i1.IonButton, i1.IonIcon, i1.IonPopover]] }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @defer (when config.length > 1) {\n @if (config.length > 1) { \n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n @for (c of config; track $index; let i = $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n </ion-popover>\n }\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }], deferBlockDependencies: [() => [i1.IonButton, i1.IonIcon, i1.IonPopover]] }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonGroupComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ standalone: true, selector: 'up-btn-group', imports: [
32
32
  IonicModule,
33
33
  ButtonLoadingComponent
34
- ], template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @defer (when config.length > 1) {\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n @for (c of config; track $index; let i = $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n </ion-popover>\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
34
+ ], template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @defer (when config.length > 1) {\n @if (config.length > 1) { \n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n\n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n @for (c of config; track $index; let i = $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n </ion-popover>\n }\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
35
35
  }], ctorParameters: () => [{ type: undefined, decorators: [{
36
36
  type: Attribute,
37
37
  args: ['id']
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
42
42
  type: HostBinding,
43
43
  args: ['class.d-none']
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBWTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFrQi9CLFlBTTBCLEVBQVUsRUFDZixXQUE4QjtRQUR6QixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBaEJaLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPMUQsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFVM0IsQ0FBQztJQUVFLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBUU0sUUFBUSxDQUFDLENBQXlCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBUU0sTUFBTSxDQUFDLENBQVM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXREVSxvQkFBb0Isa0JBd0JsQixJQUFJO2tHQXhCTixvQkFBb0Isc0xDZmpDLDJ3REF1Q0EsNFhENUJJLFdBQVcsb01BQ1gsc0JBQXNCOzsyRkFHYixvQkFBb0I7a0JBVmhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FHZjt3QkFDUCxXQUFXO3dCQUNYLHNCQUFzQjtxQkFDdkI7OzBCQTBCRSxTQUFTOzJCQUFDLElBQUk7eUVBaEJpQixNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDYyxRQUFRO3NCQUE5QyxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9idG4tZ3JvdXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tZ3JvdXAnLFxuICBzdHlsZVVybDogJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBCdXR0b25Mb2FkaW5nQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uR3JvdXBDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiBncm91cCBwcm9wZXJ0aWVzLiBUaGlzXG4gICAqIG9iamVjdCBkZWZpbmVkIGJ5IEJ1dHRvbkdyb3VwQ29uZmlnIGludGVyZmFjZSBhbGxvd3Mgc3BlY2lmeWluZyBidXR0b24gc3VjaCBhcyBpY29uLFxuICAgKiBjb2xvciwgZGVzY3JpcHRpb24sIGRpc2FibGVkLCBmb3JtLCBsYWJlbCwgYW5kIHR5cGVcbiAgICogQHR5cGUge0J1dHRvbkdyb3VwQ29uZmlnW119XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY29uZmlnITogQnV0dG9uR3JvdXBDb25maWdbXTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLW5vbmUnKSBwcm90ZWN0ZWQgaXNIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBmbGFnIHZhcmlhYmxlIHRoYXQgdXNlZCB0byBjb250cm9sIHNob3dlZCBidXR0b24uIFdoZW4gc2V0IGEgbmV3IHZhbHVlLCBjdXJyZW50IGJ1dHRvblxuICAgKiBpcyBoaWRkZW4gYW5kIGFuZCBhIG5ldyBidXR0b24gaXMgc2hvd24uIERlZmF1bHQgdmFsdWUgaXMgMC5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBbiBpZGVudGlmaWVyIHRoYXQgdXNlZCB0byB1bmlxdWVseSBpZGVudGlmeSBhbiBIVE1MIGVsZW1lbnQgc3VjaCBhcyBhIGlvbi1idXR0b24gYW5kXG4gICAgICogYSBpb24tcG9wb3Zlci5cbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBBdHRyaWJ1dGUoJ2lkJykgcHVibGljIGlkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcG92ZXJDdHJsOiBQb3BvdmVyQ29udHJvbGxlclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMuaXNIaWRkZW4gPSB0aGlzLmNvbmZpZy5sZW5ndGggPD0gMDtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSAwO1xuICAgIH0gXG4gIH1cblxuICAvKipcbiAgICogQSBtZXRob2QgdGhhdCBleGVjdXRlcyBhbm90aGVyIG1ldGhvZCBpbnNpZGUgYWN0aXZlIGJ1dHRvbiBkZWZpbmVkIHdpdGhpbiBCdXR0b25Hcm91cENvbmZpZ1xuICAgKiBpbnRlcmZhY2UgYWZ0ZXIgYSBidXR0b24gaXMgY2xpY2tlZC4gSXQgcmVjZWl2ZXMgYSBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IGFzIGEgcGFyYW1ldGVyXG4gICAqIGFsbG93aW5nIG1vZGlmaWNhdGlvbiBvZiB0aGUgYWN0aXZlIGJ1dHRvbi5cbiAgICogQHBhcmFtIHtCdXR0b25Mb2FkaW5nQ29tcG9uZW50fSBiIC0gQ29udGFpbiB2YWx1ZXMgZnJvbSBjdXJyZW50IGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0J0bihiOiBCdXR0b25Mb2FkaW5nQ29tcG9uZW50KTogdm9pZHtcbiAgICB0aGlzLmNvbmZpZ1t0aGlzLmFjdGl2ZUluZGV4XS5vbkNsaWNrKGIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgY2hhbmdlIHZhcmlhYmxlIGFjdGl2ZUluZGV4IHZhbHVlIHRvIGN1cnJlbnQgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24gYW5kIGRpc21pc3NcbiAgICogcG9wb3Zlci4gSXQgcmVjZWl2ZXMgYSBudW1iZXIgdmFyaWFibGUgYXMgYSBwYXJhbWV0ZXIgYW5kIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyIHdpbGwgYmUgc2V0XG4gICAqIHRvIHZhcmlhYmxlIGFjdGl2ZUluZGV4LlxuICAgKiBAcGFyYW0ge251bWJlcn0gaSAtIE5ldyBpbmRleCBvZiB0aGUgYWN0aXZlIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoaTogbnVtYmVyKTogdm9pZHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaTtcbiAgICB0aGlzLnBvcG92ZXJDdHJsLmRpc21pc3MoKTtcbiAgfVxufVxuIiwiQGlmIChjb25maWcubGVuZ3RoID4gMCkge1xuICAgIDx1cC1idG4tbG9hZGluZyBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgW2NsYXNzLm11bHRpXT1cImNvbmZpZy5sZW5ndGggPiAxXCIgW3R5cGVdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS50eXBlXCIgW2Rpc2FibGVkXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uZGlzYWJsZWRcIiBbZm9ybV09XCJjb25maWdbYWN0aXZlSW5kZXhdLmZvcm1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiIChvbkNsaWNrKT1cImNsaWNrQnRuKCRldmVudCk7XCI+XG4gICAgICAgIEBpZiAoY29uZmlnW2FjdGl2ZUluZGV4XS5pY29uKSB7XG4gICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJtZS0yXCIgbmFtZT1cInt7IGNvbmZpZ1thY3RpdmVJbmRleF0uaWNvbiB9fVwiIC8+XG4gICAgICAgIH1cblxuICAgICAgICB7eyBjb25maWdbYWN0aXZlSW5kZXhdLmxhYmVsIH19XG4gICAgPC91cC1idG4tbG9hZGluZz5cblxuICAgIEBkZWZlciAod2hlbiBjb25maWcubGVuZ3RoID4gMSkge1xuICAgICAgICA8aW9uLWJ1dHRvbiBjbGFzcz1cImZsZXgtc2hyaW5rLTBcIiBpZD1cImJ0bi17eyBpZCB9fVwiIFtjb2xvcl09XCJjb25maWdbYWN0aXZlSW5kZXhdLmNvbG9yXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhcmV0LWRvd24tb3V0bGluZVwiIC8+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLXBvcG92ZXIgdHJpZ2dlcj1cImJ0bi17eyBpZCB9fVwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIEBmb3IgKGMgb2YgY29uZmlnOyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtIHB4LTIgcHktMyBjdXJzb3ItcG9pbnRlciBib3JkZXItYm90dG9tIGQtZmxleCBnYXAtMlwiIChjbGljayk9XCJjaGFuZ2UoaSk7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBmbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpID09PSBhY3RpdmVJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFya1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbWVkaXVtXCI+e3sgYy5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGMuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImYxMiBwdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2lvbi1wb3BvdmVyPlxuICAgIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBWTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFrQi9CLFlBTTBCLEVBQVUsRUFDZixXQUE4QjtRQUR6QixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBaEJaLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPMUQsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFVM0IsQ0FBQztJQUVFLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBUU0sUUFBUSxDQUFDLENBQXlCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBUU0sTUFBTSxDQUFDLENBQVM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXREVSxvQkFBb0Isa0JBd0JsQixJQUFJO2tHQXhCTixvQkFBb0Isc0xDZmpDLGc2REF3Q0EsNFhEN0JJLFdBQVcsb01BQ1gsc0JBQXNCOzsyRkFHYixvQkFBb0I7a0JBVmhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FHZjt3QkFDUCxXQUFXO3dCQUNYLHNCQUFzQjtxQkFDdkI7OzBCQTBCRSxTQUFTOzJCQUFDLElBQUk7eUVBaEJpQixNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDYyxRQUFRO3NCQUE5QyxXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9idG4tZ3JvdXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tZ3JvdXAnLFxuICBzdHlsZVVybDogJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J0bi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBCdXR0b25Mb2FkaW5nQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uR3JvdXBDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiBncm91cCBwcm9wZXJ0aWVzLiBUaGlzXG4gICAqIG9iamVjdCBkZWZpbmVkIGJ5IEJ1dHRvbkdyb3VwQ29uZmlnIGludGVyZmFjZSBhbGxvd3Mgc3BlY2lmeWluZyBidXR0b24gc3VjaCBhcyBpY29uLFxuICAgKiBjb2xvciwgZGVzY3JpcHRpb24sIGRpc2FibGVkLCBmb3JtLCBsYWJlbCwgYW5kIHR5cGVcbiAgICogQHR5cGUge0J1dHRvbkdyb3VwQ29uZmlnW119XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY29uZmlnITogQnV0dG9uR3JvdXBDb25maWdbXTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kLW5vbmUnKSBwcm90ZWN0ZWQgaXNIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBmbGFnIHZhcmlhYmxlIHRoYXQgdXNlZCB0byBjb250cm9sIHNob3dlZCBidXR0b24uIFdoZW4gc2V0IGEgbmV3IHZhbHVlLCBjdXJyZW50IGJ1dHRvblxuICAgKiBpcyBoaWRkZW4gYW5kIGFuZCBhIG5ldyBidXR0b24gaXMgc2hvd24uIERlZmF1bHQgdmFsdWUgaXMgMC5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBbiBpZGVudGlmaWVyIHRoYXQgdXNlZCB0byB1bmlxdWVseSBpZGVudGlmeSBhbiBIVE1MIGVsZW1lbnQgc3VjaCBhcyBhIGlvbi1idXR0b24gYW5kXG4gICAgICogYSBpb24tcG9wb3Zlci5cbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIEBBdHRyaWJ1dGUoJ2lkJykgcHVibGljIGlkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcG92ZXJDdHJsOiBQb3BvdmVyQ29udHJvbGxlclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZHtcbiAgICBpZiAoY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgIHRoaXMuaXNIaWRkZW4gPSB0aGlzLmNvbmZpZy5sZW5ndGggPD0gMDtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSAwO1xuICAgIH0gXG4gIH1cblxuICAvKipcbiAgICogQSBtZXRob2QgdGhhdCBleGVjdXRlcyBhbm90aGVyIG1ldGhvZCBpbnNpZGUgYWN0aXZlIGJ1dHRvbiBkZWZpbmVkIHdpdGhpbiBCdXR0b25Hcm91cENvbmZpZ1xuICAgKiBpbnRlcmZhY2UgYWZ0ZXIgYSBidXR0b24gaXMgY2xpY2tlZC4gSXQgcmVjZWl2ZXMgYSBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IGFzIGEgcGFyYW1ldGVyXG4gICAqIGFsbG93aW5nIG1vZGlmaWNhdGlvbiBvZiB0aGUgYWN0aXZlIGJ1dHRvbi5cbiAgICogQHBhcmFtIHtCdXR0b25Mb2FkaW5nQ29tcG9uZW50fSBiIC0gQ29udGFpbiB2YWx1ZXMgZnJvbSBjdXJyZW50IGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjbGlja0J0bihiOiBCdXR0b25Mb2FkaW5nQ29tcG9uZW50KTogdm9pZHtcbiAgICB0aGlzLmNvbmZpZ1t0aGlzLmFjdGl2ZUluZGV4XS5vbkNsaWNrKGIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgY2hhbmdlIHZhcmlhYmxlIGFjdGl2ZUluZGV4IHZhbHVlIHRvIGN1cnJlbnQgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24gYW5kIGRpc21pc3NcbiAgICogcG9wb3Zlci4gSXQgcmVjZWl2ZXMgYSBudW1iZXIgdmFyaWFibGUgYXMgYSBwYXJhbWV0ZXIgYW5kIHRoZSB2YWx1ZSBvZiB0aGUgcGFyYW1ldGVyIHdpbGwgYmUgc2V0XG4gICAqIHRvIHZhcmlhYmxlIGFjdGl2ZUluZGV4LlxuICAgKiBAcGFyYW0ge251bWJlcn0gaSAtIE5ldyBpbmRleCBvZiB0aGUgYWN0aXZlIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoaTogbnVtYmVyKTogdm9pZHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaTtcbiAgICB0aGlzLnBvcG92ZXJDdHJsLmRpc21pc3MoKTtcbiAgfVxufVxuIiwiQGlmIChjb25maWcubGVuZ3RoID4gMCkge1xuICAgIDx1cC1idG4tbG9hZGluZyBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgW2NsYXNzLm11bHRpXT1cImNvbmZpZy5sZW5ndGggPiAxXCIgW3R5cGVdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS50eXBlXCIgW2Rpc2FibGVkXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uZGlzYWJsZWRcIiBbZm9ybV09XCJjb25maWdbYWN0aXZlSW5kZXhdLmZvcm1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiIChvbkNsaWNrKT1cImNsaWNrQnRuKCRldmVudCk7XCI+XG4gICAgICAgIEBpZiAoY29uZmlnW2FjdGl2ZUluZGV4XS5pY29uKSB7XG4gICAgICAgICAgICA8aW9uLWljb24gY2xhc3M9XCJtZS0yXCIgbmFtZT1cInt7IGNvbmZpZ1thY3RpdmVJbmRleF0uaWNvbiB9fVwiIC8+XG4gICAgICAgIH1cbiAgICAgICAge3sgY29uZmlnW2FjdGl2ZUluZGV4XS5sYWJlbCB9fVxuICAgIDwvdXAtYnRuLWxvYWRpbmc+XG5cbiAgICBAZGVmZXIgKHdoZW4gY29uZmlnLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgQGlmIChjb25maWcubGVuZ3RoID4gMSkgeyBcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiZmxleC1zaHJpbmstMFwiIGlkPVwiYnRuLXt7IGlkIH19XCIgW2NvbG9yXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uY29sb3JcIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNhcmV0LWRvd24tb3V0bGluZVwiIC8+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgICAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwiYnRuLXt7IGlkIH19XCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChjIG9mIGNvbmZpZzsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHgtMiBweS0zIGN1cnNvci1wb2ludGVyIGJvcmRlci1ib3R0b20gZC1mbGV4IGdhcC0yXCIgKGNsaWNrKT1cImNoYW5nZShpKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBmbGV4LXNocmluay0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaSA9PT0gYWN0aXZlSW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW1lZGl1bVwiPnt7IGMubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGMuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmMTIgcHQtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2lvbi1wb3BvdmVyPlxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -28,7 +28,7 @@ export class ListPaginationContainerComponent {
28
28
  this.gridApi.purgeInfiniteCache();
29
29
  }
30
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ListPaginationContainerComponent, deps: [{ token: 'id', attribute: true }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ListPaginationContainerComponent, isStandalone: true, selector: "up-list-pagination-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap flex-md-nowrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-2\">\n <h3 class=\"m-0 text-truncate\">{{ header }}</h3>\n\n @if (config.buttons && config.buttons.length > 0) {\n <up-btn-group class=\"flex-shrink-0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n }\n </div>\n\n @if (config.filterConfig) {\n <div class=\"flex-shrink-0 flex-grow-1 flex-lg-grow-0\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["div:has(>up-filter){flex-basis:50%}@media (max-width: 576px){div:has(>up-filter){flex-basis:100%}}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ListPaginationContainerComponent, isStandalone: true, selector: "up-list-pagination-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap flex-md-nowrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-2\">\n <h3 class=\"m-0 text-truncate\">{{ header }}</h3>\n\n @if (config.buttons && config.buttons.length > 0) {\n <up-btn-group class=\"flex-shrink-0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n }\n </div>\n\n @if (config.filterConfig) {\n <div class=\"flex-shrink-0 flex-grow-1 flex-lg-grow-0\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["div:has(>up-filter){flex-basis:50%}@media (max-width: 576px){div:has(>up-filter){flex-basis:100%}}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection", "getRowClass"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
32
32
  }
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ListPaginationContainerComponent, decorators: [{
34
34
  type: Component,
@@ -27,7 +27,7 @@ export class ListSnapshotContainerComponent {
27
27
  this.gridApi.purgeInfiniteCache();
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ListSnapshotContainerComponent, deps: [{ token: 'id', attribute: true }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ListSnapshotContainerComponent, isStandalone: true, selector: "up-list-snapshot-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap flex-md-nowrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-2\">\n <h3 class=\"m-0 text-truncate\">{{ header }}</h3>\n\n @if (config.buttons && config.buttons.length > 0) {\n <up-btn-group class=\"flex-shrink-0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n }\n </div>\n\n @if (config.filterConfig) {\n <div class=\"flex-shrink-0 flex-grow-1 flex-lg-grow-0\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["div:has(>up-filter){flex-basis:50%}@media (max-width: 576px){div:has(>up-filter){flex-basis:100%}}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridSnapshotComponent, selector: "up-snapshot-grid", inputs: ["id", "config", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ListSnapshotContainerComponent, isStandalone: true, selector: "up-list-snapshot-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap flex-md-nowrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-2\">\n <h3 class=\"m-0 text-truncate\">{{ header }}</h3>\n\n @if (config.buttons && config.buttons.length > 0) {\n <up-btn-group class=\"flex-shrink-0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n }\n </div>\n\n @if (config.filterConfig) {\n <div class=\"flex-shrink-0 flex-grow-1 flex-lg-grow-0\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["div:has(>up-filter){flex-basis:50%}@media (max-width: 576px){div:has(>up-filter){flex-basis:100%}}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridSnapshotComponent, selector: "up-snapshot-grid", inputs: ["id", "config", "rowSelection", "getRowClass"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ListSnapshotContainerComponent, decorators: [{
33
33
  type: Component,
@@ -56,8 +56,10 @@ export class GridPaginationComponent {
56
56
  next: ({ data, totalRecord }) => {
57
57
  this.gridApi.hideOverlay();
58
58
  if (offset === 0) {
59
- if (data.length === 0)
59
+ if (data.length === 0) {
60
+ this.gridApi.setGridOption('overlayNoRowsTemplate', this.config.noRowText);
60
61
  this.gridApi.showNoRowsOverlay();
62
+ }
61
63
  this.count = totalRecord;
62
64
  }
63
65
  if (!this.config.useTotalRecord && data.length < this.config.rowPerPage) {
@@ -65,7 +67,8 @@ export class GridPaginationComponent {
65
67
  }
66
68
  successCallback(data, this.count);
67
69
  },
68
- error: () => {
70
+ error: ({ message }) => {
71
+ this.gridApi.setGridOption('overlayNoRowsTemplate', `<span class="f20">${message}</span>`);
69
72
  this.gridApi.hideOverlay();
70
73
  this.gridApi.showNoRowsOverlay();
71
74
  failCallback();
@@ -76,7 +79,7 @@ export class GridPaginationComponent {
76
79
  this.gridApi?.setGridOption('datasource', datasource);
77
80
  }
78
81
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GridPaginationComponent, deps: [{ token: i1.GridService }], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: GridPaginationComponent, isStandalone: true, selector: "up-pagination-grid", inputs: { config: "config", rowData: "rowData", id: "id", rowModelType: "rowModelType", rowSelection: "rowSelection" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSelectionChanged: "onSelectionChanged" }, host: { classAttribute: "d-block h-100 w-100" }, ngImport: i0, template: "<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n (paginationChanged)=\"changePagination($event)\"\n/>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AgGridModule }, { kind: "component", type: i2.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: GridPaginationComponent, isStandalone: true, selector: "up-pagination-grid", inputs: { config: "config", rowData: "rowData", id: "id", rowModelType: "rowModelType", rowSelection: "rowSelection", getRowClass: "getRowClass" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSelectionChanged: "onSelectionChanged" }, host: { classAttribute: "d-block h-100 w-100" }, ngImport: i0, template: "<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [getRowClass]=\"getRowClass\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n (paginationChanged)=\"changePagination($event)\"\n/>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AgGridModule }, { kind: "component", type: i2.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
83
  }
81
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GridPaginationComponent, decorators: [{
82
85
  type: Component,
@@ -84,7 +87,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
84
87
  class: 'd-block h-100 w-100'
85
88
  }, imports: [
86
89
  AgGridModule
87
- ], template: "<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n (paginationChanged)=\"changePagination($event)\"\n/>\n" }]
90
+ ], template: "<ag-grid-angular class=\"ag-theme-balham h-100\"\n [pagination]=\"true\"\n [animateRows]=\"true\"\n [getRowClass]=\"getRowClass\"\n [rowModelType]=\"rowModelType\"\n [rowSelection]=\"rowSelection\"\n [columnDefs]=\"config.colDefs\"\n [defaultColDef]=\"defaultColDef\"\n [cacheBlockSize]=\"config.rowPerPage\"\n [paginationPageSize]=\"config.rowPerPage\"\n [overlayNoRowsTemplate]=\"config.noRowText\"\n (dragStopped)=\"dragColumn($event)\"\n (gridReady)=\"setDatasource($event)\"\n (rowClicked)=\"clickRow($event.data)\"\n (selectionChanged)=\"changeSelected($event)\"\n (paginationChanged)=\"changePagination($event)\"\n/>\n" }]
88
91
  }], ctorParameters: () => [{ type: i1.GridService }], propDecorators: { config: [{
89
92
  type: Input,
90
93
  args: [{ required: true }]
@@ -96,6 +99,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
96
99
  type: Input
97
100
  }], rowSelection: [{
98
101
  type: Input
102
+ }], getRowClass: [{
103
+ type: Input
99
104
  }], onRowClick: [{
100
105
  type: Output
101
106
  }], onGridReady: [{
@@ -103,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
103
108
  }], onSelectionChanged: [{
104
109
  type: Output
105
110
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncmlkcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncmlkcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBdUMsY0FBYyxFQUEwRyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RNLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQWlCMUQsTUFBTSxPQUFPLHVCQUF1QjtJQStFbEMsWUFDcUIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQW5FekIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQU1wQixPQUFFLEdBQXVCLFFBQVEsQ0FBQztRQU9sQyxpQkFBWSxHQUFpQixVQUFVLENBQUM7UUFNeEMsaUJBQVksR0FBMEIsUUFBUSxDQUFDO1FBT3JDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9uRCxnQkFBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTy9ELHVCQUFrQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTVG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QUNGLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0E1TFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb1dDdEJwQyw2bkJBZ0JBLHlEREdJLFlBQVk7OzJGQUdILHVCQUF1QjtrQkFibkMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0IsV0FDUTt3QkFDUCxZQUFZO3FCQUNiO2dGQVNpQyxNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNVCxPQUFPO3NCQUF0QixLQUFLO2dCQU1VLEVBQUU7c0JBQWpCLEtBQUs7Z0JBT1UsWUFBWTtzQkFBM0IsS0FBSztnQkFNVSxZQUFZO3NCQUEzQixLQUFLO2dCQU9vQixVQUFVO3NCQUFuQyxNQUFNO2dCQU9tQixXQUFXO3NCQUFwQyxNQUFNO2dCQU9tQixrQkFBa0I7c0JBQTNDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbERlZiwgSURhdGFzb3VyY2UsIElHZXRSb3dzUGFyYW1zLCBNb2R1bGVSZWdpc3RyeSwgUm93TW9kZWxUeXBlLCBHcmlkUmVhZHlFdmVudCwgRHJhZ1N0b3BwZWRFdmVudCwgU2VsZWN0aW9uQ2hhbmdlZEV2ZW50LCBHcmlkQXBpLCBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgSW5maW5pdGVSb3dNb2RlbE1vZHVsZSB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9pbmZpbml0ZS1yb3ctbW9kZWwnO1xuaW1wb3J0IHsgQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NsaWVudC1zaWRlLXJvdy1tb2RlbCc7XG5pbXBvcnQgeyBBZ0dyaWRNb2R1bGUgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvYW5ndWxhcic7XG5pbXBvcnQgeyBHcmlkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ncmlkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ncmlkLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1wYWdpbmF0aW9uLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IFxuICAgIGNsYXNzOiAnZC1ibG9jayBoLTEwMCB3LTEwMCcgXG4gIH0sXG4gIGltcG9ydHM6IFsgXG4gICAgQWdHcmlkTW9kdWxlIFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGRlZmluaW5nIHRoZSBhZy1HcmlkIHByb3BlcnRpZXMuXG4gICAqIEB0eXBlIHtHcmlkQ29uZmlnfVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBjb25maWchOiBHcmlkQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgcHJvdmlkaW5nIHRoZSByb3cgZGF0YSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGFnLUdyaWQuXG4gICAqIEB0eXBlIHthbnlbXX1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dEYXRhOiBhbnlbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3Igc3BlY2lmeWluZyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGFnLUdyaWQgY29tcG9uZW50LlxuICAgKiBAdHlwZSB7YGdyaWQtJHsgc3RyaW5nIH1gfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGlkOiBgZ3JpZC0keyBzdHJpbmcgfWAgPSAnZ3JpZC1wJztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgZm9yIHNwZWNpZnlpbmcgdGhlIHJvdyBtb2RlbCB0eXBlIGZvciB0aGUgYWctR3JpZC5cbiAgICogSXQgY2FuIGJlICdpbmZpbml0ZScgb3IgJ2NsaWVudFNpZGUnLlxuICAgKiBAdHlwZSB7Um93TW9kZWxUeXBlfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJvd01vZGVsVHlwZTogUm93TW9kZWxUeXBlID0gJ2luZmluaXRlJztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgZm9yIHNwZWNpZnlpbmcgdGhlIHJvdyBzZWxlY3Rpb24gbW9kZS4gSXQgY2FuIGJlICdzaW5nbGUnIG9yICdtdWx0aXBsZScuXG4gICAqIEB0eXBlIHsoJ3NpbmdsZScgfCAnbXVsdGlwbGUnKX1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByb3dTZWxlY3Rpb246ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiBhIHJvdyBpbiB0aGUgYWctR3JpZCBpcyBjbGlja2VkLlxuICAgKiBFbWl0cyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWNrZWQgcm93LlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uUm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiB0aGUgYWctR3JpZCBpcyByZWFkeS5cbiAgICogRW1pdHMgYSBgR3JpZFJlYWR5RXZlbnRgIG9iamVjdC5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uR3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGluIHRoZSBhZy1HcmlkIGNoYW5nZXMuXG4gICAqIEVtaXRzIGEgYFNlbGVjdGlvbkNoYW5nZWRFdmVudDxhbnk+YCBvYmplY3QuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8U2VsZWN0aW9uQ2hhbmdlZEV2ZW50PGFueT4+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgY29sdW1uIGRlZmluaXRpb24gZm9yIHRoZSBhZy1HcmlkLlxuICAgKiBAdHlwZSB7Q29sRGVmfVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRDb2xEZWY6IENvbERlZiA9IHsgbWluV2lkdGg6IDIwMCwgZmxleDogMSwgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSwgc29ydGluZ09yZGVyOiBbICdhc2MnLCAnZGVzYycgXSwgY2VsbFN0eWxlOiB7IHRleHRBbGlnbjogJ2xlZnQnIH19O1xuXG4gIC8qKlxuICAgKiBQcm90ZWN0ZWQgdmFyaWFibGUgdG8gc3RvcmUgdGhlIHRvdGFsIGNvdW50IG9mIHJlY29yZHMuXG4gICAqIEB0eXBlIHtudW1iZXIgfCB1bmRlZmluZWR9XG4gICAqL1xuICBwcm90ZWN0ZWQgY291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFByb3RlY3RlZCB2YXJpYWJsZSB0byBzdG9yZSB0aGUgYWctR3JpZCBBUEkuXG4gICAqIEB0eXBlIHtHcmlkQXBpfVxuICAgKi9cbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuXG4gIC8qKlxuICAgKiBQcm90ZWN0ZWQgdmFyaWFibGUgdG8gc3RvcmUgdGhlIHN1YnNjcmlwdGlvbiB0byBkYXRhIHJldHJpZXZhbC5cbiAgICogQHR5cGUge1N1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHByb3RlY3RlZCBzdWJzPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlOiBHcmlkU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudC5cbiAgICogUmVnaXN0ZXJzIHRoZSByb3cgbW9kZWwgdHlwZSBtb2R1bGUgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB0eXBlLlxuICAgKiBTZXRzIGRlZmF1bHQgdmFsdWVzIGZvciByb3dQZXJQYWdlIGFuZCBub1Jvd1RleHQgcHJvcGVydGllcyBpbiB0aGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lke1xuICAgIE1vZHVsZVJlZ2lzdHJ5LnJlZ2lzdGVyKHRoaXMucm93TW9kZWxUeXBlID09PSAnaW5maW5pdGUnPyBJbmZpbml0ZVJvd01vZGVsTW9kdWxlIDogQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlKTtcblxuICAgIGlmICghdGhpcy5jb25maWcucm93UGVyUGFnZSkgdGhpcy5jb25maWcucm93UGVyUGFnZSA9IDUwO1xuICAgIHRoaXMuY29uZmlnLm5vUm93VGV4dCA9IGA8c3BhbiBjbGFzcz1cImYyMFwiPiR7IHRoaXMuY29uZmlnLm5vUm93VGV4dD8/ICdEYXRhIG5vdCBmb3VuZCcgfTwvc3Bhbj5gO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIHRvIGhhbmRsZSBjb21wb25lbnQgZGVzdHJ1Y3Rpb24uXG4gICAqIFVuc3Vic2NyaWJlcyBmcm9tIGRhdGEgcmV0cmlldmFsIHN1YnNjcmlwdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZHsgdGhpcy5zdWJzPy51bnN1YnNjcmliZSgpOyB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNsaWNraW5nIGEgcm93IGluIHRoZSBhZy1HcmlkLlxuICAgKiBFbWl0cyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWNrZWQgcm93LlxuICAgKiBAcGFyYW0ge2FueX0gZGF0YSAtIERhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGlja2VkIHJvdy5cbiAgICovXG4gIHB1YmxpYyBjbGlja1JvdyhkYXRhOiBhbnkpOiB2b2lkeyB0aGlzLm9uUm93Q2xpY2suZW1pdChkYXRhKTsgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciB3aGVuIGNvbHVtbiBkcmFnIHN0b3BzIGluIHRoZSBhZy1HcmlkLlxuICAgKiBTYXZlcyB0aGUgY29sdW1uIHN0YXRlIHRvIGxvY2FsIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7RHJhZ1N0b3BwZWRFdmVudH0gcGFyYW0wIC0gRHJhZ1N0b3BwZWRFdmVudCBvYmplY3QgY29udGFpbmluZyBBUEkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgZHJhZ0NvbHVtbih7IGFwaSB9OiBEcmFnU3RvcHBlZEV2ZW50KTogdm9pZHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5pZCwgSlNPTi5zdHJpbmdpZnkoYXBpLmdldENvbHVtblN0YXRlKCkpKTsgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBzZWxlY3Rpb24gY2hhbmdlIGluIHRoZSBhZy1HcmlkLlxuICAgKiBFbWl0cyBhIGBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55PmAgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1NlbGVjdGlvbkNoYW5nZWRFdmVudDxhbnk+fSBkYXRhIC0gU2VsZWN0aW9uQ2hhbmdlZEV2ZW50IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3RlZChkYXRhOiBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55Pik6IHZvaWR7IHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoZGF0YSk7IH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3IgcGFnaW5hdGlvbiBjaGFuZ2UgaW4gdGhlIGFnLUdyaWQuXG4gICAqIFVwZGF0ZXMgdGhlIHJvd1BlclBhZ2UgcHJvcGVydHkgaW4gdGhlIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gdGhlIG5ldyBwYWdlIHNpemUuXG4gICAqIEBwYXJhbSB7UGFnaW5hdGlvbkNoYW5nZWRFdmVudH0gZXYgLSBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VQYWdpbmF0aW9uKGV2OiBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50KTogdm9pZHtcbiAgICBpZiAoZXYubmV3UGFnZVNpemUpIHRoaXMuY29uZmlnLnJvd1BlclBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFBhZ2VTaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3Igc2V0dGluZyB0aGUgZGF0YXNvdXJjZSB3aGVuIHRoZSBhZy1HcmlkIGlzIHJlYWR5LlxuICAgKiBFbWl0cyB0aGUgb25HcmlkUmVhZHkgZXZlbnQgYW5kIHNldHMgdGhlIEFQSSBpbiB0aGUgR3JpZFNlcnZpY2UuXG4gICAqIEFwcGxpZXMgY29sdW1uIHN0YXRlIGZyb20gbG9jYWwgc3RvcmFnZSBhbmQgcmVzZXRzIHRoZSBncmlkIGZvciBpbmZpbml0ZSByb3cgbW9kZWwgdHlwZS5cbiAgICogQHBhcmFtIHtHcmlkUmVhZHlFdmVudH0gZXYgLSBHcmlkUmVhZHlFdmVudCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc2V0RGF0YXNvdXJjZShldjogR3JpZFJlYWR5RXZlbnQpOiB2b2lke1xuICAgIHRoaXMuZ3JpZEFwaSA9IGV2LmFwaTtcbiAgICB0aGlzLm9uR3JpZFJlYWR5LmVtaXQoZXYpO1xuICAgIHRoaXMuc2VydmljZS5zZXRBcGkodGhpcy5pZCwgdGhpcy5ncmlkQXBpKTtcblxuICAgIGNvbnN0IHN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmlkKSBhcyBhbnkpO1xuICAgIGlmIChzdGF0ZSkgZXYuYXBpLmFwcGx5Q29sdW1uU3RhdGUoeyBzdGF0ZSwgYXBwbHlPcmRlcjogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLnJvd01vZGVsVHlwZSA9PT0gJ2NsaWVudFNpZGUnKSB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIHRoaXMucm93RGF0YSk7XG4gICAgaWYgKHRoaXMucm93TW9kZWxUeXBlICE9PSAnaW5maW5pdGUnKSByZXR1cm47XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgZGF0YXNvdXJjZSBmb3IgaW5maW5pdGUgcm93IG1vZGVsIHR5cGUuXG4gICAqIFJldHJpZXZlcyByb3dzIGFzeW5jaHJvbm91c2x5IGJhc2VkIG9uIHBhZ2luYXRpb24gYW5kIHNvcnRpbmcuXG4gICAqIFVwZGF0ZXMgdGhlIGNvdW50IG9mIHJlY29yZHMgYW5kIGNhbGxzIHN1Y2Nlc3Mgb3IgZmFpbCBjYWxsYmFja3MgYWNjb3JkaW5nbHkuXG4gICAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZHtcbiAgICBpZiAoIXRoaXMuZ3JpZEFwaSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YXNvdXJjZTogSURhdGFzb3VyY2UgPSB7XG4gICAgICBnZXRSb3dzOiAoeyBzb3J0TW9kZWw6IFt7IGNvbElkLCBzb3J0IH1dLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWxDYWxsYmFjayB9OiBJR2V0Um93c1BhcmFtcykgPT4ge1xuICAgICAgICB0aGlzLmdyaWRBcGkuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKTtcblxuICAgICAgICB0aGlzLnN1YnMgPSB0aGlzLmNvbmZpZy5nZXREYXRhIShvZmZzZXQsIHRoaXMuY29uZmlnLnJvd1BlclBhZ2UhLCBjb2xJZCwgc29ydCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoeyBkYXRhLCB0b3RhbFJlY29yZCB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyaWRBcGkuaGlkZU92ZXJsYXkoKTtcblxuICAgICAgICAgICAgaWYgKG9mZnNldCA9PT0gMCkge1xuICAgICAgICAgICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDApIHRoaXMuZ3JpZEFwaS5zaG93Tm9Sb3dzT3ZlcmxheSgpO1xuICAgICAgICAgICAgICB0aGlzLmNvdW50ID0gdG90YWxSZWNvcmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5jb25maWcudXNlVG90YWxSZWNvcmQgJiYgZGF0YS5sZW5ndGggPCB0aGlzLmNvbmZpZy5yb3dQZXJQYWdlISkge1xuICAgICAgICAgICAgICB0aGlzLmNvdW50ID0gKG9mZnNldCAqIHRoaXMuY29uZmlnLnJvd1BlclBhZ2UhKSArIGRhdGEubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VjY2Vzc0NhbGxiYWNrKGRhdGEsIHRoaXMuY291bnQpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZEFwaS5oaWRlT3ZlcmxheSgpO1xuICAgICAgICAgICAgdGhpcy5ncmlkQXBpLnNob3dOb1Jvd3NPdmVybGF5KCk7XG5cbiAgICAgICAgICAgIGZhaWxDYWxsYmFjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBcbiAgICB0aGlzLmdyaWRBcGk/LnNldEdyaWRPcHRpb24oJ2RhdGFzb3VyY2UnLCBkYXRhc291cmNlKTtcbiAgfVxufVxuIiwiPGFnLWdyaWQtYW5ndWxhciBjbGFzcz1cImFnLXRoZW1lLWJhbGhhbSBoLTEwMFwiXG4gICAgW3BhZ2luYXRpb25dPVwidHJ1ZVwiXG4gICAgW2FuaW1hdGVSb3dzXT1cInRydWVcIlxuICAgIFtyb3dNb2RlbFR5cGVdPVwicm93TW9kZWxUeXBlXCJcbiAgICBbcm93U2VsZWN0aW9uXT1cInJvd1NlbGVjdGlvblwiXG4gICAgW2NvbHVtbkRlZnNdPVwiY29uZmlnLmNvbERlZnNcIlxuICAgIFtkZWZhdWx0Q29sRGVmXT1cImRlZmF1bHRDb2xEZWZcIlxuICAgIFtjYWNoZUJsb2NrU2l6ZV09XCJjb25maWcucm93UGVyUGFnZVwiXG4gICAgW3BhZ2luYXRpb25QYWdlU2l6ZV09XCJjb25maWcucm93UGVyUGFnZVwiXG4gICAgW292ZXJsYXlOb1Jvd3NUZW1wbGF0ZV09XCJjb25maWcubm9Sb3dUZXh0XCJcbiAgICAoZHJhZ1N0b3BwZWQpPVwiZHJhZ0NvbHVtbigkZXZlbnQpXCJcbiAgICAoZ3JpZFJlYWR5KT1cInNldERhdGFzb3VyY2UoJGV2ZW50KVwiXG4gICAgKHJvd0NsaWNrZWQpPVwiY2xpY2tSb3coJGV2ZW50LmRhdGEpXCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlZCk9XCJjaGFuZ2VTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAocGFnaW5hdGlvbkNoYW5nZWQpPVwiY2hhbmdlUGFnaW5hdGlvbigkZXZlbnQpXCJcbi8+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncmlkcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9ncmlkcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFBdUMsY0FBYyxFQUFtSSxNQUFNLHlCQUF5QixDQUFDO0FBQy9OLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQWlCMUQsTUFBTSxPQUFPLHVCQUF1QjtJQXVGbEMsWUFDcUIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQTNFekIsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQU1wQixPQUFFLEdBQXVCLFFBQVEsQ0FBQztRQU9sQyxpQkFBWSxHQUFpQixVQUFVLENBQUM7UUFNeEMsaUJBQVksR0FBMEIsUUFBUSxDQUFDO1FBZXJDLGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9uRCxnQkFBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTy9ELHVCQUFrQixHQUE2QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTTVG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TyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxxQkFBc0IsT0FBUSxTQUFTLENBQUMsQ0FBQzt3QkFFN0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO3dCQUNqQyxZQUFZLEVBQUUsQ0FBQztvQkFDakIsQ0FBQztpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQXhNVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixnWUN0QnBDLGdxQkFpQkEseURERUksWUFBWTs7MkZBR0gsdUJBQXVCO2tCQWJuQyxTQUFTO2lDQUNJLElBQUksWUFDTixvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixXQUNRO3dCQUNQLFlBQVk7cUJBQ2I7Z0ZBU2lDLE1BQU07c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQU1ULE9BQU87c0JBQXRCLEtBQUs7Z0JBTVUsRUFBRTtzQkFBakIsS0FBSztnQkFPVSxZQUFZO3NCQUEzQixLQUFLO2dCQU1VLFlBQVk7c0JBQTNCLEtBQUs7Z0JBUVUsV0FBVztzQkFBMUIsS0FBSztnQkFPb0IsVUFBVTtzQkFBbkMsTUFBTTtnQkFPbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFPbUIsa0JBQWtCO3NCQUEzQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2xEZWYsIElEYXRhc291cmNlLCBJR2V0Um93c1BhcmFtcywgTW9kdWxlUmVnaXN0cnksIFJvd01vZGVsVHlwZSwgR3JpZFJlYWR5RXZlbnQsIERyYWdTdG9wcGVkRXZlbnQsIFNlbGVjdGlvbkNoYW5nZWRFdmVudCwgR3JpZEFwaSwgUGFnaW5hdGlvbkNoYW5nZWRFdmVudCwgUm93Q2xhc3NQYXJhbXMsIFJvd05vZGUgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVJvd01vZGVsTW9kdWxlIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2luZmluaXRlLXJvdy1tb2RlbCc7XG5pbXBvcnQgeyBDbGllbnRTaWRlUm93TW9kZWxNb2R1bGUgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsJztcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2dyaWQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VwLXBhZ2luYXRpb24tZ3JpZCcsXG4gIHN0eWxlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgXG4gICAgY2xhc3M6ICdkLWJsb2NrIGgtMTAwIHctMTAwJyBcbiAgfSxcbiAgaW1wb3J0czogWyBcbiAgICBBZ0dyaWRNb2R1bGUgXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgZGVmaW5pbmcgdGhlIGFnLUdyaWQgcHJvcGVydGllcy5cbiAgICogQHR5cGUge0dyaWRDb25maWd9XG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEdyaWRDb25maWc7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciBwcm92aWRpbmcgdGhlIHJvdyBkYXRhIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgYWctR3JpZC5cbiAgICogQHR5cGUge2FueVtdfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJvd0RhdGE6IGFueVtdID0gW107XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciBzcGVjaWZ5aW5nIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgYWctR3JpZCBjb21wb25lbnQuXG4gICAqIEB0eXBlIHtgZ3JpZC0keyBzdHJpbmcgfWB9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWQ6IGBncmlkLSR7IHN0cmluZyB9YCA9ICdncmlkLXAnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3Igc3BlY2lmeWluZyB0aGUgcm93IG1vZGVsIHR5cGUgZm9yIHRoZSBhZy1HcmlkLlxuICAgKiBJdCBjYW4gYmUgJ2luZmluaXRlJyBvciAnY2xpZW50U2lkZScuXG4gICAqIEB0eXBlIHtSb3dNb2RlbFR5cGV9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgcm93TW9kZWxUeXBlOiBSb3dNb2RlbFR5cGUgPSAnaW5maW5pdGUnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3Igc3BlY2lmeWluZyB0aGUgcm93IHNlbGVjdGlvbiBtb2RlLiBJdCBjYW4gYmUgJ3NpbmdsZScgb3IgJ211bHRpcGxlJy5cbiAgICogQHR5cGUgeygnc2luZ2xlJyB8ICdtdWx0aXBsZScpfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJvd1NlbGVjdGlvbjogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ3NpbmdsZSc7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHZlcnNpb24gb2YgcHJvcGVydHkgYHJvd0NsYXNzYCB0byBzZXQgY2xhc3MoZXMpIGZvciBlYWNoIHJvdyBpbmRpdmlkdWFsbHkuIFxuICAgKiBGdW5jdGlvbiBzaG91bGQgcmV0dXJuIGVpdGhlciBhIHN0cmluZyAoY2xhc3MgbmFtZSksIGFycmF5IG9mIHN0cmluZ3MgKGFycmF5IG9mIGNsYXNzIG5hbWVzKSBvciB1bmRlZmluZWQgZm9yIG5vIGNsYXNzLlxuICAgKiBAdHlwZSB7IFJvd0NsYXNzUGFyYW1zPFREYXRhID0gYW55LCBUQ29udGV4dCA9IGFueT4gfVxuICAgKiBAcmV0dXJucyB7IHN0cmluZyB9XG4gICovIFxuICBASW5wdXQoKSBwdWJsaWMgZ2V0Um93Q2xhc3M6ICgocGFyYW1zOiBSb3dDbGFzc1BhcmFtczxSb3dOb2RlLCBhbnk+KSA9PiBzdHJpbmcpIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiBhIHJvdyBpbiB0aGUgYWctR3JpZCBpcyBjbGlja2VkLlxuICAgKiBFbWl0cyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWNrZWQgcm93LlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uUm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiB0aGUgYWctR3JpZCBpcyByZWFkeS5cbiAgICogRW1pdHMgYSBgR3JpZFJlYWR5RXZlbnRgIG9iamVjdC5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uR3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBPdXRwdXQgZXZlbnQgZW1pdHRlciB0cmlnZ2VyZWQgd2hlbiB0aGUgc2VsZWN0aW9uIGluIHRoZSBhZy1HcmlkIGNoYW5nZXMuXG4gICAqIEVtaXRzIGEgYFNlbGVjdGlvbkNoYW5nZWRFdmVudDxhbnk+YCBvYmplY3QuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8U2VsZWN0aW9uQ2hhbmdlZEV2ZW50PGFueT4+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgY29sdW1uIGRlZmluaXRpb24gZm9yIHRoZSBhZy1HcmlkLlxuICAgKiBAdHlwZSB7Q29sRGVmfVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRDb2xEZWY6IENvbERlZiA9IHsgbWluV2lkdGg6IDIwMCwgZmxleDogMSwgc29ydGFibGU6IHRydWUsIHJlc2l6YWJsZTogdHJ1ZSwgc29ydGluZ09yZGVyOiBbICdhc2MnLCAnZGVzYycgXSwgY2VsbFN0eWxlOiB7IHRleHRBbGlnbjogJ2xlZnQnIH19O1xuXG4gIC8qKlxuICAgKiBQcm90ZWN0ZWQgdmFyaWFibGUgdG8gc3RvcmUgdGhlIHRvdGFsIGNvdW50IG9mIHJlY29yZHMuXG4gICAqIEB0eXBlIHtudW1iZXIgfCB1bmRlZmluZWR9XG4gICAqL1xuICBwcm90ZWN0ZWQgY291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFByb3RlY3RlZCB2YXJpYWJsZSB0byBzdG9yZSB0aGUgYWctR3JpZCBBUEkuXG4gICAqIEB0eXBlIHtHcmlkQXBpfVxuICAgKi9cbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuXG4gIC8qKlxuICAgKiBQcm90ZWN0ZWQgdmFyaWFibGUgdG8gc3RvcmUgdGhlIHN1YnNjcmlwdGlvbiB0byBkYXRhIHJldHJpZXZhbC5cbiAgICogQHR5cGUge1N1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZH1cbiAgICovXG4gIHByb3RlY3RlZCBzdWJzPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlOiBHcmlkU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIHRvIGluaXRpYWxpemUgdGhlIGNvbXBvbmVudC5cbiAgICogUmVnaXN0ZXJzIHRoZSByb3cgbW9kZWwgdHlwZSBtb2R1bGUgYmFzZWQgb24gdGhlIHNwZWNpZmllZCB0eXBlLlxuICAgKiBTZXRzIGRlZmF1bHQgdmFsdWVzIGZvciByb3dQZXJQYWdlIGFuZCBub1Jvd1RleHQgcHJvcGVydGllcyBpbiB0aGUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lke1xuICAgIE1vZHVsZVJlZ2lzdHJ5LnJlZ2lzdGVyKHRoaXMucm93TW9kZWxUeXBlID09PSAnaW5maW5pdGUnPyBJbmZpbml0ZVJvd01vZGVsTW9kdWxlIDogQ2xpZW50U2lkZVJvd01vZGVsTW9kdWxlKTtcblxuICAgIGlmICghdGhpcy5jb25maWcucm93UGVyUGFnZSkgdGhpcy5jb25maWcucm93UGVyUGFnZSA9IDUwO1xuICAgIHRoaXMuY29uZmlnLm5vUm93VGV4dCA9IGA8c3BhbiBjbGFzcz1cImYyMFwiPiR7IHRoaXMuY29uZmlnLm5vUm93VGV4dD8/ICdEYXRhIG5vdCBmb3VuZCcgfTwvc3Bhbj5gO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIHRvIGhhbmRsZSBjb21wb25lbnQgZGVzdHJ1Y3Rpb24uXG4gICAqIFVuc3Vic2NyaWJlcyBmcm9tIGRhdGEgcmV0cmlldmFsIHN1YnNjcmlwdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZHsgdGhpcy5zdWJzPy51bnN1YnNjcmliZSgpOyB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNsaWNraW5nIGEgcm93IGluIHRoZSBhZy1HcmlkLlxuICAgKiBFbWl0cyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGNsaWNrZWQgcm93LlxuICAgKiBAcGFyYW0ge2FueX0gZGF0YSAtIERhdGEgYXNzb2NpYXRlZCB3aXRoIHRoZSBjbGlja2VkIHJvdy5cbiAgICovXG4gIHB1YmxpYyBjbGlja1JvdyhkYXRhOiBhbnkpOiB2b2lkeyB0aGlzLm9uUm93Q2xpY2suZW1pdChkYXRhKTsgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciB3aGVuIGNvbHVtbiBkcmFnIHN0b3BzIGluIHRoZSBhZy1HcmlkLlxuICAgKiBTYXZlcyB0aGUgY29sdW1uIHN0YXRlIHRvIGxvY2FsIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7RHJhZ1N0b3BwZWRFdmVudH0gcGFyYW0wIC0gRHJhZ1N0b3BwZWRFdmVudCBvYmplY3QgY29udGFpbmluZyBBUEkgaW5mb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgZHJhZ0NvbHVtbih7IGFwaSB9OiBEcmFnU3RvcHBlZEV2ZW50KTogdm9pZHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5pZCwgSlNPTi5zdHJpbmdpZnkoYXBpLmdldENvbHVtblN0YXRlKCkpKTsgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBzZWxlY3Rpb24gY2hhbmdlIGluIHRoZSBhZy1HcmlkLlxuICAgKiBFbWl0cyBhIGBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55PmAgb2JqZWN0LlxuICAgKiBAcGFyYW0ge1NlbGVjdGlvbkNoYW5nZWRFdmVudDxhbnk+fSBkYXRhIC0gU2VsZWN0aW9uQ2hhbmdlZEV2ZW50IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3RlZChkYXRhOiBTZWxlY3Rpb25DaGFuZ2VkRXZlbnQ8YW55Pik6IHZvaWR7IHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoZGF0YSk7IH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3IgcGFnaW5hdGlvbiBjaGFuZ2UgaW4gdGhlIGFnLUdyaWQuXG4gICAqIFVwZGF0ZXMgdGhlIHJvd1BlclBhZ2UgcHJvcGVydHkgaW4gdGhlIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gdGhlIG5ldyBwYWdlIHNpemUuXG4gICAqIEBwYXJhbSB7UGFnaW5hdGlvbkNoYW5nZWRFdmVudH0gZXYgLSBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VQYWdpbmF0aW9uKGV2OiBQYWdpbmF0aW9uQ2hhbmdlZEV2ZW50KTogdm9pZHtcbiAgICBpZiAoZXYubmV3UGFnZVNpemUpIHRoaXMuY29uZmlnLnJvd1BlclBhZ2UgPSB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdldFBhZ2VTaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3Igc2V0dGluZyB0aGUgZGF0YXNvdXJjZSB3aGVuIHRoZSBhZy1HcmlkIGlzIHJlYWR5LlxuICAgKiBFbWl0cyB0aGUgb25HcmlkUmVhZHkgZXZlbnQgYW5kIHNldHMgdGhlIEFQSSBpbiB0aGUgR3JpZFNlcnZpY2UuXG4gICAqIEFwcGxpZXMgY29sdW1uIHN0YXRlIGZyb20gbG9jYWwgc3RvcmFnZSBhbmQgcmVzZXRzIHRoZSBncmlkIGZvciBpbmZpbml0ZSByb3cgbW9kZWwgdHlwZS5cbiAgICogQHBhcmFtIHtHcmlkUmVhZHlFdmVudH0gZXYgLSBHcmlkUmVhZHlFdmVudCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc2V0RGF0YXNvdXJjZShldjogR3JpZFJlYWR5RXZlbnQpOiB2b2lke1xuICAgIHRoaXMuZ3JpZEFwaSA9IGV2LmFwaTtcbiAgICB0aGlzLm9uR3JpZFJlYWR5LmVtaXQoZXYpO1xuICAgIHRoaXMuc2VydmljZS5zZXRBcGkodGhpcy5pZCwgdGhpcy5ncmlkQXBpKTtcblxuICAgIGNvbnN0IHN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmlkKSBhcyBhbnkpO1xuICAgIGlmIChzdGF0ZSkgZXYuYXBpLmFwcGx5Q29sdW1uU3RhdGUoeyBzdGF0ZSwgYXBwbHlPcmRlcjogdHJ1ZSB9KTtcblxuICAgIGlmICh0aGlzLnJvd01vZGVsVHlwZSA9PT0gJ2NsaWVudFNpZGUnKSB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIHRoaXMucm93RGF0YSk7XG4gICAgaWYgKHRoaXMucm93TW9kZWxUeXBlICE9PSAnaW5maW5pdGUnKSByZXR1cm47XG4gICAgdGhpcy5yZXNldCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgZGF0YXNvdXJjZSBmb3IgaW5maW5pdGUgcm93IG1vZGVsIHR5cGUuXG4gICAqIFJldHJpZXZlcyByb3dzIGFzeW5jaHJvbm91c2x5IGJhc2VkIG9uIHBhZ2luYXRpb24gYW5kIHNvcnRpbmcuXG4gICAqIFVwZGF0ZXMgdGhlIGNvdW50IG9mIHJlY29yZHMgYW5kIGNhbGxzIHN1Y2Nlc3Mgb3IgZmFpbCBjYWxsYmFja3MgYWNjb3JkaW5nbHkuXG4gICAqL1xuICBwdWJsaWMgcmVzZXQoKTogdm9pZHtcbiAgICBpZiAoIXRoaXMuZ3JpZEFwaSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YXNvdXJjZTogSURhdGFzb3VyY2UgPSB7XG4gICAgICBnZXRSb3dzOiAoeyBzb3J0TW9kZWw6IFt7IGNvbElkLCBzb3J0IH1dLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWxDYWxsYmFjayB9OiBJR2V0Um93c1BhcmFtcykgPT4ge1xuICAgICAgICB0aGlzLmdyaWRBcGkuc2hvd0xvYWRpbmdPdmVybGF5KCk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZ3JpZEFwaS5wYWdpbmF0aW9uR2V0Q3VycmVudFBhZ2UoKTtcblxuICAgICAgICB0aGlzLnN1YnMgPSB0aGlzLmNvbmZpZy5nZXREYXRhIShvZmZzZXQsIHRoaXMuY29uZmlnLnJvd1BlclBhZ2UhLCBjb2xJZCwgc29ydCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoeyBkYXRhLCB0b3RhbFJlY29yZCB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdyaWRBcGkuaGlkZU92ZXJsYXkoKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKG9mZnNldCA9PT0gMCkge1xuICAgICAgICAgICAgICBpZiAoZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbignb3ZlcmxheU5vUm93c1RlbXBsYXRlJywgdGhpcy5jb25maWcubm9Sb3dUZXh0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWRBcGkuc2hvd05vUm93c092ZXJsYXkoKTtcbiAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgICAgdGhpcy5jb3VudCA9IHRvdGFsUmVjb3JkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnVzZVRvdGFsUmVjb3JkICYmIGRhdGEubGVuZ3RoIDwgdGhpcy5jb25maWcucm93UGVyUGFnZSEpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb3VudCA9IChvZmZzZXQgKiB0aGlzLmNvbmZpZy5yb3dQZXJQYWdlISkgKyBkYXRhLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1Y2Nlc3NDYWxsYmFjayhkYXRhLCB0aGlzLmNvdW50KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoeyBtZXNzYWdlIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ3JpZEFwaS5zZXRHcmlkT3B0aW9uKCdvdmVybGF5Tm9Sb3dzVGVtcGxhdGUnLCBgPHNwYW4gY2xhc3M9XCJmMjBcIj4keyBtZXNzYWdlIH08L3NwYW4+YCk7XG5cbiAgICAgICAgICAgIHRoaXMuZ3JpZEFwaS5oaWRlT3ZlcmxheSgpO1xuICAgICAgICAgICAgdGhpcy5ncmlkQXBpLnNob3dOb1Jvd3NPdmVybGF5KCk7XG4gICAgICAgICAgICBmYWlsQ2FsbGJhY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgXG4gICAgdGhpcy5ncmlkQXBpPy5zZXRHcmlkT3B0aW9uKCdkYXRhc291cmNlJywgZGF0YXNvdXJjZSk7XG4gIH1cbn1cbiIsIjxhZy1ncmlkLWFuZ3VsYXIgY2xhc3M9XCJhZy10aGVtZS1iYWxoYW0gaC0xMDBcIlxuICAgIFtwYWdpbmF0aW9uXT1cInRydWVcIlxuICAgIFthbmltYXRlUm93c109XCJ0cnVlXCJcbiAgICBbZ2V0Um93Q2xhc3NdPVwiZ2V0Um93Q2xhc3NcIlxuICAgIFtyb3dNb2RlbFR5cGVdPVwicm93TW9kZWxUeXBlXCJcbiAgICBbcm93U2VsZWN0aW9uXT1cInJvd1NlbGVjdGlvblwiXG4gICAgW2NvbHVtbkRlZnNdPVwiY29uZmlnLmNvbERlZnNcIlxuICAgIFtkZWZhdWx0Q29sRGVmXT1cImRlZmF1bHRDb2xEZWZcIlxuICAgIFtjYWNoZUJsb2NrU2l6ZV09XCJjb25maWcucm93UGVyUGFnZVwiXG4gICAgW3BhZ2luYXRpb25QYWdlU2l6ZV09XCJjb25maWcucm93UGVyUGFnZVwiXG4gICAgW292ZXJsYXlOb1Jvd3NUZW1wbGF0ZV09XCJjb25maWcubm9Sb3dUZXh0XCJcbiAgICAoZHJhZ1N0b3BwZWQpPVwiZHJhZ0NvbHVtbigkZXZlbnQpXCJcbiAgICAoZ3JpZFJlYWR5KT1cInNldERhdGFzb3VyY2UoJGV2ZW50KVwiXG4gICAgKHJvd0NsaWNrZWQpPVwiY2xpY2tSb3coJGV2ZW50LmRhdGEpXCJcbiAgICAoc2VsZWN0aW9uQ2hhbmdlZCk9XCJjaGFuZ2VTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAocGFnaW5hdGlvbkNoYW5nZWQpPVwiY2hhbmdlUGFnaW5hdGlvbigkZXZlbnQpXCJcbi8+XG4iXX0=