ngx-histaff-alpha 1.4.2 → 1.4.4
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.
- package/esm2022/lib/app/libraries/contractinfor/contractinfor.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-contract-seeker/core-contract-seeker/core-contract-seeker.component.mjs +1 -1
- package/esm2022/lib/app/libraries/core-employee-seeker/core-employee-seeker/core-employee-seeker.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-list-lazy/core-list-lazy/core-list-lazy.component.mjs +4 -6
- package/esm2022/lib/app/libraries/core-mcc/core-mcc/core-mcc.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-page-list/core-page-list.component.mjs +6 -4
- package/esm2022/lib/app/libraries/core-permission-actions/core-permission-actions/core-permission-actions.component.mjs +5 -5
- package/esm2022/lib/app/libraries/core-position-concurrent-seeker/core-position-concurrent-seeker/core-position-concurrent-seeker.component.mjs +1 -1
- package/esm2022/lib/app/libraries/core-position-seeker/core-position-seeker/core-position-seeker.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-table/core-table.component.mjs +2 -2
- package/esm2022/lib/app/libraries/core-wage-seeker/core-wage-seeker/core-wage-seeker.component.mjs +1 -1
- package/esm2022/lib/app/libraries/core-working-seeker/core-working-seeker/core-working-seeker.component.mjs +1 -1
- package/esm2022/lib/app/libraries/decision/decision.component.mjs +2 -2
- package/esm2022/lib/app/libraries/huconcurrently/huconcurrently.component.mjs +2 -2
- package/esm2022/lib/app/libraries/position/position.component.mjs +2 -2
- package/esm2022/lib/app/libraries/staffprofile/staffprofile.component.mjs +2 -2
- package/esm2022/lib/app/libraries/wage/wage.component.mjs +2 -2
- package/esm2022/lib/app/root/function/function.component.mjs +2 -2
- package/esm2022/lib/app/root/function-ignore/function-ignore/function-ignore.component.mjs +1 -1
- package/esm2022/lib/app/root/groupfunction/groupfunction.component.mjs +1 -1
- package/esm2022/lib/app/root/language/language/language.component.mjs +1 -1
- package/esm2022/lib/app/root/mutation-log/mutation-log/mutation-log.component.mjs +1 -1
- package/esm2022/lib/app/root/portal-route/portal-route.component.mjs +1 -1
- package/esm2022/lib/app/root/sys-action/sys-action/sys-action.component.mjs +1 -1
- package/esm2022/lib/app/root/sys-function-action/sys-function-action/sys-function-action.component.mjs +1 -1
- package/esm2022/lib/app/root/sys-module/sys-module/sys-module.component.mjs +2 -2
- package/fesm2022/ngx-histaff-alpha.mjs +34 -33
- package/fesm2022/ngx-histaff-alpha.mjs.map +1 -1
- package/lib/app/libraries/core-page-list/core-page-list.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -306,7 +306,7 @@ export class ContractInforComponent extends BaseComponent {
|
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ContractInforComponent, deps: [{ token: i1.MultiLanguageService }, { token: i2.RandomAvatarService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.OrganizationService }, { token: i5.HttpClient }, { token: i6.AppService }, { token: i7.CorePageListService }, { token: i8.ContractInforService }, { token: i9.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ContractInforComponent, isStandalone: true, selector: "cms-profile-contractinfor", inputs: { hideHeader: "hideHeader" }, viewQueries: [{ propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"cms-profile-contractinfor-container\">\r\n <core-page-list\r\n [apiDefinition]=\"apiDefinition\"\r\n [columns]=\"columns\"\r\n [editRoute]=\"editRoute\"\r\n [crud]=\"crud\"\r\n [title]=\"title\"\r\n [left]=\"orgTree\"\r\n [outerParam$]=\"outerParam$\"\r\n [normalMode]=\"true\"\r\n [outerInOperators]=\"outerInOperators\"\r\n [autoResizeWithWindow]=\"true\"\r\n (rowClick)=\"onRowClick($event)\"\r\n [showParamKit]=\"true\"\r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\"\r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [generateTemplateRequest]=\"generateTemplateRequest\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [importPreviewPath]=\"'contract-import'\"\r\n [outerSort]=\"outerSort\"\r\n [frozen]=\"3\"\r\n\r\n (selectedIdsChange)=\"customizeSelectedIdsChange($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\"\r\n >\r\n </core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.statusName\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code"] }] }); }
|
|
309
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ContractInforComponent, isStandalone: true, selector: "cms-profile-contractinfor", inputs: { hideHeader: "hideHeader" }, viewQueries: [{ propertyName: "sticker", first: true, predicate: ["sticker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"cms-profile-contractinfor-container\">\r\n <core-page-list\r\n [apiDefinition]=\"apiDefinition\"\r\n [columns]=\"columns\"\r\n [editRoute]=\"editRoute\"\r\n [crud]=\"crud\"\r\n [title]=\"title\"\r\n [left]=\"orgTree\"\r\n [outerParam$]=\"outerParam$\"\r\n [normalMode]=\"true\"\r\n [outerInOperators]=\"outerInOperators\"\r\n [autoResizeWithWindow]=\"true\"\r\n (rowClick)=\"onRowClick($event)\"\r\n [showParamKit]=\"true\"\r\n [datePeriodComparisonFor]=\"datePeriodComparisonFor\"\r\n [datePeriodComparisonForLabelKey]=\"datePeriodComparisonForLabelKey\"\r\n [statusInclusionFor]=\"statusInclusionFor\"\r\n [statusInclusionForLabelKey]=\"statusInclusionForLabelKey\"\r\n [statusOptionsApi]=\"statusOptionsApi\"\r\n [generateTemplateRequest]=\"generateTemplateRequest\"\r\n (corePageHeaderButtonClick)=\"onCorePageHeaderButtonClick($event)\"\r\n [importPreviewPath]=\"'contract-import'\"\r\n [outerSort]=\"outerSort\"\r\n [frozen]=\"3\"\r\n\r\n (selectedIdsChange)=\"customizeSelectedIdsChange($event)\"\r\n (onInstanceCreated)=\"onInstanceCreated($event)\"\r\n >\r\n </core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #sticker let-code=\"context.statusName\">\r\n <core-status-sticker [code]=\"code\"></core-status-sticker>\r\n </ng-template>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell", "disableHighlightOnClick"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CoreStatusStickerComponent, selector: "core-status-sticker", inputs: ["code"] }] }); }
|
|
310
310
|
}
|
|
311
311
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ContractInforComponent, decorators: [{
|
|
312
312
|
type: Component,
|
|
@@ -323,4 +323,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
323
323
|
type: ViewChild,
|
|
324
324
|
args: ['sticker']
|
|
325
325
|
}] } });
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RpbmZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29udHJhY3RpbmZvci9jb250cmFjdGluZm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb250cmFjdGluZm9yL2NvbnRyYWN0aW5mb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFNBQVMsRUFBQyxLQUFLLEVBQWEsU0FBUyxHQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQTJFLE1BQU0sNENBQTRDLENBQUM7QUFNNUosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFF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OzhHQXJWVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzUEN6Q25DLDY5Q0FzQ00seURETkYsWUFBWSw4QkFDWixXQUFXLGlXQUNYLHFCQUFxQixpbkNBQ3JCLG9CQUFvQixzT0FDcEIsMEJBQTBCOzsyRkFLakIsc0JBQXNCO2tCQWJsQyxTQUFTOytCQUNFLDJCQUEyQixjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzNCO2lXQU9RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCxDb21wb25lbnQsSW5wdXQsVGVtcGxhdGVSZWYsVmlld0NoaWxkLH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJhY3RJbmZvclNlcnZpY2UgfSBmcm9tIFwiLi9jb250cmFjdGluZm9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC9iYXNlL2Jhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW1cIjtcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgRW51bUZpbHRlck9wZXJhdG9yLCBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yLCBJU29ydEl0ZW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdFNlcnZpY2UsIElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gXCIuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3JhbmRvbS1hdmF0YXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tIFwiLi4vYWxlcnQvYWxlcnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gXCIuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TXCI7XHJcbmltcG9ydCB7IElBbGVydE9wdGlvbnMgfSBmcm9tIFwiLi4vYWxlcnQvYWxlcnQvYWxlcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgRW51bUNvcmVCdXR0b25WTlNDb2RlIH0gZnJvbSBcIi4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlXCI7XHJcbmltcG9ydCB7IGFsZXJ0T3B0aW9ucyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvYWxlcnRPcHRpb25zXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29yZU9yZ1RyZWVDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY21zLXByb2ZpbGUtY29udHJhY3RpbmZvclwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb250cmFjdGluZm9yLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2NvbnRyYWN0aW5mb3IuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250cmFjdEluZm9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIGxvYWRpbmchOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBoaWRlSGVhZGVyITogYm9vbGVhbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc3RpY2tlcicpIHN0aWNrZXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qIFNUQVJUOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgLyogRU5EOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcblxyXG4gIC8qXHJcbiAgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3RcclxuICAqL1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yOiBzdHJpbmcgPSAnc3RhcnREYXRlJztcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfU1RBUlREQVRFX0ZJTFRFUjtcclxuICBzdGF0dXNJbmNsdXNpb25Gb3I6IHN0cmluZyA9ICd3b3JrU3RhdHVzSWQnO1xyXG4gIHN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT1JFX1BBUkFNU19FTVBMT1lFRV9TVEFUVVNfSU47XHJcbiAgc3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuXHJcbiAgaWQ6IGFueTtcclxuXHJcbiAgdGl0bGUgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9USVRMRV9DT05UUkFDVFxyXG4gIG91dGVyUGFyYW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cclxuICBvdXRlckZpbHRlck9wZXJhdG9yczogSUZpbHRlck9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICBvcGVyYXRvcjogRW51bUZpbHRlck9wZXJhdG9yLkVRVUFMXHJcbiAgICB9XHJcbiAgXVxyXG4gIG91dGVySW5PcGVyYXRvcnM6IElJbk9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICB2YWx1ZXM6IHRoaXMub3JnSWRzIHx8IFtdXHJcbiAgICB9XHJcbiAgXVxyXG4gIG91dGVyU29ydDogSVNvcnRJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiBcImpvYk9yZGVyTnVtXCIsXHJcbiAgICAgIHNvcnREaXJlY3Rpb246IEVudW1Tb3J0RGlyZWN0aW9uLkFTQ1xyXG4gICAgfVxyXG4gIF1cclxuICBhcGlEZWZpbml0aW9uOiBJQ29yZVBhZ2VMaXN0QXBpRGVmaW5pdGlvbiA9IHtcclxuICAgIHF1ZXJ5TGlzdFJlbGF0aXZlUGF0aDogYXBpLkhVX0NPTlRSQUNUX1FVRVJZX0xJU1QsXHJcbiAgfVxyXG5cclxuICBjcnVkOiBJQ29yZVBhZ2VMaXN0Q1JVRCA9IHtcclxuICAgIGRlbGV0ZUlkczogYXBpLkhVX0NPTlRSQUNUX0RFTEVURV9JRFMsXHJcbiAgICB0b2dnbGVBcHByb3ZlSWRzOiBhcGkuSFVfQ09OVFJBQ1RfQ0hBTkdFU1RBVFVTQVBQUk9WRVxyXG4gIH1cclxuXHJcbiAgYXZhdGFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NUQVRVU05BTUUsXHJcbiAgICAgIGZpZWxkOiAnc3RhdHVzTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfRU1QTE9ZRUVDT0RFLFxyXG4gICAgICBmaWVsZDogJ2VtcGxveWVlQ29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogNzAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9FTVBMT1lFRU5BTUUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfUE9TSVRJT05fTkFNRSxcclxuICAgICAgZmllbGQ6ICdwb3NpdGlvbk5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX09SR05BTUUsXHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfQ09OVFJBQ1ROTyxcclxuICAgICAgZmllbGQ6ICdjb250cmFjdE5vJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9DT05UUkFDVFRZUEVOQU1FLFxyXG4gICAgICBmaWVsZDogJ2NvbnRyYWN0VHlwZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NUQVJUREFURSxcclxuICAgICAgZmllbGQ6ICdzdGFydERhdGUnLFxyXG4gICAgICB0eXBlOiAnZGF0ZScsXHJcbiAgICAgIHBpcGU6IEVudW1Db3JlVGFibGVQaXBlVHlwZS5EQVRFLFxyXG4gICAgICBhbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIHdpZHRoOiAxMjAsXHJcbiAgICB9LFxyXG5cclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfRVhQSVJFREFURSxcclxuICAgICAgZmllbGQ6ICdleHBpcmVEYXRlJyxcclxuICAgICAgdHlwZTogJ2RhdGUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuREFURSxcclxuICAgICAgYWxpZ246ICdjZW50ZXInLFxyXG4gICAgICB3aWR0aDogMTIwLFxyXG4gICAgfSxcclxuXHJcbiAgICAvLyBjaOG6r2MgbMOgIHZp4bq/dCBjb2RlIOG7nyDEkcOieVxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9MSVFVSURBVElPTl9EQVRFLFxyXG4gICAgICBmaWVsZDogJ2xpcXVpZGF0aW9uRGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX0xJUVVJREFUSU9OX1JFQVNPTixcclxuICAgICAgZmllbGQ6ICdsaXF1aWRhdGlvblJlYXNvbicsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NJR05EQVRFLFxyXG4gICAgICBmaWVsZDogJ3NpZ25EYXRlJyxcclxuICAgICAgdHlwZTogJ2RhdGUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuREFURSxcclxuICAgICAgYWxpZ246ICdjZW50ZXInLFxyXG4gICAgICB3aWR0aDogMTAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfU0lHTkVSTkFNRSxcclxuICAgICAgZmllbGQ6ICdzaWduZXJOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9TSUdORVJQT1NJVElPTixcclxuICAgICAgZmllbGQ6ICdzaWduZXJQb3NpdGlvbicsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuXHJcbiAgXVxyXG5cclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG5cclxuICBlZGl0Um91dGU6IElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyA9IHtcclxuICAgIGF1eGlsaWFyeTogJ3BvcHVwQXV4J1xyXG4gIH1cclxuICAvKiBFbmQgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3QgKi9cclxuICBnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCE6IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByYXM6IFJhbmRvbUF2YXRhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIG9yZ2FuaXphdGlvblNlcnZpY2U6IE9yZ2FuaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVQYWdlTGlzdFNlcnZpY2U6IENvcmVQYWdlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRyYWN0SW5mb3JTZXJ2aWNlOiBDb250cmFjdEluZm9yU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSByYXMuZ2V0KCk7XHJcbiAgICAvKiBHZXQgb3JnSWRzIHN0YXJ0dXAgdmFsdWUgKi9cclxuICAgIGNvbnN0IG5ld09yZ0lkczogbnVtYmVyW10gPSBbXTtcclxuICAgIHRoaXMub3JnYW5pemF0aW9uU2VydmljZS5zdGF0dXMkLnZhbHVlLmFjdGl2ZUtleXMubWFwKHggPT4gbmV3T3JnSWRzLnB1c2goTnVtYmVyKHgpKSlcclxuICAgIHRoaXMub25PcmdJZHNDaGFuZ2UobmV3T3JnSWRzKVxyXG4gICAgdGhpcy5jb3JlUGFnZUxpc3RJbnN0YW5jZU51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gIH1cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0geDtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCA9IHtcclxuICAgICAgICBleENvZGU6ICdIVV9DT05UUkFDVCcsXHJcbiAgICAgICAgbGFuZzogeFxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3RpY2tlckZpbHRlciA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZpZWxkID09PSAnc3RhdHVzTmFtZScpO1xyXG4gICAgaWYgKCEhc3RpY2tlckZpbHRlci5sZW5ndGgpIHN0aWNrZXJGaWx0ZXJbMF0udGVtcGxhdGVSZWYgPSB0aGlzLnN0aWNrZXI7XHJcbiAgfVxyXG5cclxuICBvbk9yZ0lkc0NoYW5nZShvcmdJZHM6IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLm9yZ0lkcyA9IG9yZ0lkc1xyXG4gICAgdGhpcy5vdXRlckluT3BlcmF0b3JzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgICAgdmFsdWVzOiBvcmdJZHNcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgb25Sb3dDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMuaWQgPSBlLmlkXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZElkczogbnVtYmVyW10gPSBbXTtcclxuICBcclxuICBsaXN0SW5zdGFuY2UhOiBudW1iZXI7XHJcbiAgXHJcbiAgb25JbnN0YW5jZUNyZWF0ZWQoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5saXN0SW5zdGFuY2UgPSBldmVudDtcclxuICB9XHJcblxyXG4gIGFsZXJ0T3B0aW9uczogSUFsZXJ0T3B0aW9ucyA9IHtcclxuICAgIGF1dG9DbG9zZTogdHJ1ZSxcclxuICAgIGtlZXBBZnRlclJvdXRlQ2hhbmdlOiB0cnVlLFxyXG4gICAgdGltZUNsb3NlOiAxMDAwMFxyXG4gIH07XHJcblxyXG4gIGVtcGxveWVlSWQhOiBudW1iZXI7XHJcblxyXG4gIGN1c3RvbWl6ZVNlbGVjdGVkSWRzQ2hhbmdlKGU6IG51bWJlcltdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZTtcclxuXHJcbiAgICB0aGlzLmNvbnRyYWN0SW5mb3JTZXJ2aWNlLmNoYW5nZUxpc3RFbXBsb3llZVNlbGVjdGVkKGUpO1xyXG4gICAgdGhpcy5jb250cmFjdEluZm9yU2VydmljZS5jdXJyZW50TGlzdEVtcGxveWVlU2VsZWN0ZWQuc3Vic2NyaWJlKGlkID0+IHRoaXMuZW1wbG95ZWVJZCA9IGlkWzBdKTtcclxuICB9XHJcblxyXG4gIGNvcmVQYWdlTGlzdEluc3RhbmNlTnVtYmVyITogbnVtYmVyO1xyXG5cclxuICBvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2soZTogSUNvcmVCdXR0b25WTlMpIHtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG5cclxuICAgIHN3aXRjaCAoZS5jb2RlKSB7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9MSVFVSURBVEVfQ09OVFJBQ1Q6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoICE9IDApIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgb3V0bGV0czoge1xyXG4gICAgICAgICAgICAgICAgICBjb3JlUGFnZUxpc3RBdXg6IFtcclxuICAgICAgICAgICAgICAgICAgICBidG9hKCcwJyksXHJcbiAgICAgICAgICAgICAgICAgICAgeyBsaXN0SW5zdGFuY2U6IHRoaXMuY29yZVBhZ2VMaXN0SW5zdGFuY2VOdW1iZXIgfSxcclxuICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgLy8gYuG6r24gcmEgdGjDtG5nIGLDoW8gY2jGsGEgY2jhu41uIGLhuqNuIGdoaVxyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IodGhpcy5tbHMudHJhbnMoJ05PX1NFTEVDVEVEX0lEX1RPX0RFTEVURScpLCB0aGlzLmFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVDpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5odHRwLmdldChhcGkuSFVfQ09OVFJBQ1RfR0VUX0ZJTEVfTkFNRSArIHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGZpbGVuYW1lID0gcmVzcG9uc2UuaW5uZXJCb2R5O1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfQ09OVFJBQ1RfR0VUX1BST0JBVElPTl9DT05UUkFDVCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJsb2IpID0+IHtcclxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCAnMkNfQk5WXzIwMDhfJyArIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBqc29uQm9keSA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoZGF0YS5tZXNzYWdlQ29kZSwgYWxlcnRPcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjbXMtcHJvZmlsZS1jb250cmFjdGluZm9yLWNvbnRhaW5lclwiPlxyXG4gIDxjb3JlLXBhZ2UtbGlzdFxyXG4gICAgW2FwaURlZmluaXRpb25dPVwiYXBpRGVmaW5pdGlvblwiXHJcbiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgIFtlZGl0Um91dGVdPVwiZWRpdFJvdXRlXCJcclxuICAgIFtjcnVkXT1cImNydWRcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIFtsZWZ0XT1cIm9yZ1RyZWVcIlxyXG4gICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCJcclxuICAgIFtub3JtYWxNb2RlXT1cInRydWVcIlxyXG4gICAgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiXHJcbiAgICBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgIFtzaG93UGFyYW1LaXRdPVwidHJ1ZVwiXHJcbiAgICBbZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JdPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXldPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleVwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yXT1cInN0YXR1c0luY2x1c2lvbkZvclwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXldPVwic3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXlcIlxyXG4gICAgW3N0YXR1c09wdGlvbnNBcGldPVwic3RhdHVzT3B0aW9uc0FwaVwiXHJcbiAgICBbZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RdPVwiZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RcIlxyXG4gICAgKGNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2spPVwib25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgW2ltcG9ydFByZXZpZXdQYXRoXT1cIidjb250cmFjdC1pbXBvcnQnXCJcclxuICAgIFtvdXRlclNvcnRdPVwib3V0ZXJTb3J0XCJcclxuICAgIFtmcm96ZW5dPVwiM1wiXHJcblxyXG4gICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cImN1c3RvbWl6ZVNlbGVjdGVkSWRzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKG9uSW5zdGFuY2VDcmVhdGVkKT1cIm9uSW5zdGFuY2VDcmVhdGVkKCRldmVudClcIlxyXG4gID5cclxuICA8L2NvcmUtcGFnZS1saXN0PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICA8Y29yZS1vcmctdHJlZSBbKG5nTW9kZWwpXT1cIm9yZ0lkc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uT3JnSWRzQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDwvY29yZS1vcmctdHJlZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3N0aWNrZXIgbGV0LWNvZGU9XCJjb250ZXh0LnN0YXR1c05hbWVcIj5cclxuICAgIDxjb3JlLXN0YXR1cy1zdGlja2VyIFtjb2RlXT1cImNvZGVcIj48L2NvcmUtc3RhdHVzLXN0aWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+Il19
|
|
326
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RpbmZvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtaGlzdGFmZi1hbHBoYS9zcmMvbGliL2FwcC9saWJyYXJpZXMvY29udHJhY3RpbmZvci9jb250cmFjdGluZm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb250cmFjdGluZm9yL2NvbnRyYWN0aW5mb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFNBQVMsRUFBQyxLQUFLLEVBQWEsU0FBUyxHQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBMkMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQTJFLE1BQU0sNENBQTRDLENBQUM7QUFNNUosT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFF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OzhHQXJWVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzUEN6Q25DLDY5Q0FzQ00seURETkYsWUFBWSw4QkFDWixXQUFXLGlXQUNYLHFCQUFxQiw0b0NBQ3JCLG9CQUFvQixzT0FDcEIsMEJBQTBCOzsyRkFLakIsc0JBQXNCO2tCQWJsQyxTQUFTOytCQUNFLDJCQUEyQixjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzNCO2lXQU9RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRWdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCxDb21wb25lbnQsSW5wdXQsVGVtcGxhdGVSZWYsVmlld0NoaWxkLH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJhY3RJbmZvclNlcnZpY2UgfSBmcm9tIFwiLi9jb250cmFjdGluZm9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC9iYXNlL2Jhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvSUNvcmVUYWJsZUNvbHVtbkl0ZW1cIjtcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSBcIi4uL2NvcmUtdGFibGUvRW51bUNvcmVUYWJsZVBpcGVUeXBlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgRW51bUZpbHRlck9wZXJhdG9yLCBJRmlsdGVyT3BlcmF0b3IsIElJbk9wZXJhdG9yLCBJU29ydEl0ZW0gfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gXCIuLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uXCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCwgSUNvcmVQYWdlTGlzdEFwaURlZmluaXRpb24sIElDb3JlUGFnZUxpc3RDUlVELCBJQ29yZVBhZ2VMaXN0RWRpdFJvdXRpbmcgfSBmcm9tIFwiLi4vY29yZS1wYWdlLWxpc3QvY29yZS1wYWdlLWxpc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdFNlcnZpY2UsIElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCB9IGZyb20gXCIuLi9jb3JlLXBhZ2UtbGlzdC9jb3JlLXBhZ2UtbGlzdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL211bHRpLWxhbmd1YWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgT3JnYW5pemF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9vcmdhbml6YXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSYW5kb21BdmF0YXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3JhbmRvbS1hdmF0YXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBhcGkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tIFwiLi4vYWxlcnQvYWxlcnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJQ29yZUJ1dHRvblZOUyB9IGZyb20gXCIuLi9jb3JlLWJ1dHRvbi1ncm91cC12bnMvY29yZS1idXR0b24tZ3JvdXAtdm5zL0lDb3JlQnV0dG9uVk5TXCI7XHJcbmltcG9ydCB7IElBbGVydE9wdGlvbnMgfSBmcm9tIFwiLi4vYWxlcnQvYWxlcnQvYWxlcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgRW51bUNvcmVCdXR0b25WTlNDb2RlIH0gZnJvbSBcIi4uL2NvcmUtYnV0dG9uLWdyb3VwLXZucy9jb3JlLWJ1dHRvbi1ncm91cC12bnMvRW51bUNvcmVCdXR0b25WTlNDb2RlXCI7XHJcbmltcG9ydCB7IGFsZXJ0T3B0aW9ucyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHMvYWxlcnRPcHRpb25zXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgQ29yZU9yZ1RyZWVDb21wb25lbnQgfSBmcm9tIFwiLi4vY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlL2NvcmUtb3JnLXRyZWUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcmUtc3RhdHVzLXN0aWNrZXIvY29yZS1zdGF0dXMtc3RpY2tlci9jb3JlLXN0YXR1cy1zdGlja2VyLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY21zLXByb2ZpbGUtY29udHJhY3RpbmZvclwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBDb3JlT3JnVHJlZUNvbXBvbmVudCxcclxuICAgIENvcmVTdGF0dXNTdGlja2VyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb250cmFjdGluZm9yLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2NvbnRyYWN0aW5mb3IuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250cmFjdEluZm9yQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIGxvYWRpbmchOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBoaWRlSGVhZGVyITogYm9vbGVhbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc3RpY2tlcicpIHN0aWNrZXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qIFNUQVJUOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcbiAgb3JnSWRzITogbnVtYmVyW107XHJcbiAgLyogRU5EOiBMb2NhbCBmaWx0ZXIgcGFyYW1zICovXHJcblxyXG4gIC8qXHJcbiAgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3RcclxuICAqL1xyXG4gIGRhdGVQZXJpb2RDb21wYXJpc29uRm9yOiBzdHJpbmcgPSAnc3RhcnREYXRlJztcclxuICBkYXRlUGVyaW9kQ29tcGFyaXNvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfU1RBUlREQVRFX0ZJTFRFUjtcclxuICBzdGF0dXNJbmNsdXNpb25Gb3I6IHN0cmluZyA9ICd3b3JrU3RhdHVzSWQnO1xyXG4gIHN0YXR1c0luY2x1c2lvbkZvckxhYmVsS2V5OiBFbnVtVHJhbnNsYXRlS2V5ID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT1JFX1BBUkFNU19FTVBMT1lFRV9TVEFUVVNfSU47XHJcbiAgc3RhdHVzT3B0aW9uc0FwaTogYXBpID0gYXBpLkhVX0VNUExPWUVFX0NWX0dFVF9FTVBMT1lFRV9TVEFUVVNfTElTVDtcclxuXHJcbiAgaWQ6IGFueTtcclxuXHJcbiAgdGl0bGUgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9USVRMRV9DT05UUkFDVFxyXG4gIG91dGVyUGFyYW0kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG5cclxuICBvdXRlckZpbHRlck9wZXJhdG9yczogSUZpbHRlck9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICBvcGVyYXRvcjogRW51bUZpbHRlck9wZXJhdG9yLkVRVUFMXHJcbiAgICB9XHJcbiAgXVxyXG4gIG91dGVySW5PcGVyYXRvcnM6IElJbk9wZXJhdG9yW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiAnb3JnSWQnLFxyXG4gICAgICB2YWx1ZXM6IHRoaXMub3JnSWRzIHx8IFtdXHJcbiAgICB9XHJcbiAgXVxyXG4gIG91dGVyU29ydDogSVNvcnRJdGVtW10gPSBbXHJcbiAgICB7XHJcbiAgICAgIGZpZWxkOiBcImpvYk9yZGVyTnVtXCIsXHJcbiAgICAgIHNvcnREaXJlY3Rpb246IEVudW1Tb3J0RGlyZWN0aW9uLkFTQ1xyXG4gICAgfVxyXG4gIF1cclxuICBhcGlEZWZpbml0aW9uOiBJQ29yZVBhZ2VMaXN0QXBpRGVmaW5pdGlvbiA9IHtcclxuICAgIHF1ZXJ5TGlzdFJlbGF0aXZlUGF0aDogYXBpLkhVX0NPTlRSQUNUX1FVRVJZX0xJU1QsXHJcbiAgfVxyXG5cclxuICBjcnVkOiBJQ29yZVBhZ2VMaXN0Q1JVRCA9IHtcclxuICAgIGRlbGV0ZUlkczogYXBpLkhVX0NPTlRSQUNUX0RFTEVURV9JRFMsXHJcbiAgICB0b2dnbGVBcHByb3ZlSWRzOiBhcGkuSFVfQ09OVFJBQ1RfQ0hBTkdFU1RBVFVTQVBQUk9WRVxyXG4gIH1cclxuXHJcbiAgYXZhdGFyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NUQVRVU05BTUUsXHJcbiAgICAgIGZpZWxkOiAnc3RhdHVzTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMTUwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfRU1QTE9ZRUVDT0RFLFxyXG4gICAgICBmaWVsZDogJ2VtcGxveWVlQ29kZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogNzAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9FTVBMT1lFRU5BTUUsXHJcbiAgICAgIGZpZWxkOiAnZW1wbG95ZWVOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfUE9TSVRJT05fTkFNRSxcclxuICAgICAgZmllbGQ6ICdwb3NpdGlvbk5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX09SR05BTUUsXHJcbiAgICAgIGZpZWxkOiAnb3JnTmFtZScsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfQ09OVFJBQ1ROTyxcclxuICAgICAgZmllbGQ6ICdjb250cmFjdE5vJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9DT05UUkFDVFRZUEVOQU1FLFxyXG4gICAgICBmaWVsZDogJ2NvbnRyYWN0VHlwZU5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDI1MCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NUQVJUREFURSxcclxuICAgICAgZmllbGQ6ICdzdGFydERhdGUnLFxyXG4gICAgICB0eXBlOiAnZGF0ZScsXHJcbiAgICAgIHBpcGU6IEVudW1Db3JlVGFibGVQaXBlVHlwZS5EQVRFLFxyXG4gICAgICBhbGlnbjogJ2NlbnRlcicsXHJcbiAgICAgIHdpZHRoOiAxMjAsXHJcbiAgICB9LFxyXG5cclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfRVhQSVJFREFURSxcclxuICAgICAgZmllbGQ6ICdleHBpcmVEYXRlJyxcclxuICAgICAgdHlwZTogJ2RhdGUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuREFURSxcclxuICAgICAgYWxpZ246ICdjZW50ZXInLFxyXG4gICAgICB3aWR0aDogMTIwLFxyXG4gICAgfSxcclxuXHJcbiAgICAvLyBjaOG6r2MgbMOgIHZp4bq/dCBjb2RlIOG7nyDEkcOieVxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9MSVFVSURBVElPTl9EQVRFLFxyXG4gICAgICBmaWVsZDogJ2xpcXVpZGF0aW9uRGF0ZScsXHJcbiAgICAgIHR5cGU6ICdkYXRlJyxcclxuICAgICAgcGlwZTogRW51bUNvcmVUYWJsZVBpcGVUeXBlLkRBVEUsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgd2lkdGg6IDEwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX0xJUVVJREFUSU9OX1JFQVNPTixcclxuICAgICAgZmllbGQ6ICdsaXF1aWRhdGlvblJlYXNvbicsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfQ09NUE9ORU5UX0xBQkVMX0NPTlRSQUNUX1NJR05EQVRFLFxyXG4gICAgICBmaWVsZDogJ3NpZ25EYXRlJyxcclxuICAgICAgdHlwZTogJ2RhdGUnLFxyXG4gICAgICBwaXBlOiBFbnVtQ29yZVRhYmxlUGlwZVR5cGUuREFURSxcclxuICAgICAgYWxpZ246ICdjZW50ZXInLFxyXG4gICAgICB3aWR0aDogMTAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfTEFCRUxfQ09OVFJBQ1RfU0lHTkVSTkFNRSxcclxuICAgICAgZmllbGQ6ICdzaWduZXJOYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxNTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTVBPTkVOVF9MQUJFTF9DT05UUkFDVF9TSUdORVJQT1NJVElPTixcclxuICAgICAgZmllbGQ6ICdzaWduZXJQb3NpdGlvbicsXHJcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICBhbGlnbjogJ2xlZnQnLFxyXG4gICAgICB3aWR0aDogMjUwLFxyXG4gICAgfSxcclxuXHJcbiAgXVxyXG5cclxuICBkZWZhdWx0QXZhdGFyITogc3RyaW5nO1xyXG5cclxuICBlZGl0Um91dGU6IElDb3JlUGFnZUxpc3RFZGl0Um91dGluZyA9IHtcclxuICAgIGF1eGlsaWFyeTogJ3BvcHVwQXV4J1xyXG4gIH1cclxuICAvKiBFbmQgUHJvcGVydGllcyBiZWluZyBwYXNzZWQgdG8gY29yZS1wYWdlLWxpc3QgKi9cclxuICBnZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCE6IElHZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBvdmVycmlkZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByYXM6IFJhbmRvbUF2YXRhclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIG9yZ2FuaXphdGlvblNlcnZpY2U6IE9yZ2FuaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVQYWdlTGlzdFNlcnZpY2U6IENvcmVQYWdlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRyYWN0SW5mb3JTZXJ2aWNlOiBDb250cmFjdEluZm9yU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1scyk7XHJcbiAgICB0aGlzLmRlZmF1bHRBdmF0YXIgPSByYXMuZ2V0KCk7XHJcbiAgICAvKiBHZXQgb3JnSWRzIHN0YXJ0dXAgdmFsdWUgKi9cclxuICAgIGNvbnN0IG5ld09yZ0lkczogbnVtYmVyW10gPSBbXTtcclxuICAgIHRoaXMub3JnYW5pemF0aW9uU2VydmljZS5zdGF0dXMkLnZhbHVlLmFjdGl2ZUtleXMubWFwKHggPT4gbmV3T3JnSWRzLnB1c2goTnVtYmVyKHgpKSlcclxuICAgIHRoaXMub25PcmdJZHNDaGFuZ2UobmV3T3JnSWRzKVxyXG4gICAgdGhpcy5jb3JlUGFnZUxpc3RJbnN0YW5jZU51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gIH1cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgdGhpcy5sYW5nID0geDtcclxuICAgICAgdGhpcy5nZW5lcmF0ZVRlbXBsYXRlUmVxdWVzdCA9IHtcclxuICAgICAgICBleENvZGU6ICdIVV9DT05UUkFDVCcsXHJcbiAgICAgICAgbGFuZzogeFxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3RpY2tlckZpbHRlciA9IHRoaXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmZpZWxkID09PSAnc3RhdHVzTmFtZScpO1xyXG4gICAgaWYgKCEhc3RpY2tlckZpbHRlci5sZW5ndGgpIHN0aWNrZXJGaWx0ZXJbMF0udGVtcGxhdGVSZWYgPSB0aGlzLnN0aWNrZXI7XHJcbiAgfVxyXG5cclxuICBvbk9yZ0lkc0NoYW5nZShvcmdJZHM6IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLm9yZ0lkcyA9IG9yZ0lkc1xyXG4gICAgdGhpcy5vdXRlckluT3BlcmF0b3JzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6ICdvcmdJZCcsXHJcbiAgICAgICAgdmFsdWVzOiBvcmdJZHNcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgb25Sb3dDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMuaWQgPSBlLmlkXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZElkczogbnVtYmVyW10gPSBbXTtcclxuICBcclxuICBsaXN0SW5zdGFuY2UhOiBudW1iZXI7XHJcbiAgXHJcbiAgb25JbnN0YW5jZUNyZWF0ZWQoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5saXN0SW5zdGFuY2UgPSBldmVudDtcclxuICB9XHJcblxyXG4gIGFsZXJ0T3B0aW9uczogSUFsZXJ0T3B0aW9ucyA9IHtcclxuICAgIGF1dG9DbG9zZTogdHJ1ZSxcclxuICAgIGtlZXBBZnRlclJvdXRlQ2hhbmdlOiB0cnVlLFxyXG4gICAgdGltZUNsb3NlOiAxMDAwMFxyXG4gIH07XHJcblxyXG4gIGVtcGxveWVlSWQhOiBudW1iZXI7XHJcblxyXG4gIGN1c3RvbWl6ZVNlbGVjdGVkSWRzQ2hhbmdlKGU6IG51bWJlcltdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSWRzID0gZTtcclxuXHJcbiAgICB0aGlzLmNvbnRyYWN0SW5mb3JTZXJ2aWNlLmNoYW5nZUxpc3RFbXBsb3llZVNlbGVjdGVkKGUpO1xyXG4gICAgdGhpcy5jb250cmFjdEluZm9yU2VydmljZS5jdXJyZW50TGlzdEVtcGxveWVlU2VsZWN0ZWQuc3Vic2NyaWJlKGlkID0+IHRoaXMuZW1wbG95ZWVJZCA9IGlkWzBdKTtcclxuICB9XHJcblxyXG4gIGNvcmVQYWdlTGlzdEluc3RhbmNlTnVtYmVyITogbnVtYmVyO1xyXG5cclxuICBvbkNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2soZTogSUNvcmVCdXR0b25WTlMpIHtcclxuICAgIGxldCBmaWxlbmFtZSA9ICcnO1xyXG5cclxuICAgIHN3aXRjaCAoZS5jb2RlKSB7XHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9MSVFVSURBVEVfQ09OVFJBQ1Q6XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJZHMubGVuZ3RoICE9IDApIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgb3V0bGV0czoge1xyXG4gICAgICAgICAgICAgICAgICBjb3JlUGFnZUxpc3RBdXg6IFtcclxuICAgICAgICAgICAgICAgICAgICBidG9hKCcwJyksXHJcbiAgICAgICAgICAgICAgICAgICAgeyBsaXN0SW5zdGFuY2U6IHRoaXMuY29yZVBhZ2VMaXN0SW5zdGFuY2VOdW1iZXIgfSxcclxuICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgLy8gYuG6r24gcmEgdGjDtG5nIGLDoW8gY2jGsGEgY2jhu41uIGLhuqNuIGdoaVxyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IodGhpcy5tbHMudHJhbnMoJ05PX1NFTEVDVEVEX0lEX1RPX0RFTEVURScpLCB0aGlzLmFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgRW51bUNvcmVCdXR0b25WTlNDb2RlLkhFQURFUl9QUklOVDpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZElkcy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS53YXJuKHRoaXMubWxzLnRyYW5zKCdQUklOVF9PTkVfUkVDT1JEJyksIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5odHRwLmdldChhcGkuSFVfQ09OVFJBQ1RfR0VUX0ZJTEVfTkFNRSArIHRoaXMuc2VsZWN0ZWRJZHNbMF0udG9TdHJpbmcoKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGZpbGVuYW1lID0gcmVzcG9uc2UuaW5uZXJCb2R5O1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChhcGkuSFVfQ09OVFJBQ1RfR0VUX1BST0JBVElPTl9DT05UUkFDVCwge1xyXG4gICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgICAgICAgIHBhcmFtczogeyBpZDogdGhpcy5zZWxlY3RlZElkc1swXS50b1N0cmluZygpIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEJsb2IpID0+IHtcclxuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVXJsO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCAnMkNfQk5WXzIwMDhfJyArIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lICsgJy5kb2MnKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGRvd25sb2FkVXJsKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBqc29uQm9keSA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbkJvZHkpO1xyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGRhdGEubWVzc2FnZUNvZGUsIGFsZXJ0T3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IoZGF0YS5tZXNzYWdlQ29kZSwgYWxlcnRPcHRpb25zKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjbXMtcHJvZmlsZS1jb250cmFjdGluZm9yLWNvbnRhaW5lclwiPlxyXG4gIDxjb3JlLXBhZ2UtbGlzdFxyXG4gICAgW2FwaURlZmluaXRpb25dPVwiYXBpRGVmaW5pdGlvblwiXHJcbiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgIFtlZGl0Um91dGVdPVwiZWRpdFJvdXRlXCJcclxuICAgIFtjcnVkXT1cImNydWRcIlxyXG4gICAgW3RpdGxlXT1cInRpdGxlXCJcclxuICAgIFtsZWZ0XT1cIm9yZ1RyZWVcIlxyXG4gICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCJcclxuICAgIFtub3JtYWxNb2RlXT1cInRydWVcIlxyXG4gICAgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiXHJcbiAgICBbYXV0b1Jlc2l6ZVdpdGhXaW5kb3ddPVwidHJ1ZVwiXHJcbiAgICAocm93Q2xpY2spPVwib25Sb3dDbGljaygkZXZlbnQpXCJcclxuICAgIFtzaG93UGFyYW1LaXRdPVwidHJ1ZVwiXHJcbiAgICBbZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JdPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JcIlxyXG4gICAgW2RhdGVQZXJpb2RDb21wYXJpc29uRm9yTGFiZWxLZXldPVwiZGF0ZVBlcmlvZENvbXBhcmlzb25Gb3JMYWJlbEtleVwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yXT1cInN0YXR1c0luY2x1c2lvbkZvclwiXHJcbiAgICBbc3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXldPVwic3RhdHVzSW5jbHVzaW9uRm9yTGFiZWxLZXlcIlxyXG4gICAgW3N0YXR1c09wdGlvbnNBcGldPVwic3RhdHVzT3B0aW9uc0FwaVwiXHJcbiAgICBbZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RdPVwiZ2VuZXJhdGVUZW1wbGF0ZVJlcXVlc3RcIlxyXG4gICAgKGNvcmVQYWdlSGVhZGVyQnV0dG9uQ2xpY2spPVwib25Db3JlUGFnZUhlYWRlckJ1dHRvbkNsaWNrKCRldmVudClcIlxyXG4gICAgW2ltcG9ydFByZXZpZXdQYXRoXT1cIidjb250cmFjdC1pbXBvcnQnXCJcclxuICAgIFtvdXRlclNvcnRdPVwib3V0ZXJTb3J0XCJcclxuICAgIFtmcm96ZW5dPVwiM1wiXHJcblxyXG4gICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cImN1c3RvbWl6ZVNlbGVjdGVkSWRzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgKG9uSW5zdGFuY2VDcmVhdGVkKT1cIm9uSW5zdGFuY2VDcmVhdGVkKCRldmVudClcIlxyXG4gID5cclxuICA8L2NvcmUtcGFnZS1saXN0PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICA8Y29yZS1vcmctdHJlZSBbKG5nTW9kZWwpXT1cIm9yZ0lkc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uT3JnSWRzQ2hhbmdlKCRldmVudClcIj5cclxuICAgIDwvY29yZS1vcmctdHJlZT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3N0aWNrZXIgbGV0LWNvZGU9XCJjb250ZXh0LnN0YXR1c05hbWVcIj5cclxuICAgIDxjb3JlLXN0YXR1cy1zdGlja2VyIFtjb2RlXT1cImNvZGVcIj48L2NvcmUtc3RhdHVzLXN0aWNrZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+Il19
|
|
@@ -31,7 +31,7 @@ export class CoreContractSeekerComponent extends ContractInforComponent {
|
|
|
31
31
|
this.selectedDataChange.emit(e);
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreContractSeekerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreContractSeekerComponent, isStandalone: true, selector: "core-contract-seeker", inputs: { multiMode: "multiMode", preDefinedOuterParam$: "preDefinedOuterParam$" }, outputs: { rowDoubleClick: "rowDoubleClick", selectedIdsChange: "selectedIdsChange", selectedDataChange: "selectedDataChange", columnsInit: "columnsInit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-contract-seeker-container\">\r\n <core-page-list [hideCheck]=\"true\" [height]=\"800\" [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" *ngIf=\"!!avatar\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\"\r\n [outerFilterOperators]=\"outerFilterOperators\" [autoResizeWithWindow]=\"true\" [seekerMode]=\"true\" (rowDoubleClick)=\"onRowDoubleClick($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\"\r\n (ngModelChange)=\"onOrgIdsChange($event)\" [fullWidthMode]=\"false\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #avatar let-avatar=\"context.avatar\">\r\n <img [src]=\"avatar || defaultAvatar\" appImageErrorResolver>\r\n </ng-template>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }] }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreContractSeekerComponent, isStandalone: true, selector: "core-contract-seeker", inputs: { multiMode: "multiMode", preDefinedOuterParam$: "preDefinedOuterParam$" }, outputs: { rowDoubleClick: "rowDoubleClick", selectedIdsChange: "selectedIdsChange", selectedDataChange: "selectedDataChange", columnsInit: "columnsInit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-contract-seeker-container\">\r\n <core-page-list [hideCheck]=\"true\" [height]=\"800\" [apiDefinition]=\"apiDefinition\" [columns]=\"columns\" [editRoute]=\"editRoute\" [crud]=\"crud\"\r\n [title]=\"title\" [left]=\"orgTree\" *ngIf=\"!!avatar\" [outerParam$]=\"outerParam$\"\r\n [outerInOperators]=\"outerInOperators\"\r\n [outerFilterOperators]=\"outerFilterOperators\" [autoResizeWithWindow]=\"true\" [seekerMode]=\"true\" (rowDoubleClick)=\"onRowDoubleClick($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\"\r\n (ngModelChange)=\"onOrgIdsChange($event)\" [fullWidthMode]=\"false\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #avatar let-avatar=\"context.avatar\">\r\n <img [src]=\"avatar || defaultAvatar\" appImageErrorResolver>\r\n </ng-template>\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell", "disableHighlightOnClick"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }] }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreContractSeekerComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
@@ -105,7 +105,7 @@ export class CoreEmployeeSeekerComponent extends StaffProfileComponent {
|
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreEmployeeSeekerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreEmployeeSeekerComponent, isStandalone: true, selector: "core-employee-seeker", inputs: { multiMode: "multiMode", preDefinedOuterParam$: "preDefinedOuterParam$" }, outputs: { rowDoubleClick: "rowDoubleClick", selectedIdsChange: "selectedIdsChange", selectedDataChange: "selectedDataChange", columnsInit: "columnsInit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-employee-seeker-container\">\r\n <core-page-list [hideCheck]=\"!!!multiMode\" [height]=\"620\" [apiDefinition]=\"apiDefinition\" [columns]=\"columns\"\r\n [editRoute]=\"editRoute\" [crud]=\"crud\" [title]=\"title\" [left]=\"orgTree\" *ngIf=\"!!avatar\"\r\n [outerParam$]=\"outerParam$\" [outerInOperators]=\"outerInOperators\" [outerFilterOperators]=\"outerFilterOperators\"\r\n [autoResizeWithWindow]=\"true\" [seekerMode]=\"true\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\" [fullWidthMode]=\"false\" [height]=\"650\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #avatar let-avatar=\"context.avatar\">\r\n <img [src]=\"(avatar | mapAvatarToServer) || defaultAvatar\" class=\"in-table-avatar\" appImageErrorResolver>\r\n </ng-template>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "pipe", type: MapAvatarToServerPipe, name: "mapAvatarToServer" }] }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreEmployeeSeekerComponent, isStandalone: true, selector: "core-employee-seeker", inputs: { multiMode: "multiMode", preDefinedOuterParam$: "preDefinedOuterParam$" }, outputs: { rowDoubleClick: "rowDoubleClick", selectedIdsChange: "selectedIdsChange", selectedDataChange: "selectedDataChange", columnsInit: "columnsInit" }, usesInheritance: true, ngImport: i0, template: "<div class=\"core-employee-seeker-container\">\r\n <core-page-list [hideCheck]=\"!!!multiMode\" [height]=\"620\" [apiDefinition]=\"apiDefinition\" [columns]=\"columns\"\r\n [editRoute]=\"editRoute\" [crud]=\"crud\" [title]=\"title\" [left]=\"orgTree\" *ngIf=\"!!avatar\"\r\n [outerParam$]=\"outerParam$\" [outerInOperators]=\"outerInOperators\" [outerFilterOperators]=\"outerFilterOperators\"\r\n [autoResizeWithWindow]=\"true\" [seekerMode]=\"true\" (rowDoubleClick)=\"onRowDoubleClick($event)\"\r\n (selectedIdsChange)=\"onSelectedIdsChange($event)\"\r\n (selectedDataChange)=\"onSelectedDataChange($event)\"></core-page-list>\r\n\r\n <ng-template #orgTree>\r\n <core-org-tree [(ngModel)]=\"orgIds\" (ngModelChange)=\"onOrgIdsChange($event)\" [fullWidthMode]=\"false\" [height]=\"650\">\r\n </core-org-tree>\r\n </ng-template>\r\n\r\n <ng-template #avatar let-avatar=\"context.avatar\">\r\n <img [src]=\"(avatar | mapAvatarToServer) || defaultAvatar\" class=\"in-table-avatar\" appImageErrorResolver>\r\n </ng-template>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoreOrgTreeComponent, selector: "core-org-tree", inputs: ["lineColor", "fullWidthMode", "accessorMode", "fullRendering", "height", "disabledLoopExpand", "showCheckInheritance"], outputs: ["itemDoubleClick", "itemClick"] }, { kind: "component", type: CorePageListComponent, selector: "core-page-list", inputs: ["normalMode", "hideHeader", "hideButtonGroup", "seekerMode", "mccMode", "height", "headerWrap", "headerFirstRowHeight", "enableTimeZoneConverterForDateTimePeriodParameters", "showParamKit", "datePeriodComparisonFor", "datePeriodComparisonForLabelKey", "statusInclusionFor", "statusInclusionForLabelKey", "statusOptionsApi", "hideDatePeriodComparison", "hideStatusInclusion", "title", "hasIdOfStringType", "hideCheck", "apiDefinition", "columns", "frozen", "inlineTools", "inlineToolItems", "editRoute", "crud", "showListInlineTools", "top", "left", "hideLeft", "outerParam$", "outerSort", "outerFilterOperators", "outerInOperators", "autoResizeWithWindow", "extraManualOffset", "wrap", "rowHeight", "selfResolveCorePageHeaderButtonClick", "clearData$", "deleteValidateFn", "generateTemplateRequest", "importPreviewPath", "columnSearchDefaultOpen", "fixedPageSize", "disableDoubleClick", "noPaddingCell", "disableHighlightOnClick"], outputs: ["corePageHeaderButtonClick", "rowClick", "rowDoubleClick", "selectedIdsChange", "selectedDataChange", "onInstanceCreated", "onInputFileBase64DataReady"] }, { kind: "pipe", type: MapAvatarToServerPipe, name: "mapAvatarToServer" }] }); }
|
|
109
109
|
}
|
|
110
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreEmployeeSeekerComponent, decorators: [{
|
|
111
111
|
type: Component,
|
|
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
130
130
|
}], columnsInit: [{
|
|
131
131
|
type: Output
|
|
132
132
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1lbXBsb3llZS1zZWVrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWVtcGxveWVlLXNlZWtlci9jb3JlLWVtcGxveWVlLXNlZWtlci9jb3JlLWVtcGxveWVlLXNlZWtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFnQnJGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxxQkFBcUI7SUFkdEU7O1FBbUJZLG1C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LFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxDQUFNO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQVE7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDLENBQUE7SUFDSixDQUFDOzhHQXhHVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix3VkMxQnhDLG9sQ0FpQk0seUREREYsWUFBWSxrSUFDWixXQUFXLCtWQUNYLG9CQUFvQixzT0FDcEIscUJBQXFCLDRtQ0FFckIscUJBQXFCOzsyRkFLWiwyQkFBMkI7a0JBZHZDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IscUJBQXFCO3FCQUN0Qjs4QkFNUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSAnLi4vLi4vY29yZS10YWJsZS9JQ29yZVRhYmxlQ29sdW1uSXRlbSc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBTdGFmZlByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlT3JnVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtZW1wbG95ZWUtc2Vla2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29yZU9yZ1RyZWVDb21wb25lbnQsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgTWFwQXZhdGFyVG9TZXJ2ZXJQaXBlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtZW1wbG95ZWUtc2Vla2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWVtcGxveWVlLXNlZWtlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQgZXh0ZW5kcyBTdGFmZlByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgbXVsdGlNb2RlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmVEZWZpbmVkT3V0ZXJQYXJhbSQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHJvd0RvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZElkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5zSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNEZXZNb2RlID0gaXNEZXZNb2RlKCk7XHJcblxyXG4gIG92ZXJyaWRlIHRpdGxlID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfVElUTEVfRU1QTE9ZRUVfU0VFS0VSO1xyXG4gIG92ZXJyaWRlIGhlaWdodDogbnVtYmVyID0gNjIwO1xyXG5cclxuICBvdmVycmlkZSBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0FWQVRBUiwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnYXZhdGFyJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgaGlkZVNlYXJjaEJveDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5hdmF0YXJUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9FTVBMT1lFRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdjb2RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxMTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfRlVMTE5BTUUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2Z1bGxuYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfT1JHX05BTUUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ29yZ05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9QT1NJVElPTl9OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdwb3NpdGlvbk5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfV09SS19TVEFUVVNfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnd29ya1N0YXR1c05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgXVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoeCA9PiB0aGlzLmxhbmcgPSB4KVxyXG4gICAgKVxyXG4gICAgaWYgKHRoaXMucHJlRGVmaW5lZE91dGVyUGFyYW0kKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMucHJlRGVmaW5lZE91dGVyUGFyYW0kLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLm91dGVyUGFyYW0kLnZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3V0ZXJQYXJhbSQubmV4dCh4KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub3V0ZXJQYXJhbSQubmV4dCh7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5vdXRlclBhcmFtJC52YWx1ZSxcclxuICAgICAgICAgICAgICAuLi54XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc0luaXQuZW1pdCh0aGlzLmNvbHVtbnMpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25Sb3dEb3VibGVDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMucm93RG91YmxlQ2xpY2suZW1pdChlKVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZElkc0NoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChlKVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZERhdGFDaGFuZ2UoZTogYW55W10pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGRhdGE6IGVcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29yZS1lbXBsb3llZS1zZWVrZXItY29udGFpbmVyXCI+XHJcbiAgICA8Y29yZS1wYWdlLWxpc3QgW2hpZGVDaGVja109XCIhISFtdWx0aU1vZGVcIiBbaGVpZ2h0XT1cIjYyMFwiIFthcGlEZWZpbml0aW9uXT1cImFwaURlZmluaXRpb25cIiBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbZWRpdFJvdXRlXT1cImVkaXRSb3V0ZVwiIFtjcnVkXT1cImNydWRcIiBbdGl0bGVdPVwidGl0bGVcIiBbbGVmdF09XCJvcmdUcmVlXCIgKm5nSWY9XCIhIWF2YXRhclwiXHJcbiAgICAgICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCIgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiIFtvdXRlckZpbHRlck9wZXJhdG9yc109XCJvdXRlckZpbHRlck9wZXJhdG9yc1wiXHJcbiAgICAgICAgW2F1dG9SZXNpemVXaXRoV2luZG93XT1cInRydWVcIiBbc2Vla2VyTW9kZV09XCJ0cnVlXCIgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cIm9uU2VsZWN0ZWRJZHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCI+PC9jb3JlLXBhZ2UtbGlzdD5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICAgICAgPGNvcmUtb3JnLXRyZWUgWyhuZ01vZGVsKV09XCJvcmdJZHNcIiAobmdNb2RlbENoYW5nZSk9XCJvbk9yZ0lkc0NoYW5nZSgkZXZlbnQpXCIgW2Z1bGxXaWR0aE1vZGVdPVwiZmFsc2VcIiBbaGVpZ2h0XT1cIjY1MFwiPlxyXG4gICAgICAgIDwvY29yZS1vcmctdHJlZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhdmF0YXIgbGV0LWF2YXRhcj1cImNvbnRleHQuYXZhdGFyXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIihhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlcikgfHwgZGVmYXVsdEF2YXRhclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvZGl2PiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1lbXBsb3llZS1zZWVrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyL2NvcmUtZW1wbG95ZWUtc2Vla2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWVtcGxveWVlLXNlZWtlci9jb3JlLWVtcGxveWVlLXNlZWtlci9jb3JlLWVtcGxveWVlLXNlZWtlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7QUFnQnJGLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxxQkFBcUI7SUFkdEU7O1FBbUJZLG1C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LFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxDQUFNO1FBQzlCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQVE7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDLENBQUE7SUFDSixDQUFDOzhHQXhHVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix3VkMxQnhDLG9sQ0FpQk0seUREREYsWUFBWSxrSUFDWixXQUFXLCtWQUNYLG9CQUFvQixzT0FDcEIscUJBQXFCLHVvQ0FFckIscUJBQXFCOzsyRkFLWiwyQkFBMkI7a0JBZHZDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IscUJBQXFCO3FCQUN0Qjs4QkFNUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IElDb3JlVGFibGVDb2x1bW5JdGVtIH0gZnJvbSAnLi4vLi4vY29yZS10YWJsZS9JQ29yZVRhYmxlQ29sdW1uSXRlbSc7XHJcbmltcG9ydCB7IEVudW1UcmFuc2xhdGVLZXkgfSBmcm9tIFwiYWxwaGEtZ2xvYmFsLWNvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBTdGFmZlByb2ZpbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdGFmZnByb2ZpbGUvc3RhZmZwcm9maWxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb3JlT3JnVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtb3JnLXRyZWUvY29yZS1vcmctdHJlZS9jb3JlLW9yZy10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvcmVQYWdlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtcGFnZS1saXN0L2NvcmUtcGFnZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBNYXBBdmF0YXJUb1NlcnZlclBpcGUgfSBmcm9tICcuLi8uLi8uLi9hcHAtcGlwZXMvbWFwLWF2YXRhci10by1zZXJ2ZXIucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtZW1wbG95ZWUtc2Vla2VyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29yZU9yZ1RyZWVDb21wb25lbnQsXHJcbiAgICBDb3JlUGFnZUxpc3RDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgTWFwQXZhdGFyVG9TZXJ2ZXJQaXBlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvcmUtZW1wbG95ZWUtc2Vla2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3JlLWVtcGxveWVlLXNlZWtlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlRW1wbG95ZWVTZWVrZXJDb21wb25lbnQgZXh0ZW5kcyBTdGFmZlByb2ZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgbXVsdGlNb2RlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmVEZWZpbmVkT3V0ZXJQYXJhbSQhOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcclxuXHJcbiAgQE91dHB1dCgpIHJvd0RvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZElkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjb2x1bW5zSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaXNEZXZNb2RlID0gaXNEZXZNb2RlKCk7XHJcblxyXG4gIG92ZXJyaWRlIHRpdGxlID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01QT05FTlRfVElUTEVfRU1QTE9ZRUVfU0VFS0VSO1xyXG4gIG92ZXJyaWRlIGhlaWdodDogbnVtYmVyID0gNjIwO1xyXG5cclxuICBvdmVycmlkZSBjb2x1bW5zOiBJQ29yZVRhYmxlQ29sdW1uSXRlbVtdID0gW1xyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX0NPTU1PTl9JRCxcclxuICAgICAgZmllbGQ6ICdpZCcsXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICB3aWR0aDogMjAwLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgY2FwdGlvbjogRW51bVRyYW5zbGF0ZUtleS5VSV9FTlRJVFlfRklFTERfQ0FQVElPTl9TVEFGRl9QUk9GSUxFX0FWQVRBUiwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnYXZhdGFyJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnY2VudGVyJyxcclxuICAgICAgaGlkZVNlYXJjaEJveDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IDgwLFxyXG4gICAgICB0ZW1wbGF0ZVJlZjogdGhpcy5hdmF0YXJUZW1wbGF0ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9FTVBMT1lFRV9DT0RFLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdjb2RlJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAxMTAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfRlVMTE5BTUUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ2Z1bGxuYW1lJyxcclxuICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBjYXB0aW9uOiBFbnVtVHJhbnNsYXRlS2V5LlVJX0VOVElUWV9GSUVMRF9DQVBUSU9OX1NUQUZGX1BST0ZJTEVfT1JHX05BTUUsIC8vIHRvIGJlIGFzaWduZWQgdG8gRW51bVRyYW5zbGF0ZUtleVxyXG4gICAgICBmaWVsZDogJ29yZ05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfUFJPRklMRV9QT1NJVElPTl9OQU1FLCAvLyB0byBiZSBhc2lnbmVkIHRvIEVudW1UcmFuc2xhdGVLZXlcclxuICAgICAgZmllbGQ6ICdwb3NpdGlvbk5hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGNhcHRpb246IEVudW1UcmFuc2xhdGVLZXkuVUlfRU5USVRZX0ZJRUxEX0NBUFRJT05fU1RBRkZfV09SS19TVEFUVVNfTkFNRSwgLy8gdG8gYmUgYXNpZ25lZCB0byBFbnVtVHJhbnNsYXRlS2V5XHJcbiAgICAgIGZpZWxkOiAnd29ya1N0YXR1c05hbWUnLFxyXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcclxuICAgICAgYWxpZ246ICdsZWZ0JyxcclxuICAgICAgd2lkdGg6IDIwMCxcclxuICAgIH0sXHJcbiAgXVxyXG5cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoeCA9PiB0aGlzLmxhbmcgPSB4KVxyXG4gICAgKVxyXG4gICAgaWYgKHRoaXMucHJlRGVmaW5lZE91dGVyUGFyYW0kKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMucHJlRGVmaW5lZE91dGVyUGFyYW0kLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLm91dGVyUGFyYW0kLnZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3V0ZXJQYXJhbSQubmV4dCh4KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub3V0ZXJQYXJhbSQubmV4dCh7XHJcbiAgICAgICAgICAgICAgLi4udGhpcy5vdXRlclBhcmFtJC52YWx1ZSxcclxuICAgICAgICAgICAgICAuLi54XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc0luaXQuZW1pdCh0aGlzLmNvbHVtbnMpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgb25Sb3dEb3VibGVDbGljayhlOiBhbnkpIHtcclxuICAgIHRoaXMucm93RG91YmxlQ2xpY2suZW1pdChlKVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZElkc0NoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChlKVxyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZERhdGFDaGFuZ2UoZTogYW55W10pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRhQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGRhdGE6IGVcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29yZS1lbXBsb3llZS1zZWVrZXItY29udGFpbmVyXCI+XHJcbiAgICA8Y29yZS1wYWdlLWxpc3QgW2hpZGVDaGVja109XCIhISFtdWx0aU1vZGVcIiBbaGVpZ2h0XT1cIjYyMFwiIFthcGlEZWZpbml0aW9uXT1cImFwaURlZmluaXRpb25cIiBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbZWRpdFJvdXRlXT1cImVkaXRSb3V0ZVwiIFtjcnVkXT1cImNydWRcIiBbdGl0bGVdPVwidGl0bGVcIiBbbGVmdF09XCJvcmdUcmVlXCIgKm5nSWY9XCIhIWF2YXRhclwiXHJcbiAgICAgICAgW291dGVyUGFyYW0kXT1cIm91dGVyUGFyYW0kXCIgW291dGVySW5PcGVyYXRvcnNdPVwib3V0ZXJJbk9wZXJhdG9yc1wiIFtvdXRlckZpbHRlck9wZXJhdG9yc109XCJvdXRlckZpbHRlck9wZXJhdG9yc1wiXHJcbiAgICAgICAgW2F1dG9SZXNpemVXaXRoV2luZG93XT1cInRydWVcIiBbc2Vla2VyTW9kZV09XCJ0cnVlXCIgKHJvd0RvdWJsZUNsaWNrKT1cIm9uUm93RG91YmxlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkSWRzQ2hhbmdlKT1cIm9uU2VsZWN0ZWRJZHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNlbGVjdGVkRGF0YUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0YUNoYW5nZSgkZXZlbnQpXCI+PC9jb3JlLXBhZ2UtbGlzdD5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI29yZ1RyZWU+XHJcbiAgICAgICAgPGNvcmUtb3JnLXRyZWUgWyhuZ01vZGVsKV09XCJvcmdJZHNcIiAobmdNb2RlbENoYW5nZSk9XCJvbk9yZ0lkc0NoYW5nZSgkZXZlbnQpXCIgW2Z1bGxXaWR0aE1vZGVdPVwiZmFsc2VcIiBbaGVpZ2h0XT1cIjY1MFwiPlxyXG4gICAgICAgIDwvY29yZS1vcmctdHJlZT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhdmF0YXIgbGV0LWF2YXRhcj1cImNvbnRleHQuYXZhdGFyXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIihhdmF0YXIgfCBtYXBBdmF0YXJUb1NlcnZlcikgfHwgZGVmYXVsdEF2YXRhclwiIGNsYXNzPVwiaW4tdGFibGUtYXZhdGFyXCIgYXBwSW1hZ2VFcnJvclJlc29sdmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvZGl2PiJdfQ==
|
package/esm2022/lib/app/libraries/core-list-lazy/core-list-lazy/core-list-lazy.component.mjs
CHANGED
|
@@ -10,7 +10,6 @@ import { TranslatePipe } from '../../../app-pipes/translate.pipe';
|
|
|
10
10
|
import { TooltipDirective } from '../../tooltip/tooltip.directive';
|
|
11
11
|
import { EnumSortDirection } from '../../../enum/EnumSortDirection';
|
|
12
12
|
import { TableCellPipe } from '../../pipes/table-cell.pipe';
|
|
13
|
-
import { CoreLoadingSurfaceComponent } from '../../core-loading-surface/core-loading-surface/core-loading-surface.component';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
import * as i1 from "../../../services/multi-language.service";
|
|
16
15
|
import * as i2 from "../../../services/app.service";
|
|
@@ -145,13 +144,13 @@ export class CoreListLazyComponent extends CoreFormControlBaseComponent {
|
|
|
145
144
|
this.subscriptions.map(x => x?.unsubscribe());
|
|
146
145
|
}
|
|
147
146
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, deps: [{ token: i1.MultiLanguageService }, { token: i0.Injector }, { token: i2.AppService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
147
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CoreListLazyComponent, isStandalone: true, selector: "core-list-lazy", inputs: { title: "title", queryListApi: "queryListApi", textField: "textField", pipe: "pipe", height: "height", blockingInteraction$: "blockingInteraction$" }, providers: [
|
|
149
148
|
{
|
|
150
149
|
provide: NG_VALUE_ACCESSOR,
|
|
151
150
|
multi: true,
|
|
152
151
|
useExisting: CoreListLazyComponent
|
|
153
152
|
}
|
|
154
|
-
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n
|
|
153
|
+
], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "coreScrollContainer", first: true, predicate: ["coreScrollContainer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\" [class.blocked]=\"blockingInteraction\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li:not(.blocked):hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .list ul>li.blocked{cursor:not-allowed;-webkit-user-select:none;user-select:none}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CoreScrollLazyComponent, selector: "core-scroll-lazy", inputs: ["visibleOptions", "itemTemplate", "height", "totalHeight", "childHeight", "search"], outputs: ["onPagination"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TableCellPipe, name: "tableCell" }, { kind: "directive", type: TooltipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "showAnyway", "position"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
155
154
|
}
|
|
156
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CoreListLazyComponent, decorators: [{
|
|
157
156
|
type: Component,
|
|
@@ -161,7 +160,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
161
160
|
ReactiveFormsModule,
|
|
162
161
|
CoreScrollLazyComponent,
|
|
163
162
|
ThreedotsComponent,
|
|
164
|
-
CoreLoadingSurfaceComponent,
|
|
165
163
|
TranslatePipe,
|
|
166
164
|
TableCellPipe,
|
|
167
165
|
TooltipDirective
|
|
@@ -171,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
171
169
|
multi: true,
|
|
172
170
|
useExisting: CoreListLazyComponent
|
|
173
171
|
}
|
|
174
|
-
], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n
|
|
172
|
+
], template: "<div #container class=\"core-list-lazy-container\" [ngStyle]=\"{ height: height + 'px'}\">\r\n <h4 *ngIf=\"!!title\">{{ title | translate: lang}}</h4>\r\n <div class=\"list\">\r\n <div class=\"search-wrapper\">\r\n <input class=\"form-control search\" type=\"text\" [placeholder]=\"placeholder | translate: lang\"\r\n [(ngModel)]=\"searchText\" (ngModelChange)=\"onSearchTextChange($event)\" autocomplete=\"false\">\r\n </div>\r\n\r\n <div class=\"core-scroll-container\" #coreScrollContainer [class.form-control-disabled]=\"disabled || blockingInteraction\">\r\n <core-scroll-lazy [visibleOptions]=\"visibleOptions\" [itemTemplate]=\"itemTemplateRef\" [height]=\"scrollContainerHeight\" [totalHeight]=\"listTotalHeight\"\r\n [childHeight]=\"itemHeight\" (onPagination)=\"onPagination($event)\"></core-scroll-lazy>\r\n </div>\r\n \r\n </div>\r\n</div>\r\n\r\n<ng-template #itemTemplateRef let-context=\"context\">\r\n <li (click)=\"onListItemClick(context)\" [ngStyle]=\"{ height: itemHeight + 'px' }\" [class.active]=\"context.value===activeValue\" [class.blocked]=\"blockingInteraction\">\r\n <label [ngStyle]=\"{ width: '100%', overflow: 'hidden', textOverflow: 'ellipsis' }\" [appTooltip]=\"context.text | tableCell: pipe : lang\">{{ context.text | tableCell: pipe : lang }}</label>\r\n </li>\r\n</ng-template>", styles: [".core-list-lazy-container{--search-bg-color: white;--search-border-color: #D1D1D1;--search-item-hover-bg: lightgray;--search-item-hover-color: white;--count-height: 1000px;--active-item-background-color: #358ccb;--core-scroll-container-height: 500px;position:relative;display:block;padding:var(--size-left-bar-block-cell-spacing);box-sizing:border-box}.core-list-lazy-container .core-scroll-container{display:block;padding:0;height:var(--core-scroll-container-height)}.core-list-lazy-container ul,.core-list-lazy-container li{box-sizing:border-box;margin:0}.core-list-lazy-container .list{display:block;position:relative;width:100%;overflow-y:auto;overflow-x:hidden;background-color:#fff;margin-top:2px;transition:.25s linear}.core-list-lazy-container .list ul>li{display:flex;align-items:center;cursor:pointer;transition:.25s linear;margin-left:3px;height:50px;padding:var(--size-left-bar-block-cell-spacing);font-size:var(--typo-basic-font-size)}.core-list-lazy-container .list ul>li:not(.blocked):hover{background-color:var(--search-item-hover-bg);color:var(--search-item-hover-color);transition:.25s linear}.core-list-lazy-container .list ul>li.active{background-color:var(--color-basic-orange);color:#fff;transition:.25s linear}.core-list-lazy-container .list ul>li.blocked{cursor:not-allowed;-webkit-user-select:none;user-select:none}.core-list-lazy-container .search-wrapper{background-color:#fff;width:100%;padding:3px;position:sticky;top:0;left:0}.core-list-lazy-container .search-wrapper>input.search{margin-bottom:var(--size-left-bar-block-cell-spacing);background-color:var(--search-bg-color);font-size:15px;width:100%}\n"] }]
|
|
175
173
|
}], ctorParameters: () => [{ type: i1.MultiLanguageService }, { type: i0.Injector }, { type: i2.AppService }], propDecorators: { title: [{
|
|
176
174
|
type: Input
|
|
177
175
|
}], queryListApi: [{
|
|
@@ -191,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
191
189
|
type: ViewChild,
|
|
192
190
|
args: ['coreScrollContainer']
|
|
193
191
|
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saXN0LWxhenkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBd0IsS0FBSyxFQUFvQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7Ozs7OztBQTJCN0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLDRCQUE0QjtJQWtDckUsWUFDVSxHQUF5QixFQUN6QixRQUFrQixFQUNsQixVQUFzQjtRQUM1QixLQUFLLEVBQUUsQ0FBQTtRQUhELFFBQUcsR0FBSCxHQUFHLENBQXNCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTlCdkIseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFTcEUsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUMsa0NBQWtDLENBQUM7UUFHbEUsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXRDLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFJeEIsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBUW5ELENBQUM7SUFHSixVQUFVLENBQUMsR0FBUTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRTtnQkFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7YUFDbkQ7U0FDRjtRQUVELElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQzFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7b0JBQy9CLElBQUksRUFBRTt3QkFDSjs0QkFDRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVk7NEJBQ3hDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHO3lCQUNyQztxQkFDRjtpQkFDRixDQUFDLENBQUE7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxDQUN2RSxDQUFBO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtZQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM1RCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUM3QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLENBQ3ZCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7Z0JBQy9CLE1BQU0sRUFBRTtvQkFDTjt3QkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7d0JBQ3JCLFNBQVMsRUFBRSxJQUFJO3FCQUNoQjtpQkFDRjthQUNGLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFFSCxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQW9CO1FBRTlCLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUM1QixNQUFNLElBQUksR0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUN2QyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO2dCQUUzQixNQUFNLFlBQVksR0FBdUIsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFFeEQsTUFBTSxjQUFjLEdBQXNCLEVBQUUsQ0FBQztnQkFDN0MsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDbkMsY0FBYyxDQUFDLElBQUksQ0FBQzt3QkFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO3dCQUNkLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztxQkFDM0IsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQyxDQUFBO2dCQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxLQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM5RDtTQUNGO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUEwQjtRQUN0QyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDbkIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsTUFBTSxFQUFFLEdBQUcsTUFBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUMsRUFBRSxHQUFHLENBQUMsR0FBQyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBQzFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDL0IsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxpQkFBaUI7aUJBQ25CLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUNoQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzNEO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDYixPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxDQUFBO2dCQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUNMLENBQUE7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBdUI7UUFFckMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsT0FBTztTQUNSO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQTBCO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDMUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSztZQUMvQixVQUFVLEVBQUUsQ0FBQztTQUNkLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQXZMVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw2TkFSckI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUscUJBQXFCO2FBQ25DO1NBQ0YsMlJDOUNILDhoREF1QmMsNG9ERElWLFlBQVksdU5BQ1osV0FBVyw4bUJBQ1gsbUJBQW1CLCtCQUNuQix1QkFBdUIsc0xBRXZCLDJCQUEyQiwyRkFDM0IsYUFBYSw2Q0FDYixhQUFhLGtEQUNiLGdCQUFnQjs7MkZBYVAscUJBQXFCO2tCQXpCakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLHVCQUF1Qjt5QkFDbkM7cUJBQ0Y7eUlBSVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNZLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVGb3JtQ29udHJvbEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlLWZvcm0tY29udHJvbC1iYXNlL2NvcmUtZm9ybS1jb250cm9sLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZnJvbUV2ZW50LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRW51bVRyYW5zbGF0ZUtleSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbXVsdGktbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElDb3JlTGlzdE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUtbGlzdC9jb3JlLWxpc3QvY29yZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGFwaSB9IGZyb20gXCJhbHBoYS1nbG9iYWwtY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IElGb3JtYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JRm9ybWF0ZWRSZXNwb25zZSc7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSVBhZ2luYXRpb24sIElRdWVyeUxpc3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVxdWVzdCc7XHJcbmltcG9ydCB7IElRdWVyeUxpc3RSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvSVF1ZXJ5TGlzdFJlc3BvbnNlJztcclxuaW1wb3J0IHsgRW51bUNvcmVUYWJsZVBpcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS10YWJsZS9FbnVtQ29yZVRhYmxlUGlwZVR5cGUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb3JlU2Nyb2xsTGF6eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtc2Nyb2xsLWxhenkvY29yZS1zY3JvbGwtbGF6eS9jb3JlLXNjcm9sbC1sYXp5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRocmVlZG90c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RocmVlZG90cy90aHJlZWRvdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL2FwcC1waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRW51bVNvcnREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9lbnVtL0VudW1Tb3J0RGlyZWN0aW9uJztcclxuaW1wb3J0IHsgVGFibGVDZWxsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RhYmxlLWNlbGwucGlwZSc7XHJcbmltcG9ydCB7IENvcmVMb2FkaW5nU3VyZmFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtbG9hZGluZy1zdXJmYWNlL2NvcmUtbG9hZGluZy1zdXJmYWNlL2NvcmUtbG9hZGluZy1zdXJmYWNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtbGlzdC1sYXp5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvcmVTY3JvbGxMYXp5Q29tcG9uZW50LFxyXG4gICAgVGhyZWVkb3RzQ29tcG9uZW50LFxyXG4gICAgQ29yZUxvYWRpbmdTdXJmYWNlQ29tcG9uZW50LFxyXG4gICAgVHJhbnNsYXRlUGlwZSxcclxuICAgIFRhYmxlQ2VsbFBpcGUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29yZS1saXN0LWxhenkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogQ29yZUxpc3RMYXp5Q29tcG9uZW50XHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUxpc3RMYXp5Q29tcG9uZW50IGV4dGVuZHMgQ29yZUZvcm1Db250cm9sQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgdGl0bGUhOiBFbnVtVHJhbnNsYXRlS2V5O1xyXG4gIEBJbnB1dCgpIHF1ZXJ5TGlzdEFwaSE6IGFwaTtcclxuICBASW5wdXQoKSB0ZXh0RmllbGQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGlwZSE6IEVudW1Db3JlVGFibGVQaXBlVHlwZTtcclxuICBASW5wdXQoKSBoZWlnaHQhOiBudW1iZXI7XHJcbiAgQElucHV0KCkgYmxvY2tpbmdJbnRlcmFjdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb3JlU2Nyb2xsQ29udGFpbmVyJykgY29yZVNjcm9sbENvbnRhaW5lciE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIG5nQ29udHJvbCE6IE5nQ29udHJvbDtcclxuXHJcbiAgYWN0aXZlVmFsdWU6IGFueTtcclxuXHJcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB2aXNpYmxlT3B0aW9uczogSUNvcmVMaXN0T3B0aW9uW10gPSBbXTtcclxuICBwbGFjZWhvbGRlclRleHQhOiBzdHJpbmc7XHJcbiAgc2VhcmNoSGVpZ2h0OiBudW1iZXIgPSA1MDtcclxuICBzZWFyY2hUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHBsYWNlaG9sZGVyID0gRW51bVRyYW5zbGF0ZUtleS5VSV9DT01NT05fUExBQ0VfSE9MREVSX1NFQVJDSF9IRVJFO1xyXG4gIHRleHQhOiBzdHJpbmc7XHJcbiAgbGFuZyE6IHN0cmluZztcclxuICBzZWFyY2hTdHJlYW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICBpdGVtSGVpZ2h0OiBudW1iZXIgPSA0MDtcclxuICBzY3JvbGxDb250YWluZXJIZWlnaHQhOiBudW1iZXI7XHJcbiAgbGlzdFRvdGFsSGVpZ2h0ITogbnVtYmVyO1xyXG5cclxuICBxdWVyeUxpc3RSZXF1ZXN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVF1ZXJ5TGlzdFJlcXVlc3Q+KHt9KTtcclxuXHJcbiAgYmxvY2tpbmdJbnRlcmFjdGlvbiE6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtbHM6IE11bHRpTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2VcclxuICApIHsgc3VwZXIoKSB9XHJcblxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gICAgdGhpcy5hY3RpdmVWYWx1ZSA9IG9iajtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSkge1xyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UmVzaXplKGNoYW5nZXNbJ2hlaWdodCddLmN1cnJlbnRWYWx1ZSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzWyd0ZXh0RmllbGQnXSkge1xyXG4gICAgICBpZiAoISFjaGFuZ2VzWyd0ZXh0RmllbGQnXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgICAgIHNvcnQ6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGZpZWxkOiBjaGFuZ2VzWyd0ZXh0RmllbGQnXS5jdXJyZW50VmFsdWUsXHJcbiAgICAgICAgICAgICAgc29ydERpcmVjdGlvbjogRW51bVNvcnREaXJlY3Rpb24uQVNDXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5ibG9ja2luZ0ludGVyYWN0aW9uJC5zdWJzY3JpYmUoeCA9PiB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24gPSB4KVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLm1scy5sYW5nJC5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgICAgdGhpcy5sYW5nID0geFxyXG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJUZXh0ID0gdGhpcy5tbHMudHJhbnModGhpcy5wbGFjZWhvbGRlciwgeClcclxuICAgICAgfSlcclxuICAgIClcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy5zZWFyY2hTdHJlYW0kLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKF8gPT4gISF0aGlzLnRleHRGaWVsZCksXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxyXG4gICAgICApLnN1YnNjcmliZSh0ZXh0ID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgICAgIHNlYXJjaDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IHRoaXMudGV4dEZpZWxkLFxyXG4gICAgICAgICAgICAgIHNlYXJjaEZvcjogdGV4dFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIClcclxuXHJcbiAgfVxyXG5cclxuICBiaW5kT3B0aW9ucyh4OiBIdHRwUmVzcG9uc2U8YW55Pik6IHZvaWQge1xyXG5cclxuICAgIGlmICh4Lm9rICYmIHguc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgY29uc3QgYm9keTogSUZvcm1hdGVkUmVzcG9uc2UgPSB4LmJvZHk7XHJcbiAgICAgIGlmIChib2R5LnN0YXR1c0NvZGUgPT09IDIwMCkge1xyXG5cclxuICAgICAgICBjb25zdCBsaXN0UmVzcG9uc2U6IElRdWVyeUxpc3RSZXNwb25zZSA9IGJvZHkuaW5uZXJCb2R5O1xyXG5cclxuICAgICAgICBjb25zdCBuZXdMaXN0T3B0aW9uczogSUNvcmVMaXN0T3B0aW9uW10gPSBbXTtcclxuICAgICAgICBsaXN0UmVzcG9uc2UubGlzdD8ubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgIG5ld0xpc3RPcHRpb25zLnB1c2goe1xyXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS5pZCxcclxuICAgICAgICAgICAgdGV4dDogaXRlbVt0aGlzLnRleHRGaWVsZF1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnZpc2libGVPcHRpb25zID0gbmV3TGlzdE9wdGlvbnM7XHJcbiAgICAgICAgdGhpcy5saXN0VG90YWxIZWlnaHQgPSBsaXN0UmVzcG9uc2UuY291bnQhICogdGhpcy5pdGVtSGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0UmVzaXplKGhlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICBpZiAoIWhlaWdodCkgcmV0dXJuXHJcbiAgICAvLyAzNSA9IHNlYXJjaFxyXG4gICAgLy8gMioxNSA9IHBhZGRpbmdcclxuICAgIC8vIDEqMTUgPSBzZWFyY2ggbWFyZ2luIGJvdHRvbVxyXG4gICAgY29uc3QgaDUgPSBoZWlnaHQhIC0gMzUgLSAyKjE1IC0gMSoxNTtcclxuICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tY29yZS1zY3JvbGwtY29udGFpbmVyLWhlaWdodCcsIGg1ICsgJ3B4Jyk7XHJcbiAgICB0aGlzLnNjcm9sbENvbnRhaW5lckhlaWdodCA9IGg1O1xyXG4gICAgdGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC5uZXh0KHtcclxuICAgICAgLi4udGhpcy5xdWVyeUxpc3RSZXF1ZXN0JC52YWx1ZSxcclxuICAgICAgcGFnaW5hdGlvbjoge1xyXG4gICAgICAgIHNraXA6IDAsXHJcbiAgICAgICAgdGFrZTogTWF0aC5jZWlsKGg1IC8gdGhpcy5pdGVtSGVpZ2h0KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCRcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoXyA9PiAhIXRoaXMucXVlcnlMaXN0QXBpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKHggPT4gdGhpcy5hcHBTZXJ2aWNlLnBvc3QodGhpcy5xdWVyeUxpc3RBcGksIHgpKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJ0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkXCIsIHgpXHJcbiAgICAgICAgICAgIHRoaXMuYmluZE9wdGlvbnMoeCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIHRoaXMuZGVmYXVsdFJlc2l6ZSh0aGlzLmhlaWdodCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25MaXN0SXRlbUNsaWNrKG9wdGlvbjogSUNvcmVMaXN0T3B0aW9uKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuYmxvY2tpbmdJbnRlcmFjdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUob3B0aW9uLnZhbHVlKTtcclxuICAgICAgdGhpcy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMub25DaGFuZ2Uob3B0aW9uLnZhbHVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVWYWx1ZSA9IG9wdGlvbi52YWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoVGV4dENoYW5nZShlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VhcmNoU3RyZWFtJC5uZXh0KGUpO1xyXG4gIH1cclxuXHJcbiAgb25QYWdpbmF0aW9uKGU6IElQYWdpbmF0aW9uIHwgdW5kZWZpbmVkKTogdm9pZCB7XHJcbiAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICBwYWdpbmF0aW9uOiBlXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMubWFwKHggPT4geD8udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJjb3JlLWxpc3QtbGF6eS1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogaGVpZ2h0ICsgJ3B4J31cIj5cclxuICAgIDxoNCAqbmdJZj1cIiEhdGl0bGVcIj57eyB0aXRsZSB8IHRyYW5zbGF0ZTogbGFuZ319PC9oND5cclxuICAgIDxkaXYgY2xhc3M9XCJsaXN0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBzZWFyY2hcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZTogbGFuZ1wiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaFRleHRDaGFuZ2UoJGV2ZW50KVwiIGF1dG9jb21wbGV0ZT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb3JlLXNjcm9sbC1jb250YWluZXJcIiAjY29yZVNjcm9sbENvbnRhaW5lciBbY2xhc3MuZm9ybS1jb250cm9sLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IGJsb2NraW5nSW50ZXJhY3Rpb25cIj5cclxuICAgICAgICAgICAgQGlmIChibG9ja2luZ0ludGVyYWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICA8Y29yZS1sb2FkaW5nLXN1cmZhY2UgW2hlaWdodF09XCJoZWlnaHRcIj48L2NvcmUtbG9hZGluZy1zdXJmYWNlPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxjb3JlLXNjcm9sbC1sYXp5IFt2aXNpYmxlT3B0aW9uc109XCJ2aXNpYmxlT3B0aW9uc1wiIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlUmVmXCIgW2hlaWdodF09XCJzY3JvbGxDb250YWluZXJIZWlnaHRcIiBbdG90YWxIZWlnaHRdPVwibGlzdFRvdGFsSGVpZ2h0XCJcclxuICAgICAgICAgICAgICAgIFtjaGlsZEhlaWdodF09XCJpdGVtSGVpZ2h0XCIgKG9uUGFnaW5hdGlvbik9XCJvblBhZ2luYXRpb24oJGV2ZW50KVwiPjwvY29yZS1zY3JvbGwtbGF6eT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGVSZWYgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCI+XHJcbiAgICA8bGkgKGNsaWNrKT1cIm9uTGlzdEl0ZW1DbGljayhjb250ZXh0KVwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBpdGVtSGVpZ2h0ICsgJ3B4JyB9XCIgW2NsYXNzLmFjdGl2ZV09XCJjb250ZXh0LnZhbHVlPT09YWN0aXZlVmFsdWVcIiBbY2xhc3MuYmxvY2tlZF09XCJibG9ja2luZ0ludGVyYWN0aW9uXCI+XHJcbiAgICAgICAgPGxhYmVsIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgb3ZlcmZsb3c6ICdoaWRkZW4nLCB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycgfVwiIFthcHBUb29sdGlwXT1cImNvbnRleHQudGV4dCB8IHRhYmxlQ2VsbDogcGlwZSA6IGxhbmdcIj57eyBjb250ZXh0LnRleHQgfCB0YWJsZUNlbGw6IHBpcGUgOiBsYW5nIH19PC9sYWJlbD5cclxuICAgIDwvbGk+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saXN0LWxhenkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWhpc3RhZmYtYWxwaGEvc3JjL2xpYi9hcHAvbGlicmFyaWVzL2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5L2NvcmUtbGlzdC1sYXp5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1oaXN0YWZmLWFscGhhL3NyYy9saWIvYXBwL2xpYnJhcmllcy9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBd0IsS0FBSyxFQUFvQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEosT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JB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QkFBdUIsaUxBRXZCLGFBQWEsNkNBQ2IsYUFBYSxrREFDYixnQkFBZ0I7OzJGQWFQLHFCQUFxQjtrQkF4QmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsdUJBQXVCO3lCQUNuQztxQkFDRjt5SUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ1ksbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29yZUZvcm1Db250cm9sQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUtZm9ybS1jb250cm9sLWJhc2UvY29yZS1mb3JtLWNvbnRyb2wtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmcm9tRXZlbnQsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBFbnVtVHJhbnNsYXRlS2V5IH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tdWx0aS1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSUNvcmVMaXN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS1saXN0L2NvcmUtbGlzdC9jb3JlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgYXBpIH0gZnJvbSBcImFscGhhLWdsb2JhbC1jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgSUZvcm1hdGVkUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lGb3JtYXRlZFJlc3BvbnNlJztcclxuaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJUGFnaW5hdGlvbiwgSVF1ZXJ5TGlzdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL0lRdWVyeUxpc3RSZXF1ZXN0JztcclxuaW1wb3J0IHsgSVF1ZXJ5TGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9JUXVlcnlMaXN0UmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29yZVRhYmxlUGlwZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlLXRhYmxlL0VudW1Db3JlVGFibGVQaXBlVHlwZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvcmVTY3JvbGxMYXp5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS1zY3JvbGwtbGF6eS9jb3JlLXNjcm9sbC1sYXp5L2NvcmUtc2Nyb2xsLWxhenkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGhyZWVkb3RzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGhyZWVkb3RzL3RocmVlZG90cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLXBpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFbnVtU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2VudW0vRW51bVNvcnREaXJlY3Rpb24nO1xyXG5pbXBvcnQgeyBUYWJsZUNlbGxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdGFibGUtY2VsbC5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1saXN0LWxhenknLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29yZVNjcm9sbExhenlDb21wb25lbnQsXHJcbiAgICBUaHJlZWRvdHNDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlLFxyXG4gICAgVGFibGVDZWxsUGlwZSxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3JlLWxpc3QtbGF6eS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29yZS1saXN0LWxhenkuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBDb3JlTGlzdExhenlDb21wb25lbnRcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlTGlzdExhenlDb21wb25lbnQgZXh0ZW5kcyBDb3JlRm9ybUNvbnRyb2xCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSB0aXRsZSE6IEVudW1UcmFuc2xhdGVLZXk7XHJcbiAgQElucHV0KCkgcXVlcnlMaXN0QXBpITogYXBpO1xyXG4gIEBJbnB1dCgpIHRleHRGaWVsZCE6IHN0cmluZztcclxuICBASW5wdXQoKSBwaXBlITogRW51bUNvcmVUYWJsZVBpcGVUeXBlO1xyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBibG9ja2luZ0ludGVyYWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvcmVTY3JvbGxDb250YWluZXInKSBjb3JlU2Nyb2xsQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgbmdDb250cm9sITogTmdDb250cm9sO1xyXG5cclxuICBhY3RpdmVWYWx1ZTogYW55O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHZpc2libGVPcHRpb25zOiBJQ29yZUxpc3RPcHRpb25bXSA9IFtdO1xyXG4gIHBsYWNlaG9sZGVyVGV4dCE6IHN0cmluZztcclxuICBzZWFyY2hIZWlnaHQ6IG51bWJlciA9IDUwO1xyXG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgcGxhY2Vob2xkZXIgPSBFbnVtVHJhbnNsYXRlS2V5LlVJX0NPTU1PTl9QTEFDRV9IT0xERVJfU0VBUkNIX0hFUkU7XHJcbiAgdGV4dCE6IHN0cmluZztcclxuICBsYW5nITogc3RyaW5nO1xyXG4gIHNlYXJjaFN0cmVhbSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gIGl0ZW1IZWlnaHQ6IG51bWJlciA9IDQwO1xyXG4gIHNjcm9sbENvbnRhaW5lckhlaWdodCE6IG51bWJlcjtcclxuICBsaXN0VG90YWxIZWlnaHQhOiBudW1iZXI7XHJcblxyXG4gIHF1ZXJ5TGlzdFJlcXVlc3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUXVlcnlMaXN0UmVxdWVzdD4oe30pO1xyXG5cclxuICBibG9ja2luZ0ludGVyYWN0aW9uITogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1sczogTXVsdGlMYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZVxyXG4gICkgeyBzdXBlcigpIH1cclxuXHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgICB0aGlzLmFjdGl2ZVZhbHVlID0gb2JqO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2hlaWdodCddKSB7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXS5jdXJyZW50VmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRSZXNpemUoY2hhbmdlc1snaGVpZ2h0J10uY3VycmVudFZhbHVlKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ3RleHRGaWVsZCddKSB7XHJcbiAgICAgIGlmICghIWNoYW5nZXNbJ3RleHRGaWVsZCddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICAgICAgc29ydDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNoYW5nZXNbJ3RleHRGaWVsZCddLmN1cnJlbnRWYWx1ZSxcclxuICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiBFbnVtU29ydERpcmVjdGlvbi5BU0NcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5uZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLmJsb2NraW5nSW50ZXJhY3Rpb24kLnN1YnNjcmliZSh4ID0+IHRoaXMuYmxvY2tpbmdJbnRlcmFjdGlvbiA9IHgpXHJcbiAgICApXHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMubWxzLmxhbmckLnN1YnNjcmliZSh4ID0+IHtcclxuICAgICAgICB0aGlzLmxhbmcgPSB4XHJcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlclRleHQgPSB0aGlzLm1scy50cmFucyh0aGlzLnBsYWNlaG9sZGVyLCB4KVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICB0aGlzLnNlYXJjaFN0cmVhbSQucGlwZShcclxuICAgICAgICBmaWx0ZXIoXyA9PiAhIXRoaXMudGV4dEZpZWxkKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICkuc3Vic2NyaWJlKHRleHQgPT4ge1xyXG4gICAgICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICAgICAgc2VhcmNoOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBmaWVsZDogdGhpcy50ZXh0RmllbGQsXHJcbiAgICAgICAgICAgICAgc2VhcmNoRm9yOiB0ZXh0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIF1cclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG5cclxuICB9XHJcblxyXG4gIGJpbmRPcHRpb25zKHg6IEh0dHBSZXNwb25zZTxhbnk+KTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHgub2sgJiYgeC5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICBjb25zdCBib2R5OiBJRm9ybWF0ZWRSZXNwb25zZSA9IHguYm9keTtcclxuICAgICAgaWYgKGJvZHkuc3RhdHVzQ29kZSA9PT0gMjAwKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpc3RSZXNwb25zZTogSVF1ZXJ5TGlzdFJlc3BvbnNlID0gYm9keS5pbm5lckJvZHk7XHJcblxyXG4gICAgICAgIGNvbnN0IG5ld0xpc3RPcHRpb25zOiBJQ29yZUxpc3RPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgIGxpc3RSZXNwb25zZS5saXN0Py5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgbmV3TGlzdE9wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICB0ZXh0OiBpdGVtW3RoaXMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMudmlzaWJsZU9wdGlvbnMgPSBuZXdMaXN0T3B0aW9ucztcclxuICAgICAgICB0aGlzLmxpc3RUb3RhbEhlaWdodCA9IGxpc3RSZXNwb25zZS5jb3VudCEgKiB0aGlzLml0ZW1IZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlZmF1bHRSZXNpemUoaGVpZ2h0OiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIGlmICghaGVpZ2h0KSByZXR1cm5cclxuICAgIC8vIDM1ID0gc2VhcmNoXHJcbiAgICAvLyAyKjE1ID0gcGFkZGluZ1xyXG4gICAgLy8gMSoxNSA9IHNlYXJjaCBtYXJnaW4gYm90dG9tXHJcbiAgICBjb25zdCBoNSA9IGhlaWdodCEgLSAzNSAtIDIqMTUgLSAxKjE1O1xyXG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1jb3JlLXNjcm9sbC1jb250YWluZXItaGVpZ2h0JywgaDUgKyAncHgnKTtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVySGVpZ2h0ID0gaDU7XHJcbiAgICB0aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLm5leHQoe1xyXG4gICAgICAuLi50aGlzLnF1ZXJ5TGlzdFJlcXVlc3QkLnZhbHVlLFxyXG4gICAgICBwYWdpbmF0aW9uOiB7XHJcbiAgICAgICAgc2tpcDogMCxcclxuICAgICAgICB0YWtlOiBNYXRoLmNlaWwoaDUgLyB0aGlzLml0ZW1IZWlnaHQpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgdGhpcy5xdWVyeUxpc3RSZXF1ZXN0JFxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihfID0+ICEhdGhpcy5xdWVyeUxpc3RBcGkpLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoeCA9PiB0aGlzLmFwcFNlcnZpY2UucG9zdCh0aGlzLnF1ZXJ5TGlzdEFwaSwgeCkpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoaXMucXVlcnlMaXN0UmVxdWVzdCRcIiwgeClcclxuICAgICAgICAgICAgdGhpcy5iaW5kT3B0aW9ucyh4KTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgdGhpcy5kZWZhdWx0UmVzaXplKHRoaXMuaGVpZ2h0KTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkxpc3RJdGVtQ2xpY2sob3B0aW9uOiBJQ29yZUxpc3RPcHRpb24pIHtcclxuXHJcbiAgICBpZiAodGhpcy5ibG9ja2luZ0ludGVyYWN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYmxvY2tpbmdJbnRlcmFjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShvcHRpb24udmFsdWUpO1xyXG4gICAgICB0aGlzLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZShvcHRpb24udmFsdWUpO1xyXG4gICAgICB0aGlzLmFjdGl2ZVZhbHVlID0gb3B0aW9uLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hUZXh0Q2hhbmdlKGU6IGFueSkge1xyXG4gICAgdGhpcy5zZWFyY2hTdHJlYW0kLm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2luYXRpb24oZTogSVBhZ2luYXRpb24gfCB1bmRlZmluZWQpOiB2b2lkIHtcclxuICAgIHRoaXMucXVlcnlMaXN0UmVxdWVzdCQubmV4dCh7XHJcbiAgICAgIC4uLnRoaXMucXVlcnlMaXN0UmVxdWVzdCQudmFsdWUsXHJcbiAgICAgIHBhZ2luYXRpb246IGVcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5tYXAoeCA9PiB4Py51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgI2NvbnRhaW5lciBjbGFzcz1cImNvcmUtbGlzdC1sYXp5LWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgKyAncHgnfVwiPlxyXG4gICAgPGg0ICpuZ0lmPVwiISF0aXRsZVwiPnt7IHRpdGxlIHwgdHJhbnNsYXRlOiBsYW5nfX08L2g0PlxyXG4gICAgPGRpdiBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIHNlYXJjaFwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlOiBsYW5nXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoVGV4dENoYW5nZSgkZXZlbnQpXCIgYXV0b2NvbXBsZXRlPVwiZmFsc2VcIj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvcmUtc2Nyb2xsLWNvbnRhaW5lclwiICNjb3JlU2Nyb2xsQ29udGFpbmVyIFtjbGFzcy5mb3JtLWNvbnRyb2wtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgYmxvY2tpbmdJbnRlcmFjdGlvblwiPlxyXG4gICAgICAgICAgICA8Y29yZS1zY3JvbGwtbGF6eSBbdmlzaWJsZU9wdGlvbnNdPVwidmlzaWJsZU9wdGlvbnNcIiBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVJlZlwiIFtoZWlnaHRdPVwic2Nyb2xsQ29udGFpbmVySGVpZ2h0XCIgW3RvdGFsSGVpZ2h0XT1cImxpc3RUb3RhbEhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbY2hpbGRIZWlnaHRdPVwiaXRlbUhlaWdodFwiIChvblBhZ2luYXRpb24pPVwib25QYWdpbmF0aW9uKCRldmVudClcIj48L2NvcmUtc2Nyb2xsLWxhenk+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlUmVmIGxldC1jb250ZXh0PVwiY29udGV4dFwiPlxyXG4gICAgPGxpIChjbGljayk9XCJvbkxpc3RJdGVtQ2xpY2soY29udGV4dClcIiBbbmdTdHlsZV09XCJ7IGhlaWdodDogaXRlbUhlaWdodCArICdweCcgfVwiIFtjbGFzcy5hY3RpdmVdPVwiY29udGV4dC52YWx1ZT09PWFjdGl2ZVZhbHVlXCIgW2NsYXNzLmJsb2NrZWRdPVwiYmxvY2tpbmdJbnRlcmFjdGlvblwiPlxyXG4gICAgICAgIDxsYWJlbCBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScsIG92ZXJmbG93OiAnaGlkZGVuJywgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnIH1cIiBbYXBwVG9vbHRpcF09XCJjb250ZXh0LnRleHQgfCB0YWJsZUNlbGw6IHBpcGUgOiBsYW5nXCI+e3sgY29udGV4dC50ZXh0IHwgdGFibGVDZWxsOiBwaXBlIDogbGFuZyB9fTwvbGFiZWw+XHJcbiAgICA8L2xpPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
|