vcomply-workflow-engine 2.5.2 → 2.5.5
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/vcomply-workflow-engine.umd.js +434 -272
- package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
- package/esm2015/lib/more-option/more-option.component.js +66 -3
- package/esm2015/lib/more-option/more-option.component.ngfactory.js +9 -9
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +38 -28
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngfactory.js +42 -61
- package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngsummary.json +1 -1
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +3 -3
- package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngfactory.js +6 -6
- package/esm2015/lib/ui-kit/popover/popover.component.js +5 -4
- package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.js +5 -4
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +35 -27
- package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +2 -2
- package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +5 -4
- package/esm2015/lib/workflow-engine.module.js +3 -1
- package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
- package/esm2015/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.js +12 -0
- package/esm2015/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.ngsummary.json +1 -0
- package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +2 -2
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +35 -4
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +11 -4
- package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-program/workflow-program.component.js +27 -8
- package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +438 -445
- package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +1 -1
- package/esm2015/lib/workflow-services/programs.service.js +8 -7
- package/esm2015/lib/workflow-services/responsibility.service.js +5 -2
- package/esm2015/vcomply-workflow-engine.js +189 -188
- package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
- package/fesm2015/vcomply-workflow-engine.js +235 -85
- package/fesm2015/vcomply-workflow-engine.js.map +1 -1
- package/lib/sharedComponents/framework-list/framework-list.component.d.ts +5 -6
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -0
- package/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.d.ts +4 -0
- package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +6 -0
- package/lib/workflow-program/workflow-program.component.d.ts +1 -0
- package/lib/workflow-services/programs.service.d.ts +1 -1
- package/lib/workflow-services/responsibility.service.d.ts +1 -1
- package/package.json +1 -1
- package/vcomply-workflow-engine.d.ts +188 -187
- package/vcomply-workflow-engine.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["form",{"read":{"__symbol":2,"members":[]}}]}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["datePicker"]}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"refreshForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"onRemovingRole":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]}]}],"noWhitespaceValidator":[{"__symbolic":"method"}],"blankArrayValidator":[{"__symbolic":"method"}],"currentUser":[{"__symbolic":"method"}],"setFormField":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"populateOptionalFields":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"formChangeListner":[{"__symbolic":"method"}],"handleFormFieldChange":[{"__symbolic":"method"}],"activateList":[{"__symbolic":"method"}],"listAction":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"removeRole":[{"__symbolic":"method"}],"setDefaultAssignee":[{"__symbolic":"method"}],"setDefaultAssigneeOnRemove":[{"__symbolic":"method"}],"setDefaultReviewer":[{"__symbolic":"method"}],"setDefaultOverseer":[{"__symbolic":"method"}],"setDefaultReviewerOnRemove":[{"__symbolic":"method"}],"setDefaultOverseerOnRemove":[{"__symbolic":"method"}],"fieldDeselector":[{"__symbolic":"method"}],"markasTouchedSelector":[{"__symbolic":"method"}],"fetchRoles":[{"__symbolic":"method"}],"fetchRC":[{"__symbolic":"method"}],"fetchUsersAssociatedWithRoles":[{"__symbolic":"method"}],"fetchGroupsAssociatedWithRoles":[{"__symbolic":"method"}],"setDefaultOwners":[{"__symbolic":"method"}],"fetchOrganizationUsers":[{"__symbolic":"method"}],"fetchOrganizationGroup":[{"__symbolic":"method"}],"selectFile":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"deleteAttachment":[{"__symbolic":"method"}],"selectAllRoleOwner":[{"__symbolic":"method"}],"uniqueByProp":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"action":[{"__symbolic":"method"}],"viewPrograms":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"closeSmiley":[{"__symbolic":"method"}],"getProgramDetails":[{"__symbolic":"method"}],"populateMembers":[{"__symbolic":"method"}],"populateGroups":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":6,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-program","exportAs":null,"inputs":{"mode":"mode","programId":"programId","programType":"programType"},"outputs":{"pickerChanged":"pickerChanged","populateOption":"populateOption","closeWorkflow":"closeWorkflow","showConfirmationAlert":"showConfirmationAlert","disconnectRefresh":"disconnectRefresh","refreshForm":"refreshForm","hideElementsFromMoreOptions":"hideElementsFromMoreOptions","onRemovingRole":"onRemovingRole"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"form"}],"first":true,"descendants":true,"propertyName":"form","read":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"selectors":[{"value":"datePicker"}],"first":true,"descendants":true,"propertyName":"datePicker","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":9,"members":[]},"rendererType":{"__symbol":10,"members":[]},"componentFactory":{"__symbol":11,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowProgramComponent","filePath":"./workflow-program.component"},{"__symbol":1,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":2,"name":"ElementRef","filePath":"@angular/core"},{"__symbol":3,"name":"Output","filePath":"@angular/core"},{"__symbol":4,"name":"Input","filePath":"@angular/core"},{"__symbol":5,"name":"FormBuilder","filePath":"@angular/forms"},{"__symbol":6,"name":"ProgramsService","filePath":"../workflow-services/programs.service"},{"__symbol":7,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":8,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":9,"name":"View_WorkflowProgramComponent_0","filePath":"./workflow-program.component.ngfactory"},{"__symbol":10,"name":"RenderType_WorkflowProgramComponent","filePath":"./workflow-program.component.ngfactory"},{"__symbol":11,"name":"WorkflowProgramComponentNgFactory","filePath":"./workflow-program.component.ngfactory"}]}
|
|
1
|
+
{"moduleName":null,"summaries":[{"symbol":{"__symbol":0,"members":[]},"metadata":{"__symbolic":"class","members":{"form":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["form",{"read":{"__symbol":2,"members":[]}}]}]}],"datePicker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":1,"members":[]},"arguments":["datePicker"]}]}],"pickerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"populateOption":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"closeWorkflow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"showConfirmationAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"disconnectRefresh":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"refreshForm":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"hideElementsFromMoreOptions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"onRemovingRole":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":3,"members":[]}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"programType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"members":[]}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbol":5,"members":[]},{"__symbol":6,"members":[]},{"__symbol":7,"members":[]},{"__symbol":8,"members":[]}]}],"noWhitespaceValidator":[{"__symbolic":"method"}],"blankArrayValidator":[{"__symbolic":"method"}],"currentUser":[{"__symbolic":"method"}],"setFormField":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"populateOptionalFields":[{"__symbolic":"method"}],"addMoreInfo":[{"__symbolic":"method"}],"formChangeListner":[{"__symbolic":"method"}],"handleFormFieldChange":[{"__symbolic":"method"}],"activateList":[{"__symbolic":"method"}],"listAction":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"removeRole":[{"__symbolic":"method"}],"setDefaultAssignee":[{"__symbolic":"method"}],"setDefaultAssigneeOnRemove":[{"__symbolic":"method"}],"setDefaultReviewer":[{"__symbolic":"method"}],"setDefaultOverseer":[{"__symbolic":"method"}],"setDefaultReviewerOnRemove":[{"__symbolic":"method"}],"setDefaultOverseerOnRemove":[{"__symbolic":"method"}],"fieldDeselector":[{"__symbolic":"method"}],"markasTouchedSelector":[{"__symbolic":"method"}],"fetchRoles":[{"__symbolic":"method"}],"fetchRC":[{"__symbolic":"method"}],"fetchUsersAssociatedWithRoles":[{"__symbolic":"method"}],"fetchGroupsAssociatedWithRoles":[{"__symbolic":"method"}],"setDefaultOwners":[{"__symbolic":"method"}],"fetchOrganizationUsers":[{"__symbolic":"method"}],"fetchOrganizationGroup":[{"__symbolic":"method"}],"selectFile":[{"__symbolic":"method"}],"uploadFiles":[{"__symbolic":"method"}],"deleteAttachment":[{"__symbolic":"method"}],"selectAllRoleOwner":[{"__symbolic":"method"}],"uniqueByProp":[{"__symbolic":"method"}],"setList":[{"__symbolic":"method"}],"saveProgram":[{"__symbolic":"method"}],"action":[{"__symbolic":"method"}],"viewPrograms":[{"__symbolic":"method"}],"resetForm":[{"__symbolic":"method"}],"closeSmiley":[{"__symbolic":"method"}],"getProgramDetails":[{"__symbolic":"method"}],"populateMembers":[{"__symbolic":"method"}],"populateGroups":[{"__symbolic":"method"}],"resetAdditionalOption":[{"__symbolic":"method"}]}},"type":{"summaryKind":1,"type":{"reference":{"__symbol":0,"members":[]},"diDeps":[{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":5,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":6,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":7,"members":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":8,"members":[]}}}}],"lifecycleHooks":[0]},"isComponent":true,"selector":"app-workflow-program","exportAs":null,"inputs":{"mode":"mode","programId":"programId","programType":"programType"},"outputs":{"pickerChanged":"pickerChanged","populateOption":"populateOption","closeWorkflow":"closeWorkflow","showConfirmationAlert":"showConfirmationAlert","disconnectRefresh":"disconnectRefresh","refreshForm":"refreshForm","hideElementsFromMoreOptions":"hideElementsFromMoreOptions","onRemovingRole":"onRemovingRole"},"hostListeners":{},"hostProperties":{},"hostAttributes":{},"providers":[],"viewProviders":[],"queries":[],"guards":{},"viewQueries":[{"selectors":[{"value":"form"}],"first":true,"descendants":true,"propertyName":"form","read":{"identifier":{"reference":{"__symbol":2,"members":[]}}}},{"selectors":[{"value":"datePicker"}],"first":true,"descendants":true,"propertyName":"datePicker","read":null}],"entryComponents":[],"changeDetection":1,"template":{"ngContentSelectors":[],"encapsulation":0,"styles":[],"animations":[]},"componentViewType":{"__symbol":9,"members":[]},"rendererType":{"__symbol":10,"members":[]},"componentFactory":{"__symbol":11,"members":[]}}}],"symbols":[{"__symbol":0,"name":"WorkflowProgramComponent","filePath":"./workflow-program.component"},{"__symbol":1,"name":"ViewChild","filePath":"@angular/core"},{"__symbol":2,"name":"ElementRef","filePath":"@angular/core"},{"__symbol":3,"name":"Output","filePath":"@angular/core"},{"__symbol":4,"name":"Input","filePath":"@angular/core"},{"__symbol":5,"name":"FormBuilder","filePath":"@angular/forms"},{"__symbol":6,"name":"ProgramsService","filePath":"../workflow-services/programs.service"},{"__symbol":7,"name":"AuthService","filePath":"../workflow-services/auth.service"},{"__symbol":8,"name":"UiKitService","filePath":"../workflow-services/ui-kit.service"},{"__symbol":9,"name":"View_WorkflowProgramComponent_0","filePath":"./workflow-program.component.ngfactory"},{"__symbol":10,"name":"RenderType_WorkflowProgramComponent","filePath":"./workflow-program.component.ngfactory"},{"__symbol":11,"name":"WorkflowProgramComponentNgFactory","filePath":"./workflow-program.component.ngfactory"}]}
|
|
@@ -87,7 +87,7 @@ export class ProgramsService {
|
|
|
87
87
|
return this.http.post(this.env.programEndpoint + '/category/?isBusinessCycle=true', payload, { headers });
|
|
88
88
|
}
|
|
89
89
|
buildPayload(formData, instance) {
|
|
90
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
90
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
91
91
|
console.log("Component Instance", instance);
|
|
92
92
|
const form = formData === null || formData === void 0 ? void 0 : formData.value;
|
|
93
93
|
console.log("Form Value", form);
|
|
@@ -101,9 +101,10 @@ export class ProgramsService {
|
|
|
101
101
|
owners_group: (_g = this.listToId(form === null || form === void 0 ? void 0 : form.program_owners_group, 'group_id')) !== null && _g !== void 0 ? _g : [],
|
|
102
102
|
all_user_in_role: (_h = form === null || form === void 0 ? void 0 : form.all_user_in_role) !== null && _h !== void 0 ? _h : false,
|
|
103
103
|
programType: (_j = form === null || form === void 0 ? void 0 : form.program_type) !== null && _j !== void 0 ? _j : 0,
|
|
104
|
-
state:
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
// state:0,
|
|
105
|
+
state: (_k = form === null || form === void 0 ? void 0 : form.program_state) !== null && _k !== void 0 ? _k : 0,
|
|
106
|
+
approvers: (_l = this.listToId(form === null || form === void 0 ? void 0 : form.program_approver, 'member_id')) !== null && _l !== void 0 ? _l : [],
|
|
107
|
+
calculate_past_upcoming_event: (_m = form === null || form === void 0 ? void 0 : form.performance_calculation) !== null && _m !== void 0 ? _m : '',
|
|
107
108
|
program_frequency: (form === null || form === void 0 ? void 0 : form.recurring_frequency) ? 1 : 0,
|
|
108
109
|
lock_scope: (form === null || form === void 0 ? void 0 : form.lock_scope_change) ? 1 : 0,
|
|
109
110
|
rc_ids: this.listToId(form === null || form === void 0 ? void 0 : form.rc, 'item_id'),
|
|
@@ -123,8 +124,8 @@ export class ProgramsService {
|
|
|
123
124
|
assessment: this.generateAssessment(form.program_assessments),
|
|
124
125
|
evidence_upload_flag: (form === null || form === void 0 ? void 0 : form.evidence_required) ? 1 : 0,
|
|
125
126
|
is_key_evidence: form === null || form === void 0 ? void 0 : form.allow_any_file_key_evidence,
|
|
126
|
-
custom_fields: (
|
|
127
|
-
framework: (
|
|
127
|
+
custom_fields: (_o = form === null || form === void 0 ? void 0 : form.custom_fields) !== null && _o !== void 0 ? _o : [],
|
|
128
|
+
framework: (_p = this.getFramework(form === null || form === void 0 ? void 0 : form.framework)) !== null && _p !== void 0 ? _p : [],
|
|
128
129
|
_id: instance.mode === 'EDIT' ? instance.programId : undefined,
|
|
129
130
|
};
|
|
130
131
|
console.log("payload", payload);
|
|
@@ -200,4 +201,4 @@ ProgramsService.ctorParameters = () => [
|
|
|
200
201
|
{ type: AuthService },
|
|
201
202
|
{ type: Configurations, decorators: [{ type: Optional }] }
|
|
202
203
|
];
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLGlEQUFpRCxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtR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TUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyw2Q0FBNkMsRUFBQyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JKLENBQUM7Ozs7WUFuTUEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSUSxVQUFVO1lBSVYsV0FBVztZQURYLGNBQWMsdUJBU29ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZ3JhbXNTZXJ2aWNlIHtcclxuXHJcbiAgZW52ICE6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Um9sZXMoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAncm9sZXMvZ2V0UHJvZ3JhbVJvbGVzJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGxvYWRzIHRoZSBnaXZlbiBmaWxlIHRvIHNlcnZlclxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgRmlsZSBkYXRhIHRvIGJlIHVwbG9hZGVkXHJcbiAgICogQHBhcmFtIHBhdGggcGF0aCBQYXRoIG9mIGZpbGUgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcmV0dXJucyByZXNwb25zZSBhZnRlciB1cGxvYWRpbmcgYSBmaWxlXHJcbiAgICovXHJcbiAgdXBsb2FkRmlsZXMocGF5bG9hZDogYW55LCBwYXRoOiBhbnkpIHtcclxuICAgIC8vIHtcclxuICAgIC8vICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAvLyAgIG9ic2VydmU6ICdldmVudHMnfVxyXG4gICAgY29uc3QgT1JHX1BBVEggPSBgby8ke3BhdGh9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyBPUkdfUEFUSCAgKyAnJm5nc3ctYnlwYXNzPXRydWUnLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxuICBmZXRjaFJvbGVVc2Vycyhyb2xlczphbnkscGFnZT86YW55LCBzZWFyY2hLZXk/OmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gJyc7XHJcbiAgICBpZihwYWdlKXsgcXVlcnlTdHJpbmcgKz0gYCZwYWdlPSR7cGFnZX1gfTtcclxuICAgIGlmKHNlYXJjaEtleSl7fVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldFVzZXJEZXRhaWxzJmxpbWl0PTMwJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnK3F1ZXJ5U3RyaW5nLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGZldGNoQWxsUm9sZVVzZXJzKHJvbGVzOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldFVzZXJEZXRhaWxzJnR5cGU9YWxsJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGZldGNoQWxsUm9sZUdyb3Vwcyhyb2xlczphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRHcm91cERldGFpbHMmdHlwZT1hbGwmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBmZXRjaEFsbE9yZ1VzZXIoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvL2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9b3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJmFkbWluPTFcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBmZXRjaENvbXBsaWFuY2VHcm91cHMoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvL2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9Z3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2VcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnZ3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2UmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRCdXNpbmVzc0N5Y2xlKCl7XHJcbiAgICBjb25zdCBidXNpbmVzc0N5Y2xlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzQ3ljbGVcIikgPz8gJycpO1xyXG4gICByZXR1cm4ge1xyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogYnVzaW5lc3NDeWNsZVxyXG4gICAgICAgID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLnN0YXJ0X2RhdGUgK1xyXG4gICAgICAgIFwiLVwiICtcclxuICAgICAgICBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuZW5kX2RhdGVcclxuICAgICAgICA6IFwiXCIsXHJcbiAgICAgIHN0YXJ0X2RhdGU6IGJ1c2luZXNzQ3ljbGUgPyBidXNpbmVzc0N5Y2xlLnNlbGVjdGVkQ3ljbGUuc3RhcnRfZGF0ZSA6IFwiXCIsXHJcbiAgICAgIGVuZF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLmVuZF9kYXRlIDogXCJcIixcclxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiBidXNpbmVzc0N5Y2xlXHJcbiAgICAgICAgPyBidXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnJcclxuICAgICAgICA6IFtdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhdmVQcm9ncmFtKHBheWxvYWQ6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9jYXRlZ29yeS8/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLHBheWxvYWQsIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuXHJcbiBidWlsZFBheWxvYWQoZm9ybURhdGE6YW55LGluc3RhbmNlOmFueSl7XHJcbmNvbnNvbGUubG9nKFwiQ29tcG9uZW50IEluc3RhbmNlXCIsaW5zdGFuY2UpO1xyXG5jb25zdCBmb3JtID0gZm9ybURhdGE/LnZhbHVlO1xyXG5jb25zb2xlLmxvZyhcIkZvcm0gVmFsdWVcIixmb3JtKTtcclxuY29uc3QgcGF5bG9hZCA9IHtcclxuICBtb2RlOiAncHJvZ3JhbScsXHJcbiAgbmFtZTpmb3JtPy5wcm9ncmFtX25hbWUudHJpbSgpID8/ICcnLFxyXG4gIGRlc2NyaXB0aW9uOnt0ZXh0OmZvcm0/LnByb2dyYW1fZGVzY3JpcHRpb24gPz8gJycsYXR0YWNobWVudHM6Zm9ybT8ucHJvZ3JhbV9kZXNjcmlwdGlvbl9hdHRhY2htZW50cyA/PyBbXX0sXHJcbiAgcHJvZ3JhbV9vYmplY3RpdmUgOiB7dGV4dDpmb3JtPy5wcm9ncmFtX29iamVjdGl2ZSA/PyAnJyxhdHRhY2htZW50czpmb3JtPy5vYmplY3RpdmVfYXR0YWNobWVudCA/PyBbXX0sXHJcbiAgcm9sZXM6IGZvcm0ucHJvZ3JhbV9yb2xlcy5tYXAoKGVsZTphbnkpID0+IHtyZXR1cm4ge3JvbGVJZDplbGU/Ll9pZCxyb2xlTmFtZTplbGU/LnJvbGVOYW1lLCBsaWNlbnNlVHlwZTplbGU/LmxpY2Vuc2VUeXBlfX0pLFxyXG4gIG93bmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3duZXJzLCdtZW1iZXJfaWQnKSA/PyBbXSxcclxuICBvd25lcnNfZ3JvdXA6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vd25lcnNfZ3JvdXAsJ2dyb3VwX2lkJykgPz8gW10sXHJcbiAgYWxsX3VzZXJfaW5fcm9sZTogZm9ybT8uYWxsX3VzZXJfaW5fcm9sZSA/PyBmYWxzZSxcclxuICBwcm9ncmFtVHlwZTpmb3JtPy5wcm9ncmFtX3R5cGUgPz8gMCxcclxuICBzdGF0ZTowLFxyXG4gIGFwcHJvdmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXBwcm92ZXIsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIGNhbGN1bGF0ZV9wYXN0X3VwY29taW5nX2V2ZW50OiBmb3JtPy5wZXJmb3JtYW5jZV9jYWxjdWxhdGlvbiA/PyAnJyxcclxuICBwcm9ncmFtX2ZyZXF1ZW5jeSA6IGZvcm0/LnJlY3VycmluZ19mcmVxdWVuY3kgPyAxIDogMCxcclxuICBsb2NrX3Njb3BlOiBmb3JtPy5sb2NrX3Njb3BlX2NoYW5nZSA/IDEgOjAsXHJcbiAgcmNfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnJjLCdpdGVtX2lkJyksXHJcbiAgYXNzaWduZWVfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXNzaWduZWUsJ21lbWJlcl9pZCcpLFxyXG4gIGFzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfaWRzIDogIHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfYXNzaWduZWVfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV90eXBlOiBmb3JtPy5hc3NpZ25lZV9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIHJldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fcmV2aWV3ZXIsJ21lbWJlcl9pZCcpLFxyXG4gIHJldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfcmV2aWV3ZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcnNfdHlwZTpmb3JtPy5yZXZpZXdlcl9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIG92ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGNjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksZmFpbHVyZV9jY19lbWFpbDogW10sZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6W119LFxyXG4gIGRlZmF1bHRfb3ZlcnNlZXJzOiB7Y2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZmFpbHVyZV9jY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxmYWlsdXJlX2NjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9mYWlsZWRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyl9LFxyXG4gIGFzc2Vzc21lbnQ6IHRoaXMuZ2VuZXJhdGVBc3Nlc3NtZW50KGZvcm0ucHJvZ3JhbV9hc3Nlc3NtZW50cyksXHJcbiAgZXZpZGVuY2VfdXBsb2FkX2ZsYWc6Zm9ybT8uZXZpZGVuY2VfcmVxdWlyZWQgPyAxIDogMCxcclxuICBpc19rZXlfZXZpZGVuY2U6IGZvcm0/LmFsbG93X2FueV9maWxlX2tleV9ldmlkZW5jZSxcclxuICBjdXN0b21fZmllbGRzOmZvcm0/LmN1c3RvbV9maWVsZHMgPz8gW10sXHJcbiAgZnJhbWV3b3JrOnRoaXMuZ2V0RnJhbWV3b3JrKGZvcm0/LmZyYW1ld29yaykgPz8gW10sXHJcbiAgX2lkOiBpbnN0YW5jZS5tb2RlID09PSAnRURJVCcgPyBpbnN0YW5jZS5wcm9ncmFtSWQgOiB1bmRlZmluZWQsXHJcbn1cclxuY29uc29sZS5sb2coXCJwYXlsb2FkXCIscGF5bG9hZClcclxucmV0dXJuIHBheWxvYWQ7XHJcbiB9XHJcbiBnZW5lcmF0ZUFzc2Vzc21lbnQoYXNzZXNzbWVudDphbnkpe1xyXG4gICBpZihhc3Nlc3NtZW50ICYmIGFzc2Vzc21lbnQ/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gYXNzZXNzbWVudC5tYXAoKGNhdDphbnkpID0+IHtyZXR1cm4gey4uLmNhdCxhc3Nlc3NtZW50SWRzIDogY2F0LmFzc2Vzc21lbnRJZHM/Lm1hcCgoYXNzZXNzOmFueSkgPT4gYXNzZXNzLmlkKX19KVxyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW107XHJcbiAgIH1cclxuIH1cclxuIGdldEZyYW1ld29yayhpbnB1dDphbnkpe1xyXG4gICBjb25zb2xlLmxvZyhcImdlbmVyYXRvclwiLGlucHV0KVxyXG4gICBpZihpbnB1dCl7XHJcbiAgICByZXR1cm4gW3tcclxuICAgICAgX2lkOmlucHV0Py5faWQsXHJcbiAgICAgIGZyYW1ld29ya19uYW1lOmlucHV0Py5mcmFtZXdvcmtfbmFtZSxcclxuICAgICAgdHlwZTogaW5wdXQ/LnR5cGUsXHJcbiAgICAgIGluX3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/LmluX3Njb3BlLCdfaWQnKSxcclxuICAgICAgb3V0X3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/Lm91dF9zY29wZSwnX2lkJylcclxuICAgIH1dXHJcbiAgIH1lbHNle1xyXG4gICAgIHJldHVybiBbXVxyXG4gICB9XHJcblxyXG4gfVxyXG5cclxuIGxpc3RUb0lkKGxpc3Q6YW55LGtleTpzdHJpbmcpe1xyXG4gICBpZihsaXN0ICYmIGxpc3Q/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gbGlzdC5tYXAoKGVsZTphbnkpID0+IGVsZVtrZXldKTtcclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdO1xyXG4gICB9XHJcblxyXG4gfVxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBpZCA6IHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gZ2V0UHJvZ3JhbShpZDphbnkpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy8nICsgaWQgKyc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIHdoaWNoIG5lZWQgdG8gYmUgdXBkYXRlZFxyXG4gKiBAcGFyYW0gaWQgcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbnVwZGF0ZVByb2dyYW0ocGF5bG9hZDphbnksIGlkOiBzdHJpbmcpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvZWRpdENhdGVnb3J5LycrIGlkICArICc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScscGF5bG9hZCwge2hlYWRlcnN9KTtcclxufVxyXG5cclxuXHJcbmdldE1lbWViZXJCeUlkcyhpZHM6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdtZW1iZXJEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse21lbWJlcl9pZDogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxuZ2V0TWVtYmVyQnlHcm91cHMoaWRzOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAnZ3JvdXBEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse2dyb3VwX2lkczogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxufVxyXG4iXX0=
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLGlEQUFpRCxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtRQUNKLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxHQUFJLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsb0RBQW9ELEVBQUU7WUFDdkcsT0FBTztTQUNSLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUdELGNBQWMsQ0FBQyxLQUFTLEVBQUMsSUFBUyxFQUFFLFNBQWM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFHLElBQUksRUFBQztZQUFFLFdBQVcsSUFBSSxTQUFTLElBQUksRUFBRSxDQUFBO1NBQUM7UUFBQSxDQUFDO1FBQzFDLElBQUcsU0FBUyxFQUFDLEdBQUU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcseURBQXlELEdBQUMsV0FBVyxFQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckwsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyx5REFBeUQsRUFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pLLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFTO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsMERBQTBELEVBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksRUFBRSxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxSyxDQUFDO0lBQ0QsZUFBZTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixtR0FBbUc7UUFDbkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxzRUFBc0UsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNKLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLG9GQUFvRjtRQUNwRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLCtEQUErRCxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEosQ0FBQztJQUVELGdCQUFnQjs7UUFDZCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQUEsWUFBWSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDL0UsT0FBTztZQUNKLGNBQWMsRUFBRSxhQUFhO2dCQUMzQixDQUFDLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVO29CQUN4QyxHQUFHO29CQUNILGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDcEMsQ0FBQyxDQUFDLEVBQUU7WUFDTixVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRSxrQkFBa0IsRUFBRSxhQUFhO2dCQUMvQixDQUFDLENBQUMsTUFBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsYUFBYSwwQ0FBRSxrQkFBa0I7Z0JBQ2xELENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBVztRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3SixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLGlDQUFpQyxFQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUdGLFlBQVksQ0FBQyxRQUFZLEVBQUMsUUFBWTs7UUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSyxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUMsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsWUFBWSxDQUFDLElBQUksRUFBRSxtQ0FBSSxFQUFFO1lBQ3BDLFdBQVcsRUFBQyxFQUFDLElBQUksRUFBQyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxtQkFBbUIsbUNBQUksRUFBRSxFQUFDLFdBQVcsRUFBQyxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSwrQkFBK0IsbUNBQUksRUFBRSxFQUFDO1lBQzFHLGlCQUFpQixFQUFHLEVBQUMsSUFBSSxFQUFDLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGlCQUFpQixtQ0FBSSxFQUFFLEVBQUMsV0FBVyxFQUFDLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLG9CQUFvQixtQ0FBSSxFQUFFLEVBQUM7WUFDckcsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsR0FBRSxPQUFPLEVBQUMsTUFBTSxFQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxHQUFHLEVBQUMsUUFBUSxFQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxXQUFXLEVBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQztZQUMzSCxNQUFNLEVBQUMsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLEVBQUMsV0FBVyxDQUFDLG1DQUFJLEVBQUU7WUFDNUQsWUFBWSxFQUFFLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsb0JBQW9CLEVBQUMsVUFBVSxDQUFDLG1DQUFJLEVBQUU7WUFDeEUsZ0JBQWdCLEVBQUUsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsZ0JBQWdCLG1DQUFJLEtBQUs7WUFDakQsV0FBVyxFQUFDLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFlBQVksbUNBQUksQ0FBQztZQUNuQyxXQUFXO1lBQ1gsS0FBSyxFQUFFLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsbUNBQUksQ0FBQztZQUMvQixTQUFTLEVBQUMsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxnQkFBZ0IsRUFBQyxXQUFXLENBQUMsbUNBQUksRUFBRTtZQUNqRSw2QkFBNkIsRUFBRSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSx1QkFBdUIsbUNBQUksRUFBRTtZQUNsRSxpQkFBaUIsRUFBRyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELFVBQVUsRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxpQkFBaUIsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1lBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLEVBQUMsU0FBUyxDQUFDO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxnQkFBZ0IsRUFBQyxXQUFXLENBQUM7WUFDL0Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsc0JBQXNCLEVBQUMsVUFBVSxDQUFDO1lBQzFFLG9CQUFvQixFQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHdCQUF3QixFQUFDLFdBQVcsQ0FBQztZQUNqRiwwQkFBMEIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSw4QkFBOEIsRUFBQyxVQUFVLENBQUM7WUFDMUYscUJBQXFCLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLDRCQUE0QjtZQUN6RCxTQUFTLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsZ0JBQWdCLEVBQUMsV0FBVyxDQUFDO1lBQzNELGtCQUFrQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHNCQUFzQixFQUFDLFVBQVUsQ0FBQztZQUMxRSxpQkFBaUIsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSx3QkFBd0IsRUFBQyxXQUFXLENBQUM7WUFDM0UsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsOEJBQThCLEVBQUMsVUFBVSxDQUFDO1lBQzFGLHNCQUFzQixFQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSw0QkFBNEI7WUFDekQsU0FBUyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGdCQUFnQixFQUFDLFdBQVcsQ0FBQyxFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxzQkFBc0IsRUFBQyxVQUFVLENBQUMsRUFBQyxnQkFBZ0IsRUFBRSxFQUFFLEVBQUMsdUJBQXVCLEVBQUMsRUFBRSxFQUFDO1lBQy9MLGlCQUFpQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHdCQUF3QixFQUFDLFdBQVcsQ0FBQyxFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSw4QkFBOEIsRUFBQyxVQUFVLENBQUM7Z0JBQ3RLLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLCtCQUErQixFQUFDLFdBQVcsQ0FBQyxFQUFDLHVCQUF1QixFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLHFDQUFxQyxFQUFDLFVBQVUsQ0FBQyxFQUFDO1lBQ2pMLFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzdELG9CQUFvQixFQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGlCQUFpQixFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsZUFBZSxFQUFFLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSwyQkFBMkI7WUFDbEQsYUFBYSxFQUFDLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGFBQWEsbUNBQUksRUFBRTtZQUN2QyxTQUFTLEVBQUMsTUFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxTQUFTLENBQUMsbUNBQUksRUFBRTtZQUNsRCxHQUFHLEVBQUUsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDL0QsQ0FBQTtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLE9BQU8sT0FBTyxDQUFDO0lBQ2QsQ0FBQztJQUNELGtCQUFrQixDQUFDLFVBQWM7UUFDL0IsSUFBRyxVQUFVLEtBQUksVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE1BQU0sQ0FBQSxFQUFDO1lBQ25DLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFLFdBQUUsdUNBQVcsR0FBRyxLQUFDLGFBQWEsRUFBRyxNQUFBLEdBQUcsQ0FBQyxhQUFhLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFDLENBQUEsQ0FBQyxDQUFDLENBQUE7U0FDdkg7YUFBSTtZQUNILE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQVM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsSUFBRyxLQUFLLEVBQUM7WUFDUixPQUFPLENBQUM7b0JBQ04sR0FBRyxFQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHO29CQUNkLGNBQWMsRUFBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYztvQkFDcEMsSUFBSSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJO29CQUNqQixRQUFRLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxFQUFDLEtBQUssQ0FBQztvQkFDN0MsU0FBUyxFQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBQyxLQUFLLENBQUM7aUJBQ2hELENBQUMsQ0FBQTtTQUNGO2FBQUk7WUFDSCxPQUFPLEVBQUUsQ0FBQTtTQUNWO0lBRUgsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFRLEVBQUMsR0FBVTtRQUMxQixJQUFHLElBQUksS0FBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLEVBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN2QzthQUFJO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUVILENBQUM7SUFFRjs7OztPQUlHO0lBQ0YsVUFBVSxDQUFDLEVBQU07UUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFFLGlEQUFpRCxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNqSSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsT0FBVyxFQUFFLEVBQVU7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyx5QkFBeUIsR0FBRSxFQUFFLEdBQUksaURBQWlELEVBQUMsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNqSyxDQUFDO0lBR0QsZUFBZSxDQUFDLEdBQU87UUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyw4Q0FBOEMsRUFBQyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RKLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFPO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsNkNBQTZDLEVBQUMsRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySixDQUFDOzs7O1lBcE1BLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsVUFBVTtZQUlWLFdBQVc7WUFEWCxjQUFjLHVCQVNvRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2dyYW1zU2VydmljZSB7XHJcblxyXG4gIGVudiAhOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJvbGVzKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ3JvbGVzL2dldFByb2dyYW1Sb2xlcyZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7aGVhZGVyc30pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyB0aGUgZ2l2ZW4gZmlsZSB0byBzZXJ2ZXJcclxuICAgKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIEZpbGUgZGF0YSB0byBiZSB1cGxvYWRlZFxyXG4gICAqIEBwYXJhbSBwYXRoIHBhdGggUGF0aCBvZiBmaWxlIHRvIGJlIHVwbG9hZGVkXHJcbiAgICogQHJldHVybnMgcmVzcG9uc2UgYWZ0ZXIgdXBsb2FkaW5nIGEgZmlsZVxyXG4gICAqL1xyXG4gIHVwbG9hZEZpbGVzKHBheWxvYWQ6IGFueSwgcGF0aDogYW55KSB7XHJcbiAgICAvLyB7XHJcbiAgICAvLyAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgLy8gICBvYnNlcnZlOiAnZXZlbnRzJ31cclxuICAgIGNvbnN0IE9SR19QQVRIID0gYG8vJHtwYXRofWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZmlsZVVwbG9hZEVuZFBvaW50ICsgT1JHX1BBVEggICsgJyZuZ3N3LWJ5cGFzcz10cnVlJywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZmV0Y2hSb2xlVXNlcnMocm9sZXM6YW55LHBhZ2U/OmFueSwgc2VhcmNoS2V5Pzphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xyXG4gICAgaWYocGFnZSl7IHF1ZXJ5U3RyaW5nICs9IGAmcGFnZT0ke3BhZ2V9YH07XHJcbiAgICBpZihzZWFyY2hLZXkpe31cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRVc2VyRGV0YWlscyZsaW1pdD0zMCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJytxdWVyeVN0cmluZyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEFsbFJvbGVVc2Vycyhyb2xlczphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRVc2VyRGV0YWlscyZ0eXBlPWFsbCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEFsbFJvbGVHcm91cHMocm9sZXM6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0R3JvdXBEZXRhaWxzJnR5cGU9YWxsJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLHsgcm9sZV9pZHMgOnJvbGVzID8/IFtdfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZmV0Y2hBbGxPcmdVc2VyKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgLy9odHRwczovL2RldmFwaS52LWNvbXBseS5jb20vb3JnYW5pemF0aW9uLz9tb2RlPW9yZ2FuaXNhdGlvblVzZXJzTGlzdCZwYWdpbmF0aW9uVHlwZT1zbWFsbCZhZG1pbj0xXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXNhdGlvblVzZXJzTGlzdCZwYWdpbmF0aW9uVHlwZT1zbWFsbCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJywge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZmV0Y2hDb21wbGlhbmNlR3JvdXBzKCl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgLy9odHRwczovL2RldmFwaS52LWNvbXBseS5jb20vb3JnYW5pemF0aW9uLz9tb2RlPWdyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ2dyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0N5Y2xlXCIpID8/ICcnKTtcclxuICAgcmV0dXJuIHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGVcclxuICAgICAgICA/IGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5zdGFydF9kYXRlICtcclxuICAgICAgICBcIi1cIiArXHJcbiAgICAgICAgYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLmVuZF9kYXRlXHJcbiAgICAgICAgOiBcIlwiLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZS5zZWxlY3RlZEN5Y2xlLnN0YXJ0X2RhdGUgOiBcIlwiLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZSA/IGJ1c2luZXNzQ3ljbGUuc2VsZWN0ZWRDeWNsZS5lbmRfZGF0ZSA6IFwiXCIsXHJcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogYnVzaW5lc3NDeWNsZVxyXG4gICAgICAgID8gYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyXHJcbiAgICAgICAgOiBbXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzYXZlUHJvZ3JhbShwYXlsb2FkOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLnNldCgneC1idXNpbmVzcy1jeWNsZScsICBKU09OLnN0cmluZ2lmeSgodGhpcy5nZXRCdXNpbmVzc0N5Y2xlKCkpKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvP2lzQnVzaW5lc3NDeWNsZT10cnVlJyxwYXlsb2FkLCB7aGVhZGVyc30pO1xyXG4gIH1cclxuXHJcblxyXG4gYnVpbGRQYXlsb2FkKGZvcm1EYXRhOmFueSxpbnN0YW5jZTphbnkpe1xyXG5jb25zb2xlLmxvZyhcIkNvbXBvbmVudCBJbnN0YW5jZVwiLGluc3RhbmNlKTtcclxuY29uc3QgZm9ybSA9IGZvcm1EYXRhPy52YWx1ZTtcclxuY29uc29sZS5sb2coXCJGb3JtIFZhbHVlXCIsZm9ybSk7XHJcbmNvbnN0IHBheWxvYWQgPSB7XHJcbiAgbW9kZTogJ3Byb2dyYW0nLFxyXG4gIG5hbWU6Zm9ybT8ucHJvZ3JhbV9uYW1lLnRyaW0oKSA/PyAnJyxcclxuICBkZXNjcmlwdGlvbjp7dGV4dDpmb3JtPy5wcm9ncmFtX2Rlc2NyaXB0aW9uID8/ICcnLGF0dGFjaG1lbnRzOmZvcm0/LnByb2dyYW1fZGVzY3JpcHRpb25fYXR0YWNobWVudHMgPz8gW119LFxyXG4gIHByb2dyYW1fb2JqZWN0aXZlIDoge3RleHQ6Zm9ybT8ucHJvZ3JhbV9vYmplY3RpdmUgPz8gJycsYXR0YWNobWVudHM6Zm9ybT8ub2JqZWN0aXZlX2F0dGFjaG1lbnQgPz8gW119LFxyXG4gIHJvbGVzOiBmb3JtLnByb2dyYW1fcm9sZXMubWFwKChlbGU6YW55KSA9PiB7cmV0dXJuIHtyb2xlSWQ6ZWxlPy5faWQscm9sZU5hbWU6ZWxlPy5yb2xlTmFtZSwgbGljZW5zZVR5cGU6ZWxlPy5saWNlbnNlVHlwZX19KSxcclxuICBvd25lcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX293bmVycywnbWVtYmVyX2lkJykgPz8gW10sXHJcbiAgb3duZXJzX2dyb3VwOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3duZXJzX2dyb3VwLCdncm91cF9pZCcpID8/IFtdLFxyXG4gIGFsbF91c2VyX2luX3JvbGU6IGZvcm0/LmFsbF91c2VyX2luX3JvbGUgPz8gZmFsc2UsXHJcbiAgcHJvZ3JhbVR5cGU6Zm9ybT8ucHJvZ3JhbV90eXBlID8/IDAsXHJcbiAgLy8gc3RhdGU6MCxcclxuICBzdGF0ZTogZm9ybT8ucHJvZ3JhbV9zdGF0ZSA/PyAwLFxyXG4gIGFwcHJvdmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXBwcm92ZXIsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIGNhbGN1bGF0ZV9wYXN0X3VwY29taW5nX2V2ZW50OiBmb3JtPy5wZXJmb3JtYW5jZV9jYWxjdWxhdGlvbiA/PyAnJyxcclxuICBwcm9ncmFtX2ZyZXF1ZW5jeSA6IGZvcm0/LnJlY3VycmluZ19mcmVxdWVuY3kgPyAxIDogMCxcclxuICBsb2NrX3Njb3BlOiBmb3JtPy5sb2NrX3Njb3BlX2NoYW5nZSA/IDEgOjAsXHJcbiAgcmNfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnJjLCdpdGVtX2lkJyksXHJcbiAgYXNzaWduZWVfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXNzaWduZWUsJ21lbWJlcl9pZCcpLFxyXG4gIGFzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfaWRzIDogIHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfYXNzaWduZWVfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV90eXBlOiBmb3JtPy5hc3NpZ25lZV9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIHJldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fcmV2aWV3ZXIsJ21lbWJlcl9pZCcpLFxyXG4gIHJldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfcmV2aWV3ZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcnNfdHlwZTpmb3JtPy5yZXZpZXdlcl9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIG92ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGNjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksZmFpbHVyZV9jY19lbWFpbDogW10sZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6W119LFxyXG4gIGRlZmF1bHRfb3ZlcnNlZXJzOiB7Y2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZmFpbHVyZV9jY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxmYWlsdXJlX2NjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9mYWlsZWRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyl9LFxyXG4gIGFzc2Vzc21lbnQ6IHRoaXMuZ2VuZXJhdGVBc3Nlc3NtZW50KGZvcm0ucHJvZ3JhbV9hc3Nlc3NtZW50cyksXHJcbiAgZXZpZGVuY2VfdXBsb2FkX2ZsYWc6Zm9ybT8uZXZpZGVuY2VfcmVxdWlyZWQgPyAxIDogMCxcclxuICBpc19rZXlfZXZpZGVuY2U6IGZvcm0/LmFsbG93X2FueV9maWxlX2tleV9ldmlkZW5jZSxcclxuICBjdXN0b21fZmllbGRzOmZvcm0/LmN1c3RvbV9maWVsZHMgPz8gW10sXHJcbiAgZnJhbWV3b3JrOnRoaXMuZ2V0RnJhbWV3b3JrKGZvcm0/LmZyYW1ld29yaykgPz8gW10sXHJcbiAgX2lkOiBpbnN0YW5jZS5tb2RlID09PSAnRURJVCcgPyBpbnN0YW5jZS5wcm9ncmFtSWQgOiB1bmRlZmluZWQsXHJcbn1cclxuY29uc29sZS5sb2coXCJwYXlsb2FkXCIscGF5bG9hZClcclxucmV0dXJuIHBheWxvYWQ7XHJcbiB9XHJcbiBnZW5lcmF0ZUFzc2Vzc21lbnQoYXNzZXNzbWVudDphbnkpe1xyXG4gICBpZihhc3Nlc3NtZW50ICYmIGFzc2Vzc21lbnQ/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gYXNzZXNzbWVudC5tYXAoKGNhdDphbnkpID0+IHtyZXR1cm4gey4uLmNhdCxhc3Nlc3NtZW50SWRzIDogY2F0LmFzc2Vzc21lbnRJZHM/Lm1hcCgoYXNzZXNzOmFueSkgPT4gYXNzZXNzLmlkKX19KVxyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW107XHJcbiAgIH1cclxuIH1cclxuIGdldEZyYW1ld29yayhpbnB1dDphbnkpe1xyXG4gICBjb25zb2xlLmxvZyhcImdlbmVyYXRvclwiLGlucHV0KVxyXG4gICBpZihpbnB1dCl7XHJcbiAgICByZXR1cm4gW3tcclxuICAgICAgX2lkOmlucHV0Py5faWQsXHJcbiAgICAgIGZyYW1ld29ya19uYW1lOmlucHV0Py5mcmFtZXdvcmtfbmFtZSxcclxuICAgICAgdHlwZTogaW5wdXQ/LnR5cGUsXHJcbiAgICAgIGluX3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/LmluX3Njb3BlLCdfaWQnKSxcclxuICAgICAgb3V0X3Njb3BlOnRoaXMubGlzdFRvSWQoaW5wdXQ/Lm91dF9zY29wZSwnX2lkJylcclxuICAgIH1dXHJcbiAgIH1lbHNle1xyXG4gICAgIHJldHVybiBbXVxyXG4gICB9XHJcblxyXG4gfVxyXG5cclxuIGxpc3RUb0lkKGxpc3Q6YW55LGtleTpzdHJpbmcpe1xyXG4gICBpZihsaXN0ICYmIGxpc3Q/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gbGlzdC5tYXAoKGVsZTphbnkpID0+IGVsZVtrZXldKTtcclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdO1xyXG4gICB9XHJcblxyXG4gfVxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBpZCA6IHByb2dyYW0gb2JqZWN0IGlkXHJcbiAqIEByZXR1cm5zXHJcbiAqL1xyXG4gZ2V0UHJvZ3JhbShpZDphbnkpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy8nICsgaWQgKyc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIHdoaWNoIG5lZWQgdG8gYmUgdXBkYXRlZFxyXG4gKiBAcGFyYW0gaWQgcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbnVwZGF0ZVByb2dyYW0ocGF5bG9hZDphbnksIGlkOiBzdHJpbmcpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvZWRpdENhdGVnb3J5LycrIGlkICArICc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScscGF5bG9hZCwge2hlYWRlcnN9KTtcclxufVxyXG5cclxuXHJcbmdldE1lbWViZXJCeUlkcyhpZHM6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdtZW1iZXJEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse21lbWJlcl9pZDogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxuZ2V0TWVtYmVyQnlHcm91cHMoaWRzOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAnZ3JvdXBEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse2dyb3VwX2lkczogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -108,9 +108,12 @@ export class ResponsibilityService {
|
|
|
108
108
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
109
109
|
return this.http.get(this.env.complianceGet + 'complianceCategory/CategoryTreeById&id=' + id, { headers, }).pipe(retry(2));
|
|
110
110
|
}
|
|
111
|
-
getFrameWorkCount() {
|
|
111
|
+
getFrameWorkCount(params) {
|
|
112
112
|
let httpOptions = {};
|
|
113
113
|
httpOptions.headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
114
|
+
if (params) {
|
|
115
|
+
httpOptions.params = params;
|
|
116
|
+
}
|
|
114
117
|
return this.http.get(this.env.programEndpoint + '/frameworkcount', httpOptions).pipe(retry(2));
|
|
115
118
|
}
|
|
116
119
|
getFrameWorkList(params) {
|
|
@@ -165,4 +168,4 @@ ResponsibilityService.ctorParameters = () => [
|
|
|
165
168
|
{ type: AuthService },
|
|
166
169
|
{ type: Configurations, decorators: [{ type: Optional }] }
|
|
167
170
|
];
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBaUhqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFoSHBDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLE1BQW1CO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FB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QUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdCLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsa0NBQWtDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JKLENBQUM7Ozs7WUF6TEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUUSxVQUFVO1lBSVYsV0FBVztZQURYLGNBQWMsdUJBV29ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudExpc3QgfSBmcm9tICcuLi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtbGlzdC9zZXJ2aWNlL2Fzc2Vzc21lbnQuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaWJpbGl0eVNlcnZpY2Uge1xyXG4gIGVudiAhOiBhbnk7XHJcbiAgZGF0YVBlclBhZ2UgPSAzMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdChwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldE9yZ2FuaXphdGlvbkdyb3VwcyhwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25Vc2VycygpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ29yZ2FuaXphdGlvblVzZXJzJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPcmdhbml6YXRpb25QZW9wbGUocGFyYW1zPzogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAncGVvcGxlJywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWdub3JzTGlzdChwYXJhbXM/OiBIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbml6YXRpb25Vc2VycyZpc09uQmVoYWxmPTEnLCB7XHJcbiAgICAgIHBhcmFtcywgaGVhZGVyc1xyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRDYXRlZ29yaWVzTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZScsIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRQcm9ncmFtc0xpc3QocGFyYW1zOiBIdHRwUGFyYW1zKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L3Byb2dyYW1MaXN0Jywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRDYXRlZ29yaWVzVW5kZXJQcm9ncmFtKHBhcmFtczogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeUxpc3RUcmVlJywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRBc3N1cmFuY2UoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUdldCArICdjYXRlZ29yeS9saXN0JmlkPTEnLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc3VyYW5jZUZvclJlcXVpcmVzQXVkaXQoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmFzc3VyYW5jZUFwaSArICdBdWRpdC9DYXRlZ29yeS9MaXN0Lz9tb2RlPWVudHJ1c3RfbW9kdWxlJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRSQ0RldGFpbHNPZkZyYW1ld29yayhyY19pZDogYW55LCBjYXRlZ29yeV9pZDogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlSQ1RyZWVCeUlkJmlkPScgKyBjYXRlZ29yeV9pZCArICcmcmNfaWQ9JyArIHJjX2lkLCB7IGhlYWRlcnMgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRFbnRydXN0KGVudHJ1c3RfYm9keTogYW55KSB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdjcmVhdGVSZXBvcnQnLCBlbnRydXN0X2JvZHksIHsgaGVhZGVycyB9KTtcclxuICB9XHJcbiAgdXBkYXRlRW50cnVzdChlbnRydXN0X2JvZHk6IGFueSwgb2JqZWN0X2lkOiBhbnksIGlzRGVsZWdhdGU6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnY3JlYXRlUmVwb3J0JnJlcG9ydElkPScgKyBvYmplY3RfaWQgKyAnJmlzRGVsZWdhdGU9MCcsIGVudHJ1c3RfYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgZWRpdFJlc3BvbnNpYmlsaXR5KG9iamVjdElkOiBhbnkpIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlUmVwb3J0L3JlcG9ydEJ5SWQmaWQ9JyArIG9iamVjdElkLCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcblxyXG4gIH1cclxuXHJcbiAgYWRkQnVsa1Jlc3BvbnNpYmlsaXR5KGVudHJ1c3RfYm9keTogYW55KSB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdpbXBvcnQvY3JlYXRlJywgZW50cnVzdF9ib2R5LCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXBsb2FkVG9Ob2RlKHBheWxvYWQ6IGFueSwgZGVzOiBhbnkpIHtcclxuICAgIC8vIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArICdyaXNrL3Jlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCcsIHsgcmNfaWRfYXJyOiByY0FycmF5ID8/IFtdIH0sIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArIGRlcywgcGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBmaWxlc1VwbG9hZGluZzogYW55W10gPSBbXTtcclxuICBmaWxlc1VwbG9hZGVkOiBhbnlbXSA9IFtdO1xyXG4gIGZpbGVzVXBsb2FkZWRBbmRVcGxvYWRpbmc6IGFueVtdID0gW107XHJcblxyXG5cclxuICBnZXRDYXRlZ29yeURldGFpbHNCeUlkKGlkOiBhbnkpIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5VHJlZUJ5SWQmaWQ9JyArIGlkLFxyXG4gICAgICB7IGhlYWRlcnMsIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWVXb3JrQ291bnQoKSB7XHJcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2ZyYW1ld29ya2NvdW50JywgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWVXb3JrTGlzdChwYXJhbXM6IEh0dHBQYXJhbXMpIHtcclxuICAgIGxldCBodHRwT3B0aW9uczogYW55ID0ge307XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgaWYgKHBhcmFtcykge1xyXG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9mcmFtZXdvcmsnLCBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGdldEZyYW1ld29ya1N1YkNhdGVnb3JpZXMoaWQ6IGFueSwgcGFyYW1zOiBIdHRwUGFyYW1zKSB7XHJcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvZnJhbWV3b3JrLycgKyBpZCxcclxuICAgICAgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWV3b3JrQ29udHJvbHMoaWQ6IGFueSwgcGFyYW1zOiBIdHRwUGFyYW1zKSB7XHJcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY29udHJvbHMvJyArIGlkLFxyXG4gICAgICBodHRwT3B0aW9ucykucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGZpbGVVcGxvYWQoZmlsZTogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2ZpbGUvdXBsb2FkJywgZmlsZSwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldEFzc2Vzc21lbnRDYXRlZ29yeShwYXlsb2FkOiBhbnksIHByb2dyYW1faWRzPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2NhdGVnb3J5L2xpc3QmaXNDcmVhdGVSZXNwb25zaWJpbGl0eT10cnVlJyArIChwcm9ncmFtX2lkcyA/ICcmcHJvZ3JhbV9pZHM9JyArIHByb2dyYW1faWRzIDogJycpLCBwYXlsb2FkLCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50TGlzdChwYXlsb2FkOiBhbnksIGlkOiBzdHJpbmcsIHByb2dyYW1faWRzPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4odGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnYXNzZXNzbWVudC9zZWxlY3RBc3Nlc3NtZW50JmlzQ3JlYXRlUmVzcG9uc2liaWxpdHk9dHJ1ZSZjYXRpZD0nICsgaWQgKyAocHJvZ3JhbV9pZHMgPyAnJnByb2dyYW1faWRzPScgKyBwcm9ncmFtX2lkcyA6ICcnKSwgcGF5bG9hZCwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzZXNzbWVudERldGFpbHNCeUlEKGlkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QXJyYXk8QXNzZXNzbWVudExpc3Q+Pih0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArICdhc3Nlc3NtZW50L2dldEFzc2Vzc21lbnRCeUlkJmlkPScgKyBpZCwge30sIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNN0MsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUFvQixJQUFnQixFQUFVLFdBQXdCLEVBQWMsTUFBdUI7UUFBdkYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRnRFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBaUhqQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFoSHBDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1NBRTdCO0lBQ0gsQ0FBQztJQUVELDJCQUEyQixDQUFDLE1BQW1CO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FB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O1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF3QixJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixHQUFHLGtDQUFrQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNySixDQUFDOzs7O1lBNUxGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVFEsVUFBVTtZQUlWLFdBQVc7WUFEWCxjQUFjLHVCQVdvRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRMaXN0IH0gZnJvbSAnLi4vc2hhcmVkQ29tcG9uZW50cy9hc3Nlc3NtZW50LWxpc3Qvc2VydmljZS9hc3Nlc3NtZW50LmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzcG9uc2liaWxpdHlTZXJ2aWNlIHtcclxuICBlbnYgITogYW55O1xyXG4gIGRhdGFQZXJQYWdlID0gMzA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QocGFyYW1zPzogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxuICBnZXRPcmdhbml6YXRpb25Hcm91cHMocGFyYW1zPzogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnZ3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2UnLCB7XHJcbiAgICAgIHBhcmFtcywgaGVhZGVycyxcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JnYW5pemF0aW9uVXNlcnMoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbml6YXRpb25Vc2VycycsIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JnYW5pemF0aW9uUGVvcGxlKHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uR2V0ICsgJ3Blb3BsZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2lnbm9yc0xpc3QocGFyYW1zPzogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pemF0aW9uVXNlcnMmaXNPbkJlaGFsZj0xJywge1xyXG4gICAgICBwYXJhbXMsIGhlYWRlcnNcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcmllc0xpc3QoKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnLCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZ2V0UHJvZ3JhbXNMaXN0KHBhcmFtczogSHR0cFBhcmFtcykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9wcm9ncmFtTGlzdCcsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZ2V0Q2F0ZWdvcmllc1VuZGVyUHJvZ3JhbShwYXJhbXM6IEh0dHBQYXJhbXMpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZScsIHtcclxuICAgICAgcGFyYW1zLCBoZWFkZXJzXHJcbiAgICB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbiAgZ2V0QXNzdXJhbmNlKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5hc3N1cmFuY2VHZXQgKyAnY2F0ZWdvcnkvbGlzdCZpZD0xJywge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRBc3N1cmFuY2VGb3JSZXF1aXJlc0F1ZGl0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5hc3N1cmFuY2VBcGkgKyAnQXVkaXQvQ2F0ZWdvcnkvTGlzdC8/bW9kZT1lbnRydXN0X21vZHVsZScsIHtcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UkNEZXRhaWxzT2ZGcmFtZXdvcmsocmNfaWQ6IGFueSwgY2F0ZWdvcnlfaWQ6IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5UkNUcmVlQnlJZCZpZD0nICsgY2F0ZWdvcnlfaWQgKyAnJnJjX2lkPScgKyByY19pZCwgeyBoZWFkZXJzIH0pO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0RW50cnVzdChlbnRydXN0X2JvZHk6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnY3JlYXRlUmVwb3J0JywgZW50cnVzdF9ib2R5LCB7IGhlYWRlcnMgfSk7XHJcbiAgfVxyXG4gIHVwZGF0ZUVudHJ1c3QoZW50cnVzdF9ib2R5OiBhbnksIG9iamVjdF9pZDogYW55LCBpc0RlbGVnYXRlOiBhbnkpIHtcclxuXHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmNvbXBsaWFuY2VQb3N0ICsgJ2NyZWF0ZVJlcG9ydCZyZXBvcnRJZD0nICsgb2JqZWN0X2lkICsgJyZpc0RlbGVnYXRlPTAnLCBlbnRydXN0X2JvZHksIHsgaGVhZGVycyB9KTtcclxuICB9XHJcblxyXG4gIGVkaXRSZXNwb25zaWJpbGl0eShvYmplY3RJZDogYW55KSB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZVJlcG9ydC9yZXBvcnRCeUlkJmlkPScgKyBvYmplY3RJZCwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG5cclxuICB9XHJcblxyXG4gIGFkZEJ1bGtSZXNwb25zaWJpbGl0eShlbnRydXN0X2JvZHk6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuY29tcGxpYW5jZVBvc3QgKyAnaW1wb3J0L2NyZWF0ZScsIGVudHJ1c3RfYm9keSwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG5cclxuICB9XHJcblxyXG4gIHVwbG9hZFRvTm9kZShwYXlsb2FkOiBhbnksIGRlczogYW55KSB7XHJcbiAgICAvLyBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyAncmlzay9yZXNwb25zaWJpbGl0eUNlbnRlckxpc3QnLCB7IHJjX2lkX2FycjogcmNBcnJheSA/PyBbXSB9LCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyBkZXMsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgZmlsZXNVcGxvYWRpbmc6IGFueVtdID0gW107XHJcbiAgZmlsZXNVcGxvYWRlZDogYW55W10gPSBbXTtcclxuICBmaWxlc1VwbG9hZGVkQW5kVXBsb2FkaW5nOiBhbnlbXSA9IFtdO1xyXG5cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpZDogYW55KSB7XHJcblxyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeVRyZWVCeUlkJmlkPScgKyBpZCxcclxuICAgICAgeyBoZWFkZXJzLCB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEZyYW1lV29ya0NvdW50KHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcclxuICAgIGxldCBodHRwT3B0aW9uczogYW55ID0ge307XHJcbiAgICBodHRwT3B0aW9ucy5oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgaWYgKHBhcmFtcykge1xyXG4gICAgICBodHRwT3B0aW9ucy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9mcmFtZXdvcmtjb3VudCcsIGh0dHBPcHRpb25zKS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEZyYW1lV29ya0xpc3QocGFyYW1zOiBIdHRwUGFyYW1zKSB7XHJcbiAgICBsZXQgaHR0cE9wdGlvbnM6IGFueSA9IHt9O1xyXG4gICAgaHR0cE9wdGlvbnMuaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgaHR0cE9wdGlvbnMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvZnJhbWV3b3JrJywgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBnZXRGcmFtZXdvcmtTdWJDYXRlZ29yaWVzKGlkOiBhbnksIHBhcmFtczogSHR0cFBhcmFtcykge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcclxuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2ZyYW1ld29yay8nICsgaWQsXHJcbiAgICAgIGh0dHBPcHRpb25zKS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEZyYW1ld29ya0NvbnRyb2xzKGlkOiBhbnksIHBhcmFtczogSHR0cFBhcmFtcykge1xyXG4gICAgbGV0IGh0dHBPcHRpb25zOiBhbnkgPSB7fTtcclxuICAgIGh0dHBPcHRpb25zLmhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIGh0dHBPcHRpb25zLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2NvbnRyb2xzLycgKyBpZCxcclxuICAgICAgaHR0cE9wdGlvbnMpLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBmaWxlVXBsb2FkKGZpbGU6IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5jb21wbGlhbmNlUG9zdCArICdmaWxlL3VwbG9hZCcsIGZpbGUsIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxuICBnZXRBc3Nlc3NtZW50Q2F0ZWdvcnkocGF5bG9hZDogYW55LCBwcm9ncmFtX2lkcz86IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5hc3Nlc3NtZW50RW5wb2ludCArICdjYXRlZ29yeS9saXN0JmlzQ3JlYXRlUmVzcG9uc2liaWxpdHk9dHJ1ZScgKyAocHJvZ3JhbV9pZHMgPyAnJnByb2dyYW1faWRzPScgKyBwcm9ncmFtX2lkcyA6ICcnKSwgcGF5bG9hZCwgeyBoZWFkZXJzIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXNzZXNzbWVudExpc3QocGF5bG9hZDogYW55LCBpZDogc3RyaW5nLCBwcm9ncmFtX2lkcz86IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBcnJheTxBc3Nlc3NtZW50TGlzdD4+KHRoaXMuZW52LmFzc2Vzc21lbnRFbnBvaW50ICsgJ2Fzc2Vzc21lbnQvc2VsZWN0QXNzZXNzbWVudCZpc0NyZWF0ZVJlc3BvbnNpYmlsaXR5PXRydWUmY2F0aWQ9JyArIGlkICsgKHByb2dyYW1faWRzID8gJyZwcm9ncmFtX2lkcz0nICsgcHJvZ3JhbV9pZHMgOiAnJyksIHBheWxvYWQsIHsgaGVhZGVycyB9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEFzc2Vzc21lbnREZXRhaWxzQnlJRChpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFycmF5PEFzc2Vzc21lbnRMaXN0Pj4odGhpcy5lbnYuYXNzZXNzbWVudEVucG9pbnQgKyAnYXNzZXNzbWVudC9nZXRBc3Nlc3NtZW50QnlJZCZpZD0nICsgaWQsIHt9LCB7IGhlYWRlcnMgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|