@senior-gestao-pessoas/hcm-contract-employee-history 5.6.3 → 5.6.4-bugfix-hcmfnd-6190-79776045
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/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js +59 -22
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js +2 -2
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js.map +1 -1
- package/esm2015/core/entities/dependent-draft/dependent-draft.js +2 -1
- package/esm2015/lib/annotation-history/views/list/annotation-history-list.component.js +16 -3
- package/esm2015/lib/employee-dependent/form/employee-dependent-form.component.js +4 -4
- package/esm2015/lib/employee-dependent/list/draft/dependent-list-draft.component.js +16 -19
- package/esm2015/lib/employee-dependent/list/employee-dependent-list.component.js +2 -2
- package/esm2015/lib/leave-history/views/list/leave-history-list.component.js +16 -3
- package/esm2015/lib/workshift-history/views/list/workshift-history-list.component.js +16 -3
- package/esm5/core/entities/dependent-draft/dependent-draft.js +2 -1
- package/esm5/lib/annotation-history/views/list/annotation-history-list.component.js +14 -1
- package/esm5/lib/employee-dependent/form/employee-dependent-form.component.js +4 -4
- package/esm5/lib/employee-dependent/list/draft/dependent-list-draft.component.js +16 -19
- package/esm5/lib/employee-dependent/list/employee-dependent-list.component.js +2 -2
- package/esm5/lib/leave-history/views/list/leave-history-list.component.js +14 -1
- package/esm5/lib/workshift-history/views/list/workshift-history-list.component.js +14 -1
- package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js +65 -28
- package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js +59 -22
- package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
- package/package.json +1 -1
- package/senior-gestao-pessoas-hcm-contract-employee-history.metadata.json +1 -1
|
@@ -312,9 +312,9 @@ var EmployeeDependentFormComponent = /** @class */ (function () {
|
|
|
312
312
|
}))
|
|
313
313
|
.subscribe(function (draft) {
|
|
314
314
|
var _a;
|
|
315
|
-
(_a = _this.formGroup.get("draftId")) === null || _a === void 0 ? void 0 : _a.setValue(draftId);
|
|
316
315
|
var data = DependentDraft.fromDto(draft);
|
|
317
316
|
_this.formGroup.patchValue(data);
|
|
317
|
+
(_a = _this.formGroup.get("draftId")) === null || _a === void 0 ? void 0 : _a.setValue(draftId);
|
|
318
318
|
});
|
|
319
319
|
};
|
|
320
320
|
EmployeeDependentFormComponent.prototype.getSaveObservable = function () {
|
|
@@ -336,8 +336,8 @@ var EmployeeDependentFormComponent = /** @class */ (function () {
|
|
|
336
336
|
this.dependentDraftService.saveDraftEvent
|
|
337
337
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
338
338
|
.subscribe(function (formData) {
|
|
339
|
-
_this.loading = true;
|
|
340
339
|
if (formData) {
|
|
340
|
+
_this.loading = true;
|
|
341
341
|
var data = DependentDraft.fromDto(formData);
|
|
342
342
|
_this.formGroup.patchValue(data);
|
|
343
343
|
_this.onSaveDependent();
|
|
@@ -367,11 +367,11 @@ var EmployeeDependentFormComponent = /** @class */ (function () {
|
|
|
367
367
|
Component({
|
|
368
368
|
// tslint:disable-next-line:component-selector
|
|
369
369
|
selector: "fnd-employee-dependent-form",
|
|
370
|
-
template: "<s-loading-state [loading]=\"loading\" blockWindow=\"true\"></s-loading-state>\n<s-sidebar [visible]=\"showSideBar\"\n (visibleChange)=\"showSideBar = !showSideBar\"\n [header]=\"'hcm_contract.employment_contract.employee_dependent_sidebar_title_' + isNewToLabel() | translate\">\n\n <s-steps [steps]=\"steps\" [activeIndex]=\"activeIndex\" (stepSelected)=\"onStepSelected($event)\"></s-steps>\n <form [formGroup]=\"formGroup\" >\n <div class=\"ui-fluid\">\n <!-- Dados pessoais -->\n <fnd-employee-dependent-personal-step [hidden]=\"activeIndex !== 0\"\n [parentFormGroup]=\"formGroup\"></fnd-employee-dependent-personal-step>\n <!-- Dados complementaris -->\n <fnd-employee-dependent-complement-step [hidden]=\"activeIndex !== 1\"\n [parentFormGroup]=\"formGroup\"></fnd-employee-dependent-complement-step>\n\n </div>\n </form>\n <s-footer class=\"footer-sidebar-form-dependent\">\n <s-button (click)=\"onCancel()\" priority=\"link\" style=\"margin-right: auto\"\n [label]=\"'hcm_contract.employment_contract.cancel' | translate\"\n ></s-button>\n <div class=\"footer-end\">\n <s-button priority=\"secondary\"\n *ngIf=\"activeIndex !== 0\"\n iconClass=\"fa fa-arrow-left\"\n (onClick)=\"undoStep()\"\n [disabled]=\"activeIndex === 0\"\n [label]=\"'hcm_contract.employment_contract.employee_dependent_button_back' | translate\">\n </s-button>\n <s-button id=\"btn-draft\"\n label=\"{{ 'hcm_contract.employment_contract.btn_dependent_save_draft' | translate }}\"\n priority=\"secondary\"(click)=\"saveDependentDraft()\" [auxiliary]=\"false\"\n [disabled]=\"loading\"></s-button>\n <s-button\n class=\"btn-next\"\n [rightIconClass]=\"!activeIndex ? 'fa fa-arrow-right' : ''\"\n (onClick)=\"nextStep()\"\n [disabled]=\"loading\"\n [label]=\"this.buttonLabel\">\n </s-button>\n </div>\n </s-footer>\n</s-sidebar>\n<p-confirmDialog key=\"edit-dependent\"></p-confirmDialog>\n",
|
|
370
|
+
template: "<s-loading-state [loading]=\"loading\" blockWindow=\"true\"></s-loading-state>\n<s-sidebar [visible]=\"showSideBar\"\n (visibleChange)=\"showSideBar = !showSideBar\"\n [header]=\"'hcm_contract.employment_contract.employee_dependent_sidebar_title_' + isNewToLabel() | translate\">\n\n <s-steps [steps]=\"steps\" [activeIndex]=\"activeIndex\" (stepSelected)=\"onStepSelected($event)\"></s-steps>\n <form [formGroup]=\"formGroup\" >\n <div class=\"ui-fluid\">\n <!-- Dados pessoais -->\n <fnd-employee-dependent-personal-step [hidden]=\"activeIndex !== 0\"\n [parentFormGroup]=\"formGroup\"></fnd-employee-dependent-personal-step>\n <!-- Dados complementaris -->\n <fnd-employee-dependent-complement-step [hidden]=\"activeIndex !== 1\"\n [parentFormGroup]=\"formGroup\"></fnd-employee-dependent-complement-step>\n\n </div>\n </form>\n <s-footer class=\"footer-sidebar-form-dependent\">\n <s-button (click)=\"onCancel()\" priority=\"link\" style=\"margin-right: auto\"\n [label]=\"'hcm_contract.employment_contract.cancel' | translate\"\n ></s-button>\n <div class=\"footer-end\">\n <s-button priority=\"secondary\"\n *ngIf=\"activeIndex !== 0\"\n iconClass=\"fa fa-arrow-left\"\n (onClick)=\"undoStep()\"\n [disabled]=\"activeIndex === 0\"\n [label]=\"'hcm_contract.employment_contract.employee_dependent_button_back' | translate\">\n </s-button>\n <s-button id=\"btn-draft\"\n label=\"{{ 'hcm_contract.employment_contract.btn_dependent_save_draft' | translate }}\"\n priority=\"secondary\"(click)=\"saveDependentDraft()\" [auxiliary]=\"false\"\n [disabled]=\"loading\"></s-button>\n <s-button\n *ngIf=\"employeeId\"\n class=\"btn-next\"\n [rightIconClass]=\"!activeIndex ? 'fa fa-arrow-right' : ''\"\n (onClick)=\"nextStep()\"\n [disabled]=\"loading\"\n [label]=\"this.buttonLabel\">\n </s-button>\n </div>\n </s-footer>\n</s-sidebar>\n<p-confirmDialog key=\"edit-dependent\"></p-confirmDialog>\n",
|
|
371
371
|
styles: [".tab-view-full{width:100%}.toggle-header-fieldset{display:flex!important;justify-content:space-between!important;align-items:center!important}.toggle-header-fieldset .ui-inputgroup span{margin-right:8px!important;font-size:14px;font-weight:400;line-height:21px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.footer-sidebar-form-dependent{display:flex;justify-content:space-between}.message-warn-admisison{padding-left:65px;font-size:14px}.message-warn-admisison p:first-of-type{font-weight:700}.btn-next>button{display:flex!important;flex-direction:row-reverse!important}.btn-next>button span{margin-left:5px!important}"]
|
|
372
372
|
})
|
|
373
373
|
], EmployeeDependentFormComponent);
|
|
374
374
|
return EmployeeDependentFormComponent;
|
|
375
375
|
}());
|
|
376
376
|
export { EmployeeDependentFormComponent };
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvZm9ybS9lbXBsb3llZS1kZXBlbmRlbnQtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBMkMsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzFILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUs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LENBQUM7WUFDcEIsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsSUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUMsS0FBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLEtBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMxQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7Z0JBM1dzQyxnQkFBZ0I7Z0JBQ2pCLHdCQUF3QjtnQkFDNUIsV0FBVztnQkFDbkIsWUFBWTtnQkFDTSxxQkFBcUI7Z0JBQzlDLGNBQWM7Z0JBQ0EsbUJBQW1CO2dCQUN4QixjQUFjOztJQTdCMUM7UUFEQyxLQUFLLEVBQUU7c0VBQ2tCO0lBRTFCO1FBREMsS0FBSyxFQUFFOzBFQUNzQjtJQUU5QjtRQURDLEtBQUssRUFBRTt3RUFDNEI7SUFQM0IsOEJBQThCO1FBTjFDLFNBQVMsQ0FBQztZQUNQLDhDQUE4QztZQUM5QyxRQUFRLEVBQUUsNkJBQTZCO1lBQ3ZDLDZ5RUFBdUQ7O1NBRTFELENBQUM7T0FDVyw4QkFBOEIsQ0FzWTFDO0lBQUQscUNBQUM7Q0FBQSxBQXRZRCxJQXNZQztTQXRZWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBTVXJsU2VydmljZSB9IGZyb20gXCJAc2VuaW9yLWdlc3Rhby1wZXNzb2FzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVTcGVjaWZpY0NvbnRyb2xzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcbmltcG9ydCB7IExvY2FsZU9wdGlvbnMsIFN0ZXAsIFN0ZXBTZWxlY3Rpb25FdmVudCwgU3RlcFN0YXRlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE9wZW5TaWRlYmFyRHRvIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZHRvcy9lbXBsb3llZS1kZXBlbmRlbnQtc2F2ZS1kdG9cIjtcbmltcG9ydCB7IFBlcnNvblJldHJpZXZlT3V0cHV0IH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZHRvcy9wZXJzb24tcmV0cmlldmUuZHRvXCI7XG5pbXBvcnQgeyBEZXBlbmRlbnREcmFmdCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudGl0aWVzL2RlcGVuZGVudC1kcmFmdC9kZXBlbmRlbnQtZHJhZnRcIjtcbmltcG9ydCB7IERlcGVuZGVudERyYWZ0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudGl0aWVzL2RlcGVuZGVudC1kcmFmdC9kZXBlbmRlbnQtZHJhZnQuc2VydmljZVwiO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9mb2N1cy9mb2N1cy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEYXRlVmFsaWRhdG9yIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2RhdGUtdmFsaWRhdG9yL2RhdGUtdmFsaWRhdG9yXCI7XG5pbXBvcnQgeyBtYXBGb3JtVG9EZXBlbmRlbnRTYXZlLCBtYXBQZXJzb25SZXRyaWV2ZVRvRW1wbG95ZWVEZXBlbmRlbnRGb3JtIH0gZnJvbSBcIi4vZW1wbG95ZWUtZGVwZW5kZW50LWZvcm0tY29udmVydGVyXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJmbmQtZW1wbG95ZWUtZGVwZW5kZW50LWZvcm1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VtcGxveWVlLWRlcGVuZGVudC1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2VtcGxveWVlLWRlcGVuZGVudC1mb3JtLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llZURlcGVuZGVudEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXBsb3llZUlkOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWRtaXNzaW9uRHJhZnQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIGNsb3NlU2lkZUJhcjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuICAgIHB1YmxpYyBwZXJzb25JZDtcbiAgICBwdWJsaWMgZGVwZW5kZW50SWQ7XG4gICAgcHVibGljIGxvYWRlZERlcGVuZGVudDogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dTaWRlQmFyID0gZmFsc2U7XG4gICAgcHVibGljIGFjdGl2ZUluZGV4OiBudW1iZXI7XG4gICAgcHVibGljIHN0ZXBzOiBTdGVwW107XG4gICAgcHVibGljIGJ1dHRvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfYnV0dG9uX25leHRcIik7XG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGRyYWZ0SWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBsb2NhbGVDb25maWc6IExvY2FsZU9wdGlvbnM7XG4gICAgcHJpdmF0ZSBkYXRlRm9ybWF0OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVtcGxveWVlRGVwZW5kZW50U2VydmljZTogRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNVcmxTZXJ2aWNlOiBTVXJsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmb2N1c1NlcnZpY2U6IEZvY3VzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRlbnREcmFmdFNlcnZpY2U6IERlcGVuZGVudERyYWZ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3RlcHMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVFdmVudHMoKTtcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHRoaXMub25Sb3V0ZURhdGFDaGFuZ2UoZGF0YSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3V0ZURhdGFDaGFuZ2UoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IERhdGVWYWxpZGF0b3IuZ2V0RGF0ZUZvcm1hdEZyb21DYWxlbmRhcihkYXRhLmxvY2FsZUNvbmZpZy5jYWxlbmRhcik7XG4gICAgfVxuXG4gICAgcHVibGljIHVuZG9TdGVwKCkge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5idXR0b25MYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2J1dHRvbl9uZXh0XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgfVxuXG4gICAgcHVibGljIG5leHRTdGVwKCkge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZm9ybUJhc2ljU3RlcCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YVwiKSBhcyBGb3JtR3JvdXA7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtQmFzaWNTdGVwKTtcblxuICAgICAgICAgICAgaWYgKCFmb3JtQmFzaWNTdGVwLnZhbGlkICYmICF0aGlzLmRlcGVuZGVudElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGVwc1sxXS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lcnJvclwiKSxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX2ludmFsaWRfZm9ybV9ncm91cFwiKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3RlcHNbMV0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9lbXBsb3llZV9mb3JtX2J0bl9zdGVwX2xhc3RcIik7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4Kys7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVJbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IHRoaXMucmVxdWlyZWRGaWVsZHNTdGVwMSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfaW52YWxpZF9mb3JtX2dyb3VwX3N0ZXBfMVwiKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfaW52YWxpZF9mb3JtX2dyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDogbXNnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZGVwZW5kZW50SWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQmVmb3JlU2F2ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZURlcGVuZGVudCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzTmV3KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZGVwZW5kZW50SWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGlzTmV3VG9MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05ldygpID8gXCJjcmVhdGVcIiA6IFwiZWRpdFwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblN0ZXBTZWxlY3RlZChldmVudDogU3RlcFNlbGVjdGlvbkV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5pbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgY29tcGxlbWVudEZvcm0gPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjb21wbGVtZW50RGVwZW5kZW50UGVyc29uRGF0YVwiKSBhcyBGb3JtR3JvdXA7XG5cbiAgICAgICAgICAgIGlmICghY29tcGxlbWVudEZvcm0udmFsaWQgJiYgKCF0aGlzLmRlcGVuZGVudElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbXBsZW1lbnRGb3JtKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfYnV0dG9uX25leHRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2ljRm9ybSA9IHRoaXMuZm9ybUdyb3VwLmdldChcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YVwiKSBhcyBGb3JtR3JvdXA7XG5cbiAgICAgICAgICAgIGlmICghYmFzaWNGb3JtLnZhbGlkICYmICghdGhpcy5kZXBlbmRlbnRJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhiYXNpY0Zvcm0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBldmVudC5pbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd1NpZGVCYXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZURlcGVuZGVudERyYWZ0KCk6IGFueSB7XG4gICAgICAgIHZhbGlkYXRlU3BlY2lmaWNDb250cm9scyh0aGlzLmZvcm1Hcm91cCwgW1xuICAgICAgICAgICAgXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuZnVsbE5hbWVcIixcbiAgICAgICAgICAgIFwiY29tcGxlbWVudERlcGVuZGVudFBlcnNvbkRhdGEua2luc2hpcERlcGVuZGVudERlZ3JlZVR5cGVcIixcbiAgICAgICAgXSk7XG5cbiAgICAgICAgY29uc3QgZnVsbE5hbWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuZnVsbE5hbWVcIik7XG4gICAgICAgIGNvbnN0IGtpbnNoaXBEZXBlbmRlbnREZWdyZWVUeXBlID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY29tcGxlbWVudERlcGVuZGVudFBlcnNvbkRhdGEua2luc2hpcERlcGVuZGVudERlZ3JlZVR5cGVcIik7XG4gICAgICAgIGlmICgodGhpcy5hY3RpdmVJbmRleCA9PT0gMCAmJiAhZnVsbE5hbWUudmFsaWQpXG4gICAgICAgICAgICB8fCAodGhpcy5hY3RpdmVJbmRleCA9PT0gMSAmJiAha2luc2hpcERlcGVuZGVudERlZ3JlZVR5cGUudmFsaWQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKGZ1bGxOYW1lLnZhbGlkICYmIHRoaXMuYWN0aXZlSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9lbXBsb3llZV9mb3JtX2J0bl9zdGVwX2xhc3RcIik7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZ2V0U2F2ZU9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJkcmFmdElkXCIpLnNldFZhbHVlKHJlcz8uaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX3RvYXN0X3N1Y2Nlc3NcIiksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZHJhZnRfZW1wbG95ZWVfZm9ybV9zYXZlX3N1Y2Vzc1wiKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTaWRlQmFyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXIuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlRXZlbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZS5nZXRPcGVuU2lkZUJhckFuZFN0YXJ0Rm9ybSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IE9wZW5TaWRlYmFyRHRvKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy5idXR0b25MYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2J1dHRvbl9uZXh0XCIpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGVwZW5kZW50SWQgPSBkYXRhPy5kZXBlbmRlbnRJZDtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcnNvbklkID0gZGF0YT8ucGVyc29uSWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWRhdGE/LmRlcGVuZGVudElkICYmICFkYXRhLmRlcGVuZGVudERyYWZ0SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGVwc1sxXS5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmVuYWJsZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5wZXJzb25JZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzb25SZXRyaWV2ZUluZm9ybWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGE/LnBlcnNvbklkICYmICFkYXRhLmRlcGVuZGVudERyYWZ0SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzb25SZXRyaWV2ZUluZm9ybWF0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHNbMF0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGVwc1sxXS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YT8uZGVwZW5kZW50RHJhZnRJZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWREcmFmdChkYXRhLmRlcGVuZGVudERyYWZ0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTaWRlQmFyID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25TYXZlQnlMaXN0RHJhZnQoKTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU3RlcHMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBlcnNvbmFsRGF0YSA9IHtcbiAgICAgICAgICAgIGlkOiBcInBlcnNvbmFsLWRhdGEtc3RlcFwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3NpZGViYXJfc3RlcF9wZXJzb25hbF9kYXRhXCIpLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc3RhdGU6IFN0ZXBTdGF0ZS5EZWZhdWx0LFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBjb21wbGVtZW50RGF0YSA9IHtcbiAgICAgICAgICAgIGlkOiBcInBlcnNvbmFsLWRhdGEtc3RlcFwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3NpZGViYXJfc3RlcF9jb21wbGVtZW50X2RhdGFcIiksXG4gICAgICAgICAgICBkaXNhYmxlZDogIXRoaXMucGVyc29uSWQsXG4gICAgICAgICAgICBzdGF0ZTogU3RlcFN0YXRlLkRlZmF1bHQsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHBheXJvbGxEYXRhID0ge1xuICAgICAgICAgICAgaWQ6IFwicGVyc29uYWwtZGF0YS1zdGVwXCIsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfc2lkZWJhcl9zdGVwX3BheXJvbGxfZGF0YVwiKSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlLFxuICAgICAgICAgICAgc3RhdGU6IFN0ZXBTdGF0ZS5EZWZhdWx0LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnN0ZXBzID0gW3BlcnNvbmFsRGF0YSwgY29tcGxlbWVudERhdGEgLypwYXlyb2xsRGF0YSovXTtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwZXJzb25SZXRyaWV2ZUluZm9ybWF0aW9uKCkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZS5wZXJzb25SZXRyaWV2ZSh7IGlkOiB0aGlzLnBlcnNvbklkIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSksXG4gICAgICAgICAgICApLnN1YnNjcmliZSgocmVzcG9uc2U6IFBlcnNvblJldHJpZXZlT3V0cHV0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFwUGVyc29uUmV0cmlldmVUb0VtcGxveWVlRGVwZW5kZW50Rm9ybShyZXNwb25zZSwgdGhpcy5lbXBsb3llZUlkLCB0aGlzLmRhdGVGb3JtYXQpO1xuICAgICAgICAgICAgdGhpcy5sb2FkZWREZXBlbmRlbnQgPSB7IC4uLmRhdGEgfTtcbiAgICAgICAgICAgIHRoaXMuZW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLnNldERlcGVuZGVudEZvcm1EYXRhKGRhdGEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uU2F2ZURlcGVuZGVudCgpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YUNvbnZlcnRlZCA9IG1hcEZvcm1Ub0RlcGVuZGVudFNhdmUoXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpLFxuICAgICAgICAgICAgdGhpcy5lbXBsb3llZUlkLFxuICAgICAgICAgICAgdGhpcy5kZXBlbmRlbnRJZCxcbiAgICAgICAgICAgIHRoaXMucGVyc29uSWQsXG4gICAgICAgICAgICB0aGlzLmRhdGVGb3JtYXQsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2UuZW1wbG95ZWVEcGVuZGVudFNhdmUoZGF0YUNvbnZlcnRlZClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRyYWZ0SWQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJkcmFmdElkXCIpPy52YWx1ZTtcbiAgICAgICAgICAgIGlmIChkYXRhPy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkTWVzc2FnZVN1Y2VzcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NpZGVCYXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlU2lkZUJhci5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgIGlmIChkcmFmdElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlRHJhZnQoZHJhZnRJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZURyYWZ0KGRyYWZ0SWQpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UuZGVsZXRlKGRyYWZ0SWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXIuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkTWVzc2FnZVN1Y2VzcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgc2V2ZXJpdHk6IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5zdWNjZXNzX3Rvb2x0aXBcIiksXG4gICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3NhdmVfc3VjY2Vzc1wiKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c1NlcnZpY2UuZm9jdXNGaXJzdEludmFsaWRJbnB1dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVxdWlyZWRGaWVsZHNTdGVwMSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YS5mdWxsTmFtZVwiKT8udmFsdWUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YS5iaXJ0aERhdGVcIik/LnZhbHVlICYmXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuZ2VuZGVyVHlwZVwiKT8udmFsdWUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YS5jcGZcIik/LnZhbHVlO1xuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Zvcm1DaGFuZ2VkKGJlZm9yZURhdGE6IGFueSwgYWZ0ZXJEYXRhOiBhbnkpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFiZWZvcmVEYXRhPy5wZXJzb25EZXBlbmRlbnREYXRhIHx8ICFhZnRlckRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlzVG9DaGVjayA9IFtcbiAgICAgICAgICAgIFwiYmFzaWNEZXBlbmRlbnRQZXJzb25EYXRhXCIsXG4gICAgICAgICAgICBcImNvbXBsZW1lbnREZXBlbmRlbnRQZXJzb25EYXRhXCIsXG4gICAgICAgICAgICBcImRvY3VtZW50RGVwZW5kZW50UGVyc29uRGF0YVwiLFxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4ga2V5c1RvQ2hlY2suc29tZShmb3JtR3JvdXAgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGJlZm9yZURhdGEucGVyc29uRGVwZW5kZW50RGF0YVtmb3JtR3JvdXBdIHx8IHt9KS5zb21lKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlVmFsdWUgPSBiZWZvcmVEYXRhLnBlcnNvbkRlcGVuZGVudERhdGFbZm9ybUdyb3VwXVtrZXldID8/IFwiXCI7XG4gICAgICAgICAgICAgICAgY29uc3QgYWZ0ZXJWYWx1ZSA9IGFmdGVyRGF0YVtmb3JtR3JvdXBdPy5ba2V5XSA/PyBcIlwiO1xuICAgICAgICAgICAgICAgIHJldHVybiBiZWZvcmVWYWx1ZSAhPT0gYWZ0ZXJWYWx1ZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25CZWZvcmVTYXZlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmRpcnR5IHx8ICF0aGlzLmlzRm9ybUNoYW5nZWQodGhpcy5sb2FkZWREZXBlbmRlbnQsIHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jbG9zZVNpZGViYXJXaXRoU3VjY2VzcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGAke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZW1wbG95ZWVfZm9ybV9kaWFsb2dfdGV4dF9wZXJzb25cIixcbiAgICAgICAgKX1cXG4ke3RoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2VtcGxveWVlX2Zvcm1fZGlhbG9nX2NvbmZpcm1hdGlvblwiKX1gO1xuXG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBrZXk6IFwiZWRpdC1kZXBlbmRlbnRcIixcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX25vXCIpLFxuICAgICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfeWVzXCIpLFxuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9lbXBsb3llZV9mb3JtX2RpYWxvZ190aXRsZVwiKSxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4gdGhpcy5vblNhdmVEZXBlbmRlbnQoKSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZVNpZGViYXJXaXRoU3VjY2VzcygpIHtcbiAgICAgICAgdGhpcy5zaG93U2lkZUJhciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNsb3NlU2lkZUJhci5lbWl0KHRydWUpO1xuICAgICAgICB0aGlzLmFkZE1lc3NhZ2VTdWNlc3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWREcmFmdChkcmFmdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UuZ2V0KGRyYWZ0SWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZHJhZnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcImRyYWZ0SWRcIik/LnNldFZhbHVlKGRyYWZ0SWQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBEZXBlbmRlbnREcmFmdC5mcm9tRHRvKGRyYWZ0KTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYXZlT2JzZXJ2YWJsZSgpIHtcbiAgICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGR0byA9IERlcGVuZGVudERyYWZ0LnRvRHRvKGZvcm0sIHRoaXMuZW1wbG95ZWVJZCwgdGhpcy5hZG1pc3Npb25EcmFmdCk7XG4gICAgICAgIGxldCBvYnNlcnZhYmxlO1xuICAgICAgICBjb25zdCBpZCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImRyYWZ0SWRcIik/LnZhbHVlO1xuICAgICAgICBpZiAoaWQpIHtcbiAgICAgICAgICAgIG9ic2VydmFibGUgPSB0aGlzLmRlcGVuZGVudERyYWZ0U2VydmljZS51cGRhdGUoaWQsIGR0byk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYnNlcnZhYmxlID0gdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UuaW5zZXJ0KGR0byk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9ic2VydmFibGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNhdmVCeUxpc3REcmFmdCgpIHtcbiAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2Uuc2F2ZURyYWZ0RXZlbnRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmb3JtRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoZm9ybURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IERlcGVuZGVudERyYWZ0LmZyb21EdG8oZm9ybURhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uU2F2ZURlcGVuZGVudCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvZm9ybS9lbXBsb3llZS1kZXBlbmRlbnQtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBMkMsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzFILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUs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SSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLElBQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlDLEtBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQyxLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQTNXc0MsZ0JBQWdCO2dCQUNqQix3QkFBd0I7Z0JBQzVCLFdBQVc7Z0JBQ25CLFlBQVk7Z0JBQ00scUJBQXFCO2dCQUM5QyxjQUFjO2dCQUNBLG1CQUFtQjtnQkFDeEIsY0FBYzs7SUE3QjFDO1FBREMsS0FBSyxFQUFFO3NFQUNrQjtJQUUxQjtRQURDLEtBQUssRUFBRTswRUFDc0I7SUFFOUI7UUFEQyxLQUFLLEVBQUU7d0VBQzRCO0lBUDNCLDhCQUE4QjtRQU4xQyxTQUFTLENBQUM7WUFDUCw4Q0FBOEM7WUFDOUMsUUFBUSxFQUFFLDZCQUE2QjtZQUN2QyxtMUVBQXVEOztTQUUxRCxDQUFDO09BQ1csOEJBQThCLENBc1kxQztJQUFELHFDQUFDO0NBQUEsQUF0WUQsSUFzWUM7U0F0WVksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgU1VybFNlcnZpY2UgfSBmcm9tIFwiQHNlbmlvci1nZXN0YW8tcGVzc29hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IHZhbGlkYXRlU3BlY2lmaWNDb250cm9scyB9IGZyb20gXCIuLi8uLi91dGlscy9oZWxwZXJzXCI7XG5pbXBvcnQgeyBMb2NhbGVPcHRpb25zLCBTdGVwLCBTdGVwU2VsZWN0aW9uRXZlbnQsIFN0ZXBTdGF0ZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBPcGVuU2lkZWJhckR0byB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2R0b3MvZW1wbG95ZWUtZGVwZW5kZW50LXNhdmUtZHRvXCI7XG5pbXBvcnQgeyBQZXJzb25SZXRyaWV2ZU91dHB1dCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2R0b3MvcGVyc29uLXJldHJpZXZlLmR0b1wiO1xuaW1wb3J0IHsgRGVwZW5kZW50RHJhZnQgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbnRpdGllcy9kZXBlbmRlbnQtZHJhZnQvZGVwZW5kZW50LWRyYWZ0XCI7XG5pbXBvcnQgeyBEZXBlbmRlbnREcmFmdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9lbnRpdGllcy9kZXBlbmRlbnQtZHJhZnQvZGVwZW5kZW50LWRyYWZ0LnNlcnZpY2VcIjtcbmltcG9ydCB7IEVtcGxveWVlRGVwZW5kZW50U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudGl0aWVzL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlLnNlcnZpY2VcIjtcbmltcG9ydCB7IEZvY3VzU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvZm9jdXMvZm9jdXMuc2VydmljZVwiO1xuaW1wb3J0IHsgRGF0ZVZhbGlkYXRvciB9IGZyb20gXCIuLi8uLi91dGlscy9kYXRlLXZhbGlkYXRvci9kYXRlLXZhbGlkYXRvclwiO1xuaW1wb3J0IHsgbWFwRm9ybVRvRGVwZW5kZW50U2F2ZSwgbWFwUGVyc29uUmV0cmlldmVUb0VtcGxveWVlRGVwZW5kZW50Rm9ybSB9IGZyb20gXCIuL2VtcGxveWVlLWRlcGVuZGVudC1mb3JtLWNvbnZlcnRlclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IFwiZm5kLWVtcGxveWVlLWRlcGVuZGVudC1mb3JtXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lbXBsb3llZS1kZXBlbmRlbnQtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9lbXBsb3llZS1kZXBlbmRlbnQtZm9ybS5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVEZXBlbmRlbnRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wbG95ZWVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFkbWlzc2lvbkRyYWZ0OiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBjbG9zZVNpZGVCYXI6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICBwdWJsaWMgcGVyc29uSWQ7XG4gICAgcHVibGljIGRlcGVuZGVudElkO1xuICAgIHB1YmxpYyBsb2FkZWREZXBlbmRlbnQ6IGFueTtcbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBzaG93U2lkZUJhciA9IGZhbHNlO1xuICAgIHB1YmxpYyBhY3RpdmVJbmRleDogbnVtYmVyO1xuICAgIHB1YmxpYyBzdGVwczogU3RlcFtdO1xuICAgIHB1YmxpYyBidXR0b25MYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2J1dHRvbl9uZXh0XCIpO1xuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBkcmFmdElkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgbG9jYWxlQ29uZmlnOiBMb2NhbGVPcHRpb25zO1xuICAgIHByaXZhdGUgZGF0ZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbXBsb3llZURlcGVuZGVudFNlcnZpY2U6IEVtcGxveWVlRGVwZW5kZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzVXJsU2VydmljZTogU1VybFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9jdXNTZXJ2aWNlOiBGb2N1c1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kZW50RHJhZnRTZXJ2aWNlOiBEZXBlbmRlbnREcmFmdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmNyZWF0ZVN0ZXBzKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgICAgIHRoaXMucm91dGUuZGF0YVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB0aGlzLm9uUm91dGVEYXRhQ2hhbmdlKGRhdGEpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm91dGVEYXRhQ2hhbmdlKGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmxvY2FsZUNvbmZpZyA9IGRhdGEubG9jYWxlQ29uZmlnO1xuICAgICAgICB0aGlzLmRhdGVGb3JtYXQgPSBEYXRlVmFsaWRhdG9yLmdldERhdGVGb3JtYXRGcm9tQ2FsZW5kYXIoZGF0YS5sb2NhbGVDb25maWcuY2FsZW5kYXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bmRvU3RlcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9idXR0b25fbmV4dFwiKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleC0tO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZXh0U3RlcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1CYXNpY1N0ZXAgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGFcIikgYXMgRm9ybUdyb3VwO1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUJhc2ljU3RlcCk7XG5cbiAgICAgICAgICAgIGlmICghZm9ybUJhc2ljU3RlcC52YWxpZCAmJiAhdGhpcy5kZXBlbmRlbnRJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RlcHNbMV0uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZ2VuZXJpY19pbnZhbGlkX2Zvcm1fZ3JvdXBcIiksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN0ZXBzWzFdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZW1wbG95ZWVfZm9ybV9idG5fc3RlcF9sYXN0XCIpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCsrO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSB0aGlzLnJlcXVpcmVkRmllbGRzU3RlcDEgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX2ludmFsaWRfZm9ybV9ncm91cF9zdGVwXzFcIilcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX2ludmFsaWRfZm9ybV9ncm91cFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVycm9yXCIpLFxuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IG1zZyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRlcGVuZGVudElkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkJlZm9yZVNhdmUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVEZXBlbmRlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc05ldygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmRlcGVuZGVudElkO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc05ld1RvTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNOZXcoKSA/IFwiY3JlYXRlXCIgOiBcImVkaXRcIjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TdGVwU2VsZWN0ZWQoZXZlbnQ6IFN0ZXBTZWxlY3Rpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQuaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZW1lbnRGb3JtID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY29tcGxlbWVudERlcGVuZGVudFBlcnNvbkRhdGFcIikgYXMgRm9ybUdyb3VwO1xuXG4gICAgICAgICAgICBpZiAoIWNvbXBsZW1lbnRGb3JtLnZhbGlkICYmICghdGhpcy5kZXBlbmRlbnRJZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb21wbGVtZW50Rm9ybSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5idXR0b25MYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2J1dHRvbl9uZXh0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50LmluZGV4ID09PSAxKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNpY0Zvcm0gPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGFcIikgYXMgRm9ybUdyb3VwO1xuXG4gICAgICAgICAgICBpZiAoIWJhc2ljRm9ybS52YWxpZCAmJiAoIXRoaXMuZGVwZW5kZW50SWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoYmFzaWNGb3JtKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gZXZlbnQuaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTaWRlQmFyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmVEZXBlbmRlbnREcmFmdCgpOiBhbnkge1xuICAgICAgICB2YWxpZGF0ZVNwZWNpZmljQ29udHJvbHModGhpcy5mb3JtR3JvdXAsIFtcbiAgICAgICAgICAgIFwiYmFzaWNEZXBlbmRlbnRQZXJzb25EYXRhLmZ1bGxOYW1lXCIsXG4gICAgICAgICAgICBcImNvbXBsZW1lbnREZXBlbmRlbnRQZXJzb25EYXRhLmtpbnNoaXBEZXBlbmRlbnREZWdyZWVUeXBlXCIsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiYmFzaWNEZXBlbmRlbnRQZXJzb25EYXRhLmZ1bGxOYW1lXCIpO1xuICAgICAgICBjb25zdCBraW5zaGlwRGVwZW5kZW50RGVncmVlVHlwZSA9IHRoaXMuZm9ybUdyb3VwLmdldChcImNvbXBsZW1lbnREZXBlbmRlbnRQZXJzb25EYXRhLmtpbnNoaXBEZXBlbmRlbnREZWdyZWVUeXBlXCIpO1xuICAgICAgICBpZiAoKHRoaXMuYWN0aXZlSW5kZXggPT09IDAgJiYgIWZ1bGxOYW1lLnZhbGlkKVxuICAgICAgICAgICAgfHwgKHRoaXMuYWN0aXZlSW5kZXggPT09IDEgJiYgIWtpbnNoaXBEZXBlbmRlbnREZWdyZWVUeXBlLnZhbGlkKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChmdWxsTmFtZS52YWxpZCAmJiB0aGlzLmFjdGl2ZUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZW1wbG95ZWVfZm9ybV9idG5fc3RlcF9sYXN0XCIpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmdldFNhdmVPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiZHJhZnRJZFwiKS5zZXRWYWx1ZShyZXM/LmlkKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcInN1Y2Nlc3NcIixcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZ2VuZXJpY190b2FzdF9zdWNjZXNzXCIpLFxuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2RyYWZ0X2VtcGxveWVlX2Zvcm1fc2F2ZV9zdWNlc3NcIiksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U2lkZUJhciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VTaWRlQmFyLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2UuZ2V0T3BlblNpZGVCYXJBbmRTdGFydEZvcm0oKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBPcGVuU2lkZWJhckR0bykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9idXR0b25fbmV4dFwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlcGVuZGVudElkID0gZGF0YT8uZGVwZW5kZW50SWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzb25JZCA9IGRhdGE/LnBlcnNvbklkO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhPy5kZXBlbmRlbnRJZCAmJiAhZGF0YS5kZXBlbmRlbnREcmFmdElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHNbMV0uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEucGVyc29uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc29uUmV0cmlldmVJbmZvcm1hdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhPy5wZXJzb25JZCAmJiAhZGF0YS5kZXBlbmRlbnREcmFmdElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc29uUmV0cmlldmVJbmZvcm1hdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0ZXBzWzBdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHNbMV0uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGE/LmRlcGVuZGVudERyYWZ0SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkRHJhZnQoZGF0YS5kZXBlbmRlbnREcmFmdElkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93U2lkZUJhciA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uU2F2ZUJ5TGlzdERyYWZ0KCk7XG5cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVN0ZXBzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXJzb25hbERhdGEgPSB7XG4gICAgICAgICAgICBpZDogXCJwZXJzb25hbC1kYXRhLXN0ZXBcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9zaWRlYmFyX3N0ZXBfcGVyc29uYWxfZGF0YVwiKSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHN0YXRlOiBTdGVwU3RhdGUuRGVmYXVsdCxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgY29tcGxlbWVudERhdGEgPSB7XG4gICAgICAgICAgICBpZDogXCJwZXJzb25hbC1kYXRhLXN0ZXBcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9zaWRlYmFyX3N0ZXBfY29tcGxlbWVudF9kYXRhXCIpLFxuICAgICAgICAgICAgZGlzYWJsZWQ6ICF0aGlzLnBlcnNvbklkLFxuICAgICAgICAgICAgc3RhdGU6IFN0ZXBTdGF0ZS5EZWZhdWx0LFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwYXlyb2xsRGF0YSA9IHtcbiAgICAgICAgICAgIGlkOiBcInBlcnNvbmFsLWRhdGEtc3RlcFwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X3NpZGViYXJfc3RlcF9wYXlyb2xsX2RhdGFcIiksXG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIHN0YXRlOiBTdGVwU3RhdGUuRGVmYXVsdCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zdGVwcyA9IFtwZXJzb25hbERhdGEsIGNvbXBsZW1lbnREYXRhIC8qcGF5cm9sbERhdGEqL107XG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGVyc29uUmV0cmlldmVJbmZvcm1hdGlvbigpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2UucGVyc29uUmV0cmlldmUoeyBpZDogdGhpcy5wZXJzb25JZCB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBQZXJzb25SZXRyaWV2ZU91dHB1dCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1hcFBlcnNvblJldHJpZXZlVG9FbXBsb3llZURlcGVuZGVudEZvcm0ocmVzcG9uc2UsIHRoaXMuZW1wbG95ZWVJZCwgdGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkRGVwZW5kZW50ID0geyAuLi5kYXRhIH07XG4gICAgICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZS5zZXREZXBlbmRlbnRGb3JtRGF0YShkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNhdmVEZXBlbmRlbnQoKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRhdGFDb252ZXJ0ZWQgPSBtYXBGb3JtVG9EZXBlbmRlbnRTYXZlKFxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKSxcbiAgICAgICAgICAgIHRoaXMuZW1wbG95ZWVJZCxcbiAgICAgICAgICAgIHRoaXMuZGVwZW5kZW50SWQsXG4gICAgICAgICAgICB0aGlzLnBlcnNvbklkLFxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLmVtcGxveWVlRHBlbmRlbnRTYXZlKGRhdGFDb252ZXJ0ZWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkcmFmdElkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiZHJhZnRJZFwiKT8udmFsdWU7XG4gICAgICAgICAgICBpZiAoZGF0YT8uaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2VTdWNlc3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTaWRlQmFyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXIuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICBpZiAoZHJhZnRJZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZURyYWZ0KGRyYWZ0SWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWxldGVEcmFmdChkcmFmdElkKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLmRlbGV0ZShkcmFmdElkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VTaWRlQmFyLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZE1lc3NhZ2VTdWNlc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcInN1Y2Nlc3NcIixcbiAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3Quc3VjY2Vzc190b29sdGlwXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9zYXZlX3N1Y2Nlc3NcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9jdXNTZXJ2aWNlLmZvY3VzRmlyc3RJbnZhbGlkSW5wdXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcXVpcmVkRmllbGRzU3RlcDEoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuZnVsbE5hbWVcIik/LnZhbHVlICYmXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuYmlydGhEYXRlXCIpPy52YWx1ZSAmJlxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiYmFzaWNEZXBlbmRlbnRQZXJzb25EYXRhLmdlbmRlclR5cGVcIik/LnZhbHVlICYmXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJiYXNpY0RlcGVuZGVudFBlcnNvbkRhdGEuY3BmXCIpPy52YWx1ZTtcblxuICAgIH1cblxuICAgIHByaXZhdGUgaXNGb3JtQ2hhbmdlZChiZWZvcmVEYXRhOiBhbnksIGFmdGVyRGF0YTogYW55KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYmVmb3JlRGF0YT8ucGVyc29uRGVwZW5kZW50RGF0YSB8fCAhYWZ0ZXJEYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5c1RvQ2hlY2sgPSBbXG4gICAgICAgICAgICBcImJhc2ljRGVwZW5kZW50UGVyc29uRGF0YVwiLFxuICAgICAgICAgICAgXCJjb21wbGVtZW50RGVwZW5kZW50UGVyc29uRGF0YVwiLFxuICAgICAgICAgICAgXCJkb2N1bWVudERlcGVuZGVudFBlcnNvbkRhdGFcIixcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIGtleXNUb0NoZWNrLnNvbWUoZm9ybUdyb3VwID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhiZWZvcmVEYXRhLnBlcnNvbkRlcGVuZGVudERhdGFbZm9ybUdyb3VwXSB8fCB7fSkuc29tZShrZXkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVZhbHVlID0gYmVmb3JlRGF0YS5wZXJzb25EZXBlbmRlbnREYXRhW2Zvcm1Hcm91cF1ba2V5XSA/PyBcIlwiO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFmdGVyVmFsdWUgPSBhZnRlckRhdGFbZm9ybUdyb3VwXT8uW2tleV0gPz8gXCJcIjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmVmb3JlVmFsdWUgIT09IGFmdGVyVmFsdWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQmVmb3JlU2F2ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC5kaXJ0eSB8fCAhdGhpcy5pc0Zvcm1DaGFuZ2VkKHRoaXMubG9hZGVkRGVwZW5kZW50LCB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2VTaWRlYmFyV2l0aFN1Y2Nlc3MoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgIFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2VtcGxveWVlX2Zvcm1fZGlhbG9nX3RleHRfcGVyc29uXCIsXG4gICAgICAgICl9XFxuJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9lbXBsb3llZV9mb3JtX2RpYWxvZ19jb25maXJtYXRpb25cIil9YDtcblxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAga2V5OiBcImVkaXQtZGVwZW5kZW50XCIsXG4gICAgICAgICAgICByZWplY3RMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZ2VuZXJpY19ub1wiKSxcbiAgICAgICAgICAgIGFjY2VwdExhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX3llc1wiKSxcbiAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZW1wbG95ZWVfZm9ybV9kaWFsb2dfdGl0bGVcIiksXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHRoaXMub25TYXZlRGVwZW5kZW50KCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VTaWRlYmFyV2l0aFN1Y2Nlc3MoKSB7XG4gICAgICAgIHRoaXMuc2hvd1NpZGVCYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXIuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5hZGRNZXNzYWdlU3VjZXNzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkRHJhZnQoZHJhZnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLmdldChkcmFmdElkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRyYWZ0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gRGVwZW5kZW50RHJhZnQuZnJvbUR0byhkcmFmdCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZShkYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJkcmFmdElkXCIpPy5zZXRWYWx1ZShkcmFmdElkKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZU9ic2VydmFibGUoKSB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICAgICAgICBjb25zdCBkdG8gPSBEZXBlbmRlbnREcmFmdC50b0R0byhmb3JtLCB0aGlzLmVtcGxveWVlSWQsIHRoaXMuYWRtaXNzaW9uRHJhZnQpO1xuICAgICAgICBsZXQgb2JzZXJ2YWJsZTtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJkcmFmdElkXCIpPy52YWx1ZTtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgICBvYnNlcnZhYmxlID0gdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UudXBkYXRlKGlkLCBkdG8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JzZXJ2YWJsZSA9IHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLmluc2VydChkdG8pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TYXZlQnlMaXN0RHJhZnQoKSB7XG4gICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLnNhdmVEcmFmdEV2ZW50XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZm9ybURhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmb3JtRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gRGVwZW5kZW50RHJhZnQuZnJvbUR0byhmb3JtRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25TYXZlRGVwZW5kZW50KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -49,7 +49,6 @@ var DependentListDraftComponent = /** @class */ (function () {
|
|
|
49
49
|
};
|
|
50
50
|
DependentListDraftComponent.prototype.getActions = function (data) {
|
|
51
51
|
var _this = this;
|
|
52
|
-
console.log(this._employeeId);
|
|
53
52
|
return [
|
|
54
53
|
{
|
|
55
54
|
id: "1",
|
|
@@ -154,20 +153,22 @@ var DependentListDraftComponent = /** @class */ (function () {
|
|
|
154
153
|
this.currentListParams = __assign(__assign({}, this.currentListParams), listParams);
|
|
155
154
|
var _a = this.currentListParams, page = _a.page, size = _a.size;
|
|
156
155
|
var sort = this.currentListParams.sort;
|
|
157
|
-
var displayFields = ["*"];
|
|
158
|
-
var filterQuery = this._employeeId ? "(employee.id eq '" + this._employeeId + "')" : "(admissionDraft.id eq '" + this._admissionDraftId + "')";
|
|
159
156
|
if (!sort) {
|
|
160
157
|
sort = [{ field: "lastModifiedDate", order: -1 }];
|
|
161
158
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
159
|
+
var displayFields = ["*"];
|
|
160
|
+
var filterQuery = this._employeeId ? "(employee.id eq '" + this._employeeId + "')" : this._admissionDraftId ? "(admissionDraft.id eq '" + this._admissionDraftId + "')" : null;
|
|
161
|
+
if (filterQuery) {
|
|
162
|
+
this.dependentDraftService
|
|
163
|
+
.list({ page: page, size: size, sort: sort, filterQuery: filterQuery, displayFields: displayFields })
|
|
164
|
+
.pipe(takeUntil(this.ngUnsubscribe), debounceTime(500), distinctUntilChanged(), finalize(function () {
|
|
165
|
+
_this.isLoading = false;
|
|
166
|
+
}))
|
|
167
|
+
.subscribe(function (list) {
|
|
168
|
+
_this.gridData = list.contents;
|
|
169
|
+
_this.totalRecords = list.totalElements;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
171
172
|
};
|
|
172
173
|
DependentListDraftComponent.prototype.getProp = function (obj, path) {
|
|
173
174
|
return path.split(".").reduce(function (result, prop) { return (result[prop] === undefined ? "" : result[prop]); }, obj);
|
|
@@ -175,9 +176,7 @@ var DependentListDraftComponent = /** @class */ (function () {
|
|
|
175
176
|
Object.defineProperty(DependentListDraftComponent.prototype, "employeeId", {
|
|
176
177
|
set: function (id) {
|
|
177
178
|
this._employeeId = id;
|
|
178
|
-
|
|
179
|
-
this.updateGrid();
|
|
180
|
-
}
|
|
179
|
+
this.updateGrid();
|
|
181
180
|
},
|
|
182
181
|
enumerable: true,
|
|
183
182
|
configurable: true
|
|
@@ -185,9 +184,7 @@ var DependentListDraftComponent = /** @class */ (function () {
|
|
|
185
184
|
Object.defineProperty(DependentListDraftComponent.prototype, "admissionDraftId", {
|
|
186
185
|
set: function (id) {
|
|
187
186
|
this._admissionDraftId = id;
|
|
188
|
-
|
|
189
|
-
this.updateGrid();
|
|
190
|
-
}
|
|
187
|
+
this.updateGrid();
|
|
191
188
|
},
|
|
192
189
|
enumerable: true,
|
|
193
190
|
configurable: true
|
|
@@ -228,4 +225,4 @@ var DependentListDraftComponent = /** @class */ (function () {
|
|
|
228
225
|
return DependentListDraftComponent;
|
|
229
226
|
}());
|
|
230
227
|
export { DependentListDraftComponent };
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW50LWxpc3QtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvbGlzdC9kcmFmdC9kZXBlbmRlbnQtbGlzdC1kcmFmdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFPMUc7SUFxQkkscUNBQ3FCLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsU0FBMkIsRUFDM0IsTUFBYyxFQUNkLG1CQUF3QyxFQUN4QyxjQUE4QjtRQU45QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFD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b3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0b3JhZ2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tIFwibW9tZW50XCI7XG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTGF6eUxvYWRFdmVudCwgTWVudUl0ZW0sIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW50RHJhZnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZGVwZW5kZW50LWRyYWZ0L2RlcGVuZGVudC1kcmFmdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiYXBwLWRlcGVuZGVudC1saXN0LWRyYWZ0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9kZXBlbmRlbnQtbGlzdC1kcmFmdC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBEZXBlbmRlbnRMaXN0RHJhZnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBhbGxQZXJtaXNzaW9uczogYW55ID0ge307XG4gICAgcHVibGljIGN1cnJlbnRMaXN0UGFyYW1zOiBMaXN0UGFyYW1zID0geyBwYWdlOiAwLCBzaXplOiAxMCwgc29ydDogW10gfTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xuICAgIHB1YmxpYyB0b3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdO1xuICAgIHB1YmxpYyBfZW1wbG95ZWVJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBfYWRtaXNzaW9uRHJhZnRJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55W107XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xvc2VTaWRlQmFyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBWaWV3Q2hpbGQoXCJkZXBlbmRlbnREcmFmdFRhYmxlXCIpXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgZGF0ZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlOiBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRlbnREcmFmdFNlcnZpY2U6IERlcGVuZGVudERyYWZ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gdGhpcy5nZXRHcmlkQ29sdW1ucygpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlXG4gICAgICAgICAgICAuZGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gdGhpcy5vblJvdXRlRGF0YUNoYW5nZShkYXRhKSk7XG5cbiAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKHZhbHVlKSA9PiAhIXZhbHVlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvdXRlRGF0YUNoYW5nZShkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5hbGxQZXJtaXNzaW9ucyA9IGRhdGEuYWxsUGVybWlzc2lvbnM7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBkYXRhLmFsbFBlcm1pc3Npb25zPy5kZXBlbmRlbnREcmFmdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucyhkYXRhPzogYW55KTogTWVudUl0ZW1bXSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuX2VtcGxveWVlSWQpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX2VkaXRcIiksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5wZXJtaXNzaW9ucy5lZGl0YXIsXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRWRpdC5lbWl0KGRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5wZXJtaXNzaW9ucy5leGNsdWlyLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QubG9naWNhbF9kZWxldGVcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5vbkRlbGV0ZShkYXRhLmlkKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICAgIHZpc2libGU6ICEhdGhpcy5fZW1wbG95ZWVJZCxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlcGVuZGVudF9kcmFmdF9lZmZlY3RfZGF0YVwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLnNhdmVEcmFmdEV2ZW50Lm5leHQoZGF0YSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGVsZXRlKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZHJhZnRfZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCIpLFxuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX3llc1wiKSxcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfbm9cIiksXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UuZGVsZXRlKGlkKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldEdyaWQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5kZWxldGVkX21lc3NhZ2VfdGl0bGVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTb3J0RmllbGQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3dJbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSAqIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcbiAgICB9XG5cbiAgICBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkdyaWRDaGFuZ2UoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xuXG4gICAgICAgIGlmIChzaXplICE9PSAxMCB8fCBwYWdlICE9PSAwIHx8IHNvcnQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJEZXBlbmRlbnREcmFmdExpc3RDb21wb25lbnRQYWdpbmF0b3JcIiwge1xuICAgICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcblxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldEdyaWQobGlzdFBhcmFtcz86IExpc3RQYXJhbXMpIHtcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCBwYWdlOiAwLCBzb3J0OiBbXSB9O1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcmlkQ29sdW1ucygpIHtcbiAgICAgICAgY29uc3QgZ3JpZENvbHVtbnNHZW5lcmFsID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInBlcnNvbk5hbWVcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lXzAwMV9wZXNfbm9tX3Blc1wiKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwia2luc2hpcERlZ3JlZVR5cGVcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2xpc3Rfa2luc2hpcFwiLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBncmlkQ29sdW1uc0dlbmVyYWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkKGxpc3RQYXJhbXM6IExpc3RQYXJhbXMgPSB7fSkge1xuICAgICAgICBpZiAoIXRoaXMuX2FkbWlzc2lvbkRyYWZ0SWQgJiYgIXRoaXMuX2VtcGxveWVlSWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuICAgICAgICBsZXQgeyBzb3J0IH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuXG4gICAgICAgIGNvbnN0IGRpc3BsYXlGaWVsZHMgPSBbXCIqXCJdO1xuICAgICAgICBjb25zdCBmaWx0ZXJRdWVyeTogYW55ID0gdGhpcy5fZW1wbG95ZWVJZCA/IGAoZW1wbG95ZWUuaWQgZXEgJyR7dGhpcy5fZW1wbG95ZWVJZH0nKWAgOiBgKGFkbWlzc2lvbkRyYWZ0LmlkIGVxICAgICcke3RoaXMuX2FkbWlzc2lvbkRyYWZ0SWR9JylgO1xuXG4gICAgICAgIGlmICghc29ydCkge1xuICAgICAgICAgICAgc29ydCA9IFt7IGZpZWxkOiBcImxhc3RNb2RpZmllZERhdGVcIiwgb3JkZXI6IC0xIH1dO1xuICAgICAgICB9XG5cblxuICAgICAgICB0aGlzLmRlcGVuZGVudERyYWZ0U2VydmljZVxuICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzaXplLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gbGlzdC5jb250ZW50cztcbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBlbXBsb3llZUlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZW1wbG95ZWVJZCA9IGlkO1xuICAgICAgICBpZiAodGhpcy5fZW1wbG95ZWVJZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGFkbWlzc2lvbkRyYWZ0SWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hZG1pc3Npb25EcmFmdElkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hZG1pc3Npb25EcmFmdElkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW50LWxpc3QtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvbGlzdC9kcmFmdC9kZXBlbmRlbnQtbGlzdC1kcmFmdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFPMUc7SUFxQkkscUNBQ3FCLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsU0FBMkIsRUFDM0IsTUFBYyxFQUNkLG1CQUF3QyxFQUN4QyxjQUE4QjtRQU45QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFD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QSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQWhELENBQWdELEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELHNCQUFXLG1EQUFVO2FBQXJCLFVBQXNCLEVBQVU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7OztPQUFBO0lBRUQsc0JBQVcseURBQWdCO2FBQTNCLFVBQTRCLEVBQVU7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsQ0FBQzs7O09BQUE7O2dCQWpNb0MsY0FBYztnQkFDTCx1QkFBdUI7Z0JBQ3pCLHFCQUFxQjtnQkFDakMsZ0JBQWdCO2dCQUNuQixNQUFNO2dCQUNPLG1CQUFtQjtnQkFDeEIsY0FBYzs7SUFqQm5EO1FBREMsS0FBSyxFQUFFO3FFQUMwQztJQUVsRDtRQURDLE1BQU0sRUFBRTt5RUFDOEQ7SUFFdkU7UUFEQyxNQUFNLEVBQUU7K0RBQ29EO0lBRTdEO1FBREMsU0FBUyxDQUFDLHFCQUFxQixDQUFDOzhEQUNiO0lBOExwQjtRQURDLEtBQUssRUFBRTtpRUFJUDtJQUVEO1FBREMsS0FBSyxFQUFFO3VFQUlQO0lBdk5RLDJCQUEyQjtRQUp2QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLDQvUUFBb0Q7U0FDdkQsQ0FBQztPQUNXLDJCQUEyQixDQXlOdkM7SUFBRCxrQ0FBQztDQUFBLEFBek5ELElBeU5DO1NBek5ZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9zdG9yYWdlL3BhZ2luYXRvci1zdG9yYWdlLnNlcnZpY2VcIjtcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuY29uc3QgbW9tZW50ID0gbW9tZW50XztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQsIE1lbnVJdGVtLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IERlcGVuZGVudERyYWZ0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL2VudGl0aWVzL2RlcGVuZGVudC1kcmFmdC9kZXBlbmRlbnQtZHJhZnQuc2VydmljZVwiO1xuaW1wb3J0IHsgTGlzdFBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImFwcC1kZXBlbmRlbnQtbGlzdC1kcmFmdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZGVwZW5kZW50LWxpc3QtZHJhZnQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgRGVwZW5kZW50TGlzdERyYWZ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgYWxsUGVybWlzc2lvbnM6IGFueSA9IHt9O1xuICAgIHB1YmxpYyBjdXJyZW50TGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHsgcGFnZTogMCwgc2l6ZTogMTAsIHNvcnQ6IFtdIH07XG4gICAgcHVibGljIHBlcm1pc3Npb25zOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzOiBudW1iZXI7XG4gICAgcHVibGljIGdyaWREYXRhOiBhbnlbXTtcbiAgICBwdWJsaWMgX2VtcGxveWVlSWQ6IHN0cmluZztcbiAgICBwdWJsaWMgX2FkbWlzc2lvbkRyYWZ0SWQ6IHN0cmluZztcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsb3NlU2lkZUJhciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkVkaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAVmlld0NoaWxkKFwiZGVwZW5kZW50RHJhZnRUYWJsZVwiKVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIGRhdGVGb3JtYXQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYWdpbmF0b3JTdG9yYWdlU2VydmljZTogUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kZW50RHJhZnRTZXJ2aWNlOiBEZXBlbmRlbnREcmFmdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZVxuICAgICAgICAgICAgLmRhdGEucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHRoaXMub25Sb3V0ZURhdGFDaGFuZ2UoZGF0YSkpO1xuXG4gICAgICAgIHRoaXMuY2xvc2VTaWRlQmFyXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZSkgPT4gISF2YWx1ZSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3V0ZURhdGFDaGFuZ2UoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMuYWxsUGVybWlzc2lvbnMgPSBkYXRhLmFsbFBlcm1pc3Npb25zO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZGF0YS5hbGxQZXJtaXNzaW9ucz8uZGVwZW5kZW50RHJhZnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMoZGF0YT86IGFueSk6IE1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX2VkaXRcIiksXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5wZXJtaXNzaW9ucy5lZGl0YXIsXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRWRpdC5lbWl0KGRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5wZXJtaXNzaW9ucy5leGNsdWlyLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QubG9naWNhbF9kZWxldGVcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5vbkRlbGV0ZShkYXRhLmlkKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICAgIHZpc2libGU6ICEhdGhpcy5fZW1wbG95ZWVJZCxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlcGVuZGVudF9kcmFmdF9lZmZlY3RfZGF0YVwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlLnNhdmVEcmFmdEV2ZW50Lm5leHQoZGF0YSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGVsZXRlKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZHJhZnRfZGVsZXRlX2NvbmZpcm1hdGlvbl9tZXNzYWdlXCIpLFxuICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX3llc1wiKSxcbiAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfbm9cIiksXG4gICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2UuZGVsZXRlKGlkKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldEdyaWQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5kZWxldGVkX21lc3NhZ2VfdGl0bGVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlbGV0ZWRfbWVzc2FnZV9jb250ZW50XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTb3J0RmllbGQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNvcnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhZ2VTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3dJbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMucGFnZSAqIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcbiAgICB9XG5cbiAgICBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkdyaWRDaGFuZ2UoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xuXG4gICAgICAgIGlmIChzaXplICE9PSAxMCB8fCBwYWdlICE9PSAwIHx8IHNvcnQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJEZXBlbmRlbnREcmFmdExpc3RDb21wb25lbnRQYWdpbmF0b3JcIiwge1xuICAgICAgICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgICAgICAgc2l6ZSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcblxuICAgIH1cblxuICAgIHB1YmxpYyByZXNldEdyaWQobGlzdFBhcmFtcz86IExpc3RQYXJhbXMpIHtcbiAgICAgICAgaWYgKGxpc3RQYXJhbXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCBwYWdlOiAwLCBzb3J0OiBbXSB9O1xuICAgICAgICB0aGlzLnRhYmxlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHcmlkQ29sdW1ucygpIHtcbiAgICAgICAgY29uc3QgZ3JpZENvbHVtbnNHZW5lcmFsID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcInBlcnNvbk5hbWVcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lXzAwMV9wZXNfbm9tX3Blc1wiKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwia2luc2hpcERlZ3JlZVR5cGVcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2xpc3Rfa2luc2hpcFwiLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBncmlkQ29sdW1uc0dlbmVyYWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVHcmlkKGxpc3RQYXJhbXM6IExpc3RQYXJhbXMgPSB7fSkge1xuICAgICAgICBpZiAoIXRoaXMuX2FkbWlzc2lvbkRyYWZ0SWQgJiYgIXRoaXMuX2VtcGxveWVlSWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuICAgICAgICBsZXQgeyBzb3J0IH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuICAgICAgICBpZiAoIXNvcnQpIHtcbiAgICAgICAgICAgIHNvcnQgPSBbeyBmaWVsZDogXCJsYXN0TW9kaWZpZWREYXRlXCIsIG9yZGVyOiAtMSB9XTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkaXNwbGF5RmllbGRzID0gW1wiKlwiXTtcbiAgICAgICAgY29uc3QgZmlsdGVyUXVlcnk6IGFueSA9IHRoaXMuX2VtcGxveWVlSWQgPyBgKGVtcGxveWVlLmlkIGVxICcke3RoaXMuX2VtcGxveWVlSWR9JylgIDogdGhpcy5fYWRtaXNzaW9uRHJhZnRJZCA/IGAoYWRtaXNzaW9uRHJhZnQuaWQgZXEgJyR7dGhpcy5fYWRtaXNzaW9uRHJhZnRJZH0nKWAgOiBudWxsO1xuICAgICAgICBpZiAoZmlsdGVyUXVlcnkpIHtcbiAgICAgICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzaXplLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGxpc3QuY29udGVudHM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvcChvYmo6IGFueSwgcGF0aDogYW55KSB7XG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UoKHJlc3VsdDogYW55LCBwcm9wOiBhbnkpID0+IChyZXN1bHRbcHJvcF0gPT09IHVuZGVmaW5lZCA/IFwiXCIgOiByZXN1bHRbcHJvcF0pLCBvYmopO1xuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZW1wbG95ZWVJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2VtcGxveWVlSWQgPSBpZDtcbiAgICAgICAgdGhpcy51cGRhdGVHcmlkKCk7XG4gICAgfVxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBhZG1pc3Npb25EcmFmdElkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWRtaXNzaW9uRHJhZnRJZCA9IGlkO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICB9XG5cbn1cbiJdfQ==
|