vcomply-workflow-engine 2.6.45 → 2.6.46

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.
Files changed (40) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +96 -93
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +6 -6
  4. package/esm2015/lib/more-option/more-option.component.js +30 -26
  5. package/esm2015/lib/more-option/more-option.component.ngfactory.js +2 -2
  6. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +4 -4
  7. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +4 -4
  8. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +3 -3
  9. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +1 -1
  10. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +4 -4
  11. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +3 -3
  12. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +1 -1
  13. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +4 -4
  14. package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.js +2 -2
  15. package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.ngfactory.js +1 -1
  16. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +23 -23
  17. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngfactory.js +4 -4
  18. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngsummary.json +1 -1
  19. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +4 -4
  20. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +5 -5
  21. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +2 -24
  22. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +3 -3
  23. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  24. package/esm2015/lib/workflow-engine.module.ngfactory.js +3 -3
  25. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  26. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +4 -4
  27. package/esm2015/lib/workflow-program/workflow-program.component.js +22 -12
  28. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +310 -326
  29. package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +1 -1
  30. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +5 -5
  31. package/esm2015/lib/workflow-services/programs.service.js +17 -9
  32. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +4 -4
  33. package/fesm2015/vcomply-workflow-engine.js +89 -89
  34. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  35. package/lib/more-option/more-option.component.d.ts +1 -0
  36. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +0 -6
  37. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +0 -16
  38. package/lib/workflow-program/workflow-program.component.d.ts +5 -4
  39. package/package.json +2 -2
  40. 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":[]}}]}],"canFrameworkChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbol":4,"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":[]}}]}],"allowedFeature":[{"__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"}],"checkProgramOptionField":[{"__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":{"canFrameworkChange":"canFrameworkChange","mode":"mode","programId":"programId","programType":"programType","allowedFeature":"allowedFeature"},"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":[]},{"__symbol":9,"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"}],"checkProgramOptionField":[{"__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":[]}}}},{"isAttribute":false,"isHost":false,"isSelf":false,"isSkipSelf":false,"isOptional":false,"token":{"identifier":{"reference":{"__symbol":9,"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":10,"members":[]},"rendererType":{"__symbol":11,"members":[]},"componentFactory":{"__symbol":12,"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":"ChangeDetectorRef","filePath":"@angular/core"},{"__symbol":10,"name":"View_WorkflowProgramComponent_0","filePath":"./workflow-program.component.ngfactory"},{"__symbol":11,"name":"RenderType_WorkflowProgramComponent","filePath":"./workflow-program.component.ngfactory"},{"__symbol":12,"name":"WorkflowProgramComponentNgFactory","filePath":"./workflow-program.component.ngfactory"}]}
@@ -23,8 +23,8 @@ import * as i15 from "../formgroup/select/cs-select/cs-select.component";
23
23
  import * as i16 from "../formgroup/select/select.service";
24
24
  import * as i17 from "../formgroup/select/cs-select/cs-select.component.ngfactory";
25
25
  import * as i18 from "../sharedComponents/pipes/spaceTrim.pipe";
26
- import * as i19 from "../../../../../node_modules/vcomply-editor/vcomply-editor.ngfactory";
27
- import * as i20 from "vcomply-editor";
26
+ import * as i19 from "../../../../../node_modules/vcomply-editor/marx-editor.ngfactory";
27
+ import * as i20 from "marx-editor";
28
28
  import * as i21 from "../ui-kit/click-outside/click-outside.directive";
29
29
  import * as i22 from "../sharedComponents/responsibility-centers-list/responsibility-centers-list.component.ngfactory";
30
30
  import * as i23 from "../sharedComponents/responsibility-centers-list/responsibility-centers-list.component";
@@ -340,7 +340,7 @@ function View_WorkflowRiskComponent_58(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵe
340
340
  } if (("clickOutside" === en)) {
341
341
  var pd_2 = (_co.checkMitigationPlan() !== false);
342
342
  ad = (pd_2 && ad);
343
- } return ad; }, i19.View_ɵa_0, i19.RenderType_ɵa)), i2.ɵdid(19, 4898816, null, 0, i20.ɵa, [], { editorConfig: [0, "editorConfig"] }, null), i2.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i20.ɵa]), i2.ɵdid(21, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i2.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i2.ɵdid(23, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), i2.ɵdid(24, 16384, null, 0, i21.ClickOutsideDirective, [i2.ElementRef], null, { clickOutside: "clickOutside" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.scrollToBottom; _ck(_v, 1, 0, currVal_0); var currVal_2 = (i2.ɵunv(_v, 5, 0, i2.ɵnov(_v, 6).transform(_co.riskForm.mitigationDescriptionPlan)) === ""); _ck(_v, 5, 0, currVal_2); var currVal_3 = (i2.ɵunv(_v, 8, 0, i2.ɵnov(_v, 9).transform(_co.riskForm.mitigationDescriptionPlan)) !== ""); _ck(_v, 8, 0, currVal_3); var currVal_4 = "Specify the mitigation plan that can be undertaken to mitigate the risk."; var currVal_5 = "bottom"; var currVal_6 = "white"; var currVal_7 = true; _ck(_v, 16, 0, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_15 = _co.mitigationDescriptionPlan; _ck(_v, 19, 0, currVal_15); var currVal_16 = _co.riskForm.mitigationDescriptionPlan; _ck(_v, 21, 0, currVal_16); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = (i2.ɵunv(_v, 2, 0, i2.ɵnov(_v, 3).transform(_co.riskForm.mitigationDescriptionPlan)) !== ""); _ck(_v, 2, 0, currVal_1); var currVal_8 = i2.ɵnov(_v, 23).is("untouched"); var currVal_9 = i2.ɵnov(_v, 23).is("touched"); var currVal_10 = i2.ɵnov(_v, 23).is("pristine"); var currVal_11 = i2.ɵnov(_v, 23).is("dirty"); var currVal_12 = i2.ɵnov(_v, 23).is("valid"); var currVal_13 = i2.ɵnov(_v, 23).is("invalid"); var currVal_14 = i2.ɵnov(_v, 23).is("pending"); _ck(_v, 18, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); }); }
343
+ } return ad; }, i19.View_MarxEditorComponent_0, i19.RenderType_MarxEditorComponent)), i2.ɵdid(19, 4898816, null, 0, i20.MarxEditorComponent, [], { editorConfig: [0, "editorConfig"] }, null), i2.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i20.MarxEditorComponent]), i2.ɵdid(21, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i2.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i2.ɵdid(23, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), i2.ɵdid(24, 16384, null, 0, i21.ClickOutsideDirective, [i2.ElementRef], null, { clickOutside: "clickOutside" })], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.scrollToBottom; _ck(_v, 1, 0, currVal_0); var currVal_2 = (i2.ɵunv(_v, 5, 0, i2.ɵnov(_v, 6).transform(_co.riskForm.mitigationDescriptionPlan)) === ""); _ck(_v, 5, 0, currVal_2); var currVal_3 = (i2.ɵunv(_v, 8, 0, i2.ɵnov(_v, 9).transform(_co.riskForm.mitigationDescriptionPlan)) !== ""); _ck(_v, 8, 0, currVal_3); var currVal_4 = "Specify the mitigation plan that can be undertaken to mitigate the risk."; var currVal_5 = "bottom"; var currVal_6 = "white"; var currVal_7 = true; _ck(_v, 16, 0, currVal_4, currVal_5, currVal_6, currVal_7); var currVal_15 = _co.mitigationDescriptionPlan; _ck(_v, 19, 0, currVal_15); var currVal_16 = _co.riskForm.mitigationDescriptionPlan; _ck(_v, 21, 0, currVal_16); }, function (_ck, _v) { var _co = _v.component; var currVal_1 = (i2.ɵunv(_v, 2, 0, i2.ɵnov(_v, 3).transform(_co.riskForm.mitigationDescriptionPlan)) !== ""); _ck(_v, 2, 0, currVal_1); var currVal_8 = i2.ɵnov(_v, 23).is("untouched"); var currVal_9 = i2.ɵnov(_v, 23).is("touched"); var currVal_10 = i2.ɵnov(_v, 23).is("pristine"); var currVal_11 = i2.ɵnov(_v, 23).is("dirty"); var currVal_12 = i2.ɵnov(_v, 23).is("valid"); var currVal_13 = i2.ɵnov(_v, 23).is("invalid"); var currVal_14 = i2.ɵnov(_v, 23).is("pending"); _ck(_v, 18, 0, currVal_8, currVal_9, currVal_10, currVal_11, currVal_12, currVal_13, currVal_14); }); }
344
344
  function View_WorkflowRiskComponent_1(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 137, "div", [["class", "workflw-risk"]], null, null, null, null, null)), (_l()(), i2.ɵeld(1, 0, null, null, 27, "div", [["class", "form-group-row"]], [[2, "active", null], [2, "disabled", null]], null, null, null, null)), (_l()(), i2.ɵeld(2, 0, null, null, 4, "div", [["class", "left"]], [[2, "checked", null]], null, null, null, null)), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_2)), i2.ɵdid(4, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_3)), i2.ɵdid(6, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵeld(7, 0, null, null, 21, "div", [["class", "right"]], null, null, null, null, null)), (_l()(), i2.ɵeld(8, 0, null, null, 20, "div", [["class", "vx-form-group"]], null, null, null, null, null)), (_l()(), i2.ɵeld(9, 0, null, null, 3, "label", [["class", "vx-control-panel"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["Risk Type "])), (_l()(), i2.ɵeld(11, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["*"])), (_l()(), i2.ɵeld(13, 0, null, null, 13, "div", [["class", "risk-type-field"]], null, null, null, null, null)), (_l()(), i2.ɵeld(14, 0, null, null, 5, "div", [["class", "type-item"]], [[2, "active", null]], null, null, null, null)), (_l()(), i2.ɵeld(15, 0, null, null, 1, "button", [], [[2, "disabled", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
345
345
  var pd_0 = (_co.changeRisk("NORMAL") !== false);
346
346
  ad = (pd_0 && ad);
@@ -386,7 +386,7 @@ function View_WorkflowRiskComponent_1(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵel
386
386
  } if (("clickOutside" === en)) {
387
387
  var pd_2 = (_co.checkDescription() !== false);
388
388
  ad = (pd_2 && ad);
389
- } return ad; }, i19.View_ɵa_0, i19.RenderType_ɵa)), i2.ɵdid(48, 4898816, null, 0, i20.ɵa, [], { editorConfig: [0, "editorConfig"] }, null), i2.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i20.ɵa]), i2.ɵdid(50, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i2.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i2.ɵdid(52, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), i2.ɵdid(53, 16384, null, 0, i21.ClickOutsideDirective, [i2.ElementRef], null, { clickOutside: "clickOutside" }), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_10)), i2.ɵdid(55, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵeld(56, 0, null, null, 27, "div", [["class", "form-group-row"]], [[2, "active", null], [2, "disabled", null]], null, null, null, null)), (_l()(), i2.ɵeld(57, 0, null, null, 4, "div", [["class", "left"]], [[2, "checked", null]], null, null, null, null)), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_11)), i2.ɵdid(59, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_12)), i2.ɵdid(61, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵeld(62, 0, null, null, 21, "div", [["class", "right"]], null, null, null, null, null)), (_l()(), i2.ɵeld(63, 0, null, null, 20, "div", [["class", "vx-form-group"]], null, null, null, null, null)), (_l()(), i2.ɵeld(64, 0, null, null, 6, "label", [["class", "vx-control-panel"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["Responsibility Center "])), (_l()(), i2.ɵeld(66, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["*"])), (_l()(), i2.ɵeld(68, 0, null, null, 2, "i", [["class", "icons"], ["delay", "0"], ["placement", "bottom"], ["type", "white"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
389
+ } return ad; }, i19.View_MarxEditorComponent_0, i19.RenderType_MarxEditorComponent)), i2.ɵdid(48, 4898816, null, 0, i20.MarxEditorComponent, [], { editorConfig: [0, "editorConfig"] }, null), i2.ɵprd(1024, null, i3.NG_VALUE_ACCESSOR, function (p0_0) { return [p0_0]; }, [i20.MarxEditorComponent]), i2.ɵdid(50, 671744, null, 0, i3.NgModel, [[8, null], [8, null], [8, null], [6, i3.NG_VALUE_ACCESSOR]], { model: [0, "model"] }, { update: "ngModelChange" }), i2.ɵprd(2048, null, i3.NgControl, null, [i3.NgModel]), i2.ɵdid(52, 16384, null, 0, i3.NgControlStatus, [[4, i3.NgControl]], null, null), i2.ɵdid(53, 16384, null, 0, i21.ClickOutsideDirective, [i2.ElementRef], null, { clickOutside: "clickOutside" }), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_10)), i2.ɵdid(55, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵeld(56, 0, null, null, 27, "div", [["class", "form-group-row"]], [[2, "active", null], [2, "disabled", null]], null, null, null, null)), (_l()(), i2.ɵeld(57, 0, null, null, 4, "div", [["class", "left"]], [[2, "checked", null]], null, null, null, null)), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_11)), i2.ɵdid(59, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵand(16777216, null, null, 1, null, View_WorkflowRiskComponent_12)), i2.ɵdid(61, 16384, null, 0, i7.NgIf, [i2.ViewContainerRef, i2.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i2.ɵeld(62, 0, null, null, 21, "div", [["class", "right"]], null, null, null, null, null)), (_l()(), i2.ɵeld(63, 0, null, null, 20, "div", [["class", "vx-form-group"]], null, null, null, null, null)), (_l()(), i2.ɵeld(64, 0, null, null, 6, "label", [["class", "vx-control-panel"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["Responsibility Center "])), (_l()(), i2.ɵeld(66, 0, null, null, 1, "span", [["class", "required"]], null, null, null, null, null)), (_l()(), i2.ɵted(-1, null, ["*"])), (_l()(), i2.ɵeld(68, 0, null, null, 2, "i", [["class", "icons"], ["delay", "0"], ["placement", "bottom"], ["type", "white"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
390
390
  var pd_0 = (i2.ɵnov(_v, 69).onMouseEnter() !== false);
391
391
  ad = (pd_0 && ad);
392
392
  } if (("mouseover" === en)) {
@@ -481,4 +481,4 @@ export function View_WorkflowRiskComponent_0(_l) { return i2.ɵvid(0, [i2.ɵpid(
481
481
  export function View_WorkflowRiskComponent_Host_0(_l) { return i2.ɵvid(0, [(_l()(), i2.ɵeld(0, 0, null, null, 1, "app-workflow-risk", [], null, null, null, View_WorkflowRiskComponent_0, RenderType_WorkflowRiskComponent)), i2.ɵdid(1, 114688, null, 0, i32.WorkflowRiskComponent, [i33.AddRiskService, i34.AuthService, i35.UiKitService, i36.SnackBarService, [2, i37.Configurations]], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
482
482
  var WorkflowRiskComponentNgFactory = i2.ɵccf("app-workflow-risk", i32.WorkflowRiskComponent, View_WorkflowRiskComponent_Host_0, { mode: "mode", riskId: "riskId", defaultRiskType: "defaultRiskType", moveToRegisterMode: "moveToRegisterMode", secondaryOpenPortal: "secondaryOpenPortal", openedFrom: "openedFrom" }, { showConfirmationAlert: "showConfirmationAlert", pickerChanged: "pickerChanged", populateOption: "populateOption", closeWorkflow: "closeWorkflow", disconnectRefresh: "disconnectRefresh", refreshForm: "refreshForm", hideElementsFromMoreOptions: "hideElementsFromMoreOptions" }, []);
483
483
  export { WorkflowRiskComponentNgFactory as WorkflowRiskComponentNgFactory };
484
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmlzay5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1yaXNrL3dvcmtmbG93LXJpc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0VDS1ksaUxBQTZHO2dFQUU3RywwS0FJTSxLQUZGLDZLQUF1RSxLQUN2RSx3S0FBOEU7Z0VBaUI5RSxvR0FBMEQsS0FBbkIsNENBQWU7Z0VBUTFELGlMQUEySztnRUFFM0ssMEtBSU0sS0FGRiw2S0FBdUUsS0FDdkUsd0tBQThFO2dFQU05RTs7Ozs7Ozs7Ozs7Ozs7d0JBRW9HO01BRnZFOzt3QkFBbUM7TUFBQzs7d0JBQXlDO01BQ3RHOzt3QkFBMkM7TUFBQzs7d0JBQTRCO01BRDVFLDRtQkFFb0csaURBRHBELG1CQUE0QixpQkFENUUsWUFFb0csRUFEcEQsU0FBNEIsMkJBRDVFLDBaQUVvRztnRUFDcEcsaUdBTU0sS0FMRix1R0FFTSxLQURGLCtGQUE2QyxLQUF6QixnQ0FBa0IsTUFFMUMsd0tBQ2dELFlBRDNCOzt3QkFBdUM7TUFBNUQsd0JBQ2dELEtBRDJCLDRGQUN6QyxLQUFaLG1DQUFRLE1BQUksa0NBQUsseURBSGYsMkRBQWtCO2dFQUs5QyxvR0FBbUYsS0FBbkIsNENBQWU7aUVBRS9FLG9HQUFvSixLQUExQixtREFBc0I7aUVBUXBKLGdNQUM4RztpRUFFOUcsMEtBSU0sS0FGRiw2S0FBdUUsS0FDdkUsd0tBQThFO2lFQVc5RSwrRkFHTSxLQUZGLHdOQUMy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RixJQUV2RixzTEFFbUYsSUFDbkYsdUxBSWlCLElBQ2pCLHVMQUFzRCxJQUlsRCx1TEFNMkIsaURBN1pMLG9CQUFtQixhQUE3QyxZQStYTSxFQS9Yb0IsU0FBbUIsR0FnWVosNENBQStCLEdBQWhFLFlBSWtDLEVBSkQsU0FBK0IsR0FNaEQsK0NBQWtDLEdBQWxELFlBR3VGLEVBSHZFLFNBQWtDLEdBSy9CLGtEQUFxQyxHQUF4RCxZQUVtRixFQUZoRSxTQUFxQyxHQUd4QyxrREFBcUMsR0FBckQsYUFJaUIsRUFKRCxTQUFxQyxHQUtsQyxtQkFBYyxTQUFqQyxhQUFzRCxFQUFuQyxTQUFjLEdBS3pCLG1CQUFrQixhQUR0QixhQU0yQixFQUx2QixTQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmx3LXJpc2tcIiAqbmdJZj1cIiFzaG93U21pbGV5XCI+XHJcbiAgICA8IS0tIFJpc2sgVHlwZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmdcIiBhbHQ9XCJpbVwiICpuZ0lmPVwidHJ1ZVwiPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJjaGVja0ljb25cIlxyXG4gICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCIgZmlsbD1cIm5vbmVcIiBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJpc2sgVHlwZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpc2stdHlwZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInJpc2tGb3JtPy5yaXNrVHlwZSA9PT0gJ05PUk1BTCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGlzYWJsZWRdPVwiIXJpc2tUeXBlQ2hhbmdlQWxsb3dlZFwiIChjbGljayk9XCJjaGFuZ2VSaXNrKCdOT1JNQUwnKVwiPkFERCBUTyBSSVNLIFJFR0lTVEVSPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgaW5mb1wiIFthcHBUb29sdGlwXT1cIidUaGlzIG9wdGlvbiBsZXRzIHlvdSBhZGQgYSByaXNrIGRpcmVjdGx5IHRvIHRoZSBSaXNrIFJlZ2lzdGVyLiBUaGUgcmlzayBvd25lcnMgd2lsbCByZWNlaXZlIGFuIGFsZXJ0IGFuZCB0aGV5IGNhbiBiZWdpbiB0aGUgdGhlIHJpc2sgYXNzZXNzbWVudCBwcm9jZXNzLidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGUtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicmlza0Zvcm0/LnJpc2tUeXBlID09PSAnUkVQT1JURUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmRpc2FibGVkXT1cIiFyaXNrVHlwZUNoYW5nZUFsbG93ZWRcIiAoY2xpY2spPVwiY2hhbmdlUmlzaygnUkVQT1JURUQnKVwiPlJFUE9SVCBBIFJJU0s8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBpbmZvXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgb3B0aW9ucyBsZXRzIHlvdSByZXBvcnQgYSByaXNrIGFuZCBhc3NpZ24gaXQgdG8gdGhlIHJpc2sgb3duZXJzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBoYXZlIHRoZSBvcHRpb24gdG8gZWl0aGVyIGFkZCB0aGUgcmlzayB0byB0aGUgUmlzayBSZWdpc3RlciBvciBmbGFnIGl0IGZvciBhIGZvbGxvdy11cCBhdCBhIGxhdGVyIGRhdGUuJ1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhY2tncm91bmQtZ2xpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayB0eXBlPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBSaXNrIE5hbWUgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnbmFtZScgICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0udGl0bGVcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmdcIiBhbHQ9XCJpbVwiICpuZ0lmPVwicmlza0Zvcm0/LnRpdGxlPy50cmltKCk/Lmxlbmd0aCA9PT0gMCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ25hbWUnXCI+XHJcblxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwicmlza0Zvcm0/LnRpdGxlPy50cmltKCk/Lmxlbmd0aCA+IDAgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICduYW1lJ1wiIGNsYXNzPVwiY2hlY2tJY29uXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SaXNrIE5hbWUgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBzcGFjZVRyaW0gdHlwZT1cInRleHRcIiAoa2V5ZG93bik9XCJhY3RpdmVTZWxlY3RvciA9ICduYW1lJ1wiIChmb2N1c2luKT1cImFjdGl2YXRlU2VsZWN0b3IoJ25hbWUnLHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiYWN0aXZhdGVTZWxlY3RvcignbmFtZScsZmFsc2UpXCIgWyhuZ01vZGVsKV09XCJyaXNrRm9ybS50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgYSByaXNrIG5hbWVcIiAqbmdJZj1cInJpc2tGb3JtPy50aXRsZT8udHJpbSgpID09JycgfHwgYWN0aXZlU2VsZWN0b3IgPT09ICduYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8udGl0bGU/LnRyaW0oKSE9ICcnICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnbmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7cmlza0Zvcm0udGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdFwiIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCduYW1lJyx0cnVlKVwiIHR5cGU9XCJidXR0b25cIj48aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPiBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwic3VibWl0dGVkICYmICghcmlza0Zvcm0udGl0bGUpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayBuYW1lPC9wPlxyXG4gICAgICAgICAgICAgICAgPG1hcngtZWRpdG9yIFsobmdNb2RlbCldPVwicmlza0Zvcm0uZGVzY3JpcHRpb25cIiBbZWRpdG9yQ29uZmlnXT1cImRlc2NyaXB0aW9uXCIgKGNsaWNrT3V0c2lkZSk9XCJjaGVja0Rlc2NyaXB0aW9uKClcIj48L21hcngtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgKHJpc2tGb3JtLnJpc2tUeXBlID09PSdSRVBPUlRFRCcgJiYgIXJpc2tGb3JtPy5kZXNjcmlwdGlvbj8udHJpbSgpPy5sZW5ndGgpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayBkZXNjcmlwdGlvbjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gUmVzcG9uc2liaWxpdHkgQ2VudGVyIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiXHJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiBhY3RpdmVTZWxlY3RvciAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ3JjJyAmJiBzaWRlU2VsZWN0b3JFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVTZWxlY3RvcilcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVzcG9uc2liaWxpdHktY2VudGVyLnN2Z1wiIGFsdD1cIlwiPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg+MCAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ3JjJ1wiIGNsYXNzPVwiY2hlY2tJY29uXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SZXNwb25zaWJpbGl0eSBDZW50ZXIgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB0aGUgY29ycG9yYXRlIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZSBvZiBhbiBvcmdhbml6YXRpb24uIE9uZSBvciBtb3JlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgY2FuIGJlIGV4cG9zZWQgdG8gYSByaXNrIGFuZCBhY2NvcmRpbmdseSwgdGhlIHJpc2sgbXVzdCBiZSBhc3Nlc3NlZCBhZ2FpbnN0IGVhY2ggUmVzcG9uc2liaWxpdHkgQ2VudGVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD09MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdyYycsdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIocylcIiByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8ubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIiBbY2xhc3MubW9yZS1vbmVdPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD4xXCIgW2NsYXNzLnBsdXNdPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD4yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiICpuZ0Zvcj1cImxldCByY05hbWUgb2Ygcmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/LnNsaWNlKDAsMilcIj48aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwicmVtb3ZlKCdyYycscmNOYW1lKVwiPiYjeGU5MGQ7PC9pPiB7e3JjTmFtZS5pdGVtX25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvdW50XCIgKm5nSWY9XCJyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8ubGVuZ3RoID4gMlwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlciAoY2xpY2spPVwicG9wb3ZlclJDLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cInJpZ2h0XCI+K1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8uc2xpY2UoMikubGVuZ3RofX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yICE9PSAncmMnXCIgY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdyYycsdHJ1ZSlcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgKHJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg9PTApXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QXNzaWduXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcyByaXNrIHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyKHMpPC9wPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwb3BvdmVyUkMgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY05hbWUgb2Ygcmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgfCBzbGljZTogMjsgbGV0IGogPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZSgncmMnLHJjTmFtZSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJjTmFtZS5pdGVtX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJJU0sgT1dORVIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVNlbGVjdG9yID09PSAnb3duZXInXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnb3duZXInICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoID09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ293bmVyJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvaW0tY3JlYXRpbmcuc3ZnXCIgYWx0PVwiXCIgLz5cclxuXHJcbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjAgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdvd25lcidcIiBjbGFzcz1cImNoZWNrSWNvblwiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UklTSyBPV05FUiA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgaXMgdGhlIHBlcnNvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcmlzay4nXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MWY7PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIiAqbmdJZj1cInJpc2tGb3JtPy5vd25lcnNMaXN0Py5sZW5ndGggPT0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ293bmVyJyx0cnVlKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJpc2sgT3duZXIocylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInJpc2tGb3JtPy5vd25lcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiIFtjbGFzcy5tb3JlLW9uZV09XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjFcIiBbY2xhc3MucGx1c109XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmlza0Zvcm0/Lm93bmVyc0xpc3R8c2hvcnRNZXJnZSA6IG5vblJlbW92YWJsZVVzZXJzTGlzdCkgYXMgb3duZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiICpuZ0Zvcj1cImxldCBvd25lciBvZiBvd25lckxpc3Q/LnNsaWNlKDAsMilcIj48aSBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhvd25lcj8ubWVtYmVyX2lkKVwiIChjbGljayk9XCJyZW1vdmUoJ293bmVyJyxvd25lcilcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b3duZXI/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3VudFwiICpuZ0lmPVwicmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aCA+IDJcIiB0eXBlPVwiYnV0dG9uXCIgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXJPd25lci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPitcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmlza0Zvcm0/Lm93bmVyc0xpc3Q/LnNsaWNlKDIpLmxlbmd0aH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgIT09ICdvd25lcidcIiBjbGFzcz1cImVkaXRcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ293bmVyJyx0cnVlKVwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInN1Ym1pdHRlZCAmJiAocmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aD09PTApXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+U2VsZWN0IE93bmVyKHMpIGZvciB0aGlzIHJpc2suPC9wPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwb3BvdmVyT3duZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihyaXNrRm9ybT8ub3duZXJzTGlzdHxzaG9ydE1lcmdlIDogbm9uUmVtb3ZhYmxlVXNlcnNMaXN0KSBhcyBvd25lclBvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBvd25lciBvZiBvd25lclBvcCB8IHNsaWNlOiAyOyBsZXQgaiA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmID0gXCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKG93bmVyPy5tZW1iZXJfaWQpXCIgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJyZW1vdmUoJ293bmVyJyxvd25lcilcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG93bmVyLm1lbWJlcl9uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgQ2F0ZWdvcnkgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhcmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5IHx8IGFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmdcIiBhbHQ9XCJcIiAvPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImNoZWNrSWNvblwiICpuZ0lmPVwicmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5ICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SaXNrIENhdGVnb3J5XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidSaXNrIENhdGVnb3JpZXMgYXJlIHVzZWQgdG8gZ3JvdXAgc2ltaWxhciByaXNrcy4nXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MWY7PC9pPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCIgKm5nSWY9XCIhcmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ2NhdGVnb3J5Jyx0cnVlKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJpc2sgQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8uY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCI+PGkgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgnY2F0ZWdvcnknLHJpc2tGb3JtLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkpXCI+JiN4ZTkwZDs8L2k+e3tyaXNrRm9ybT8uY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknXCIgY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdjYXRlZ29yeScsdHJ1ZSlcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJpc2tGb3JtPy5jYXRlZ29yeUN1c3RvbVRhZ3M/Lmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCB0YWcgb2Ygcmlza0Zvcm0uY2F0ZWdvcnlDdXN0b21UYWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7dGFnLmN1c3RvbV90YWdfbmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInRhZy5jdXN0b21fdGFnX3ZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cInRhZy5jdXN0b21fdGFnX25hbWVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gQXNzZXNzbWVudCBEZWFkbGluZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdhc3Nlc3NtZW50J1wiIGlkPVwiZGVhZGxpbmVcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIgYWN0aXZlU2VsZWN0b3IgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdhc3Nlc3NtZW50JyAgJiYgc2lkZVNlbGVjdG9yRWxlbWVudHMuaW5jbHVkZXMoYWN0aXZlU2VsZWN0b3IpXCJcclxuICAgICAgICAqbmdJZj1cIiFzZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlICYmIHJpc2tGb3JtPy5yaXNrVHlwZSAhPT0gJ1JFUE9SVEVEJyAmJiAoKGN1cnJlbnRUaW1lU3RhbXAgPCBlZGl0RGV0YWlscz8uYXNzZXNzbWVudF9kYXRlX3RpbWVzdGFtcCkgfHwgIWVkaXREZXRhaWxzPy5JZkFzc2Vzc21lbnREb25lIClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTFcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hlbi5zdmdcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyaXNrRm9ybT8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzPDEgfHwgYWN0aXZlU2VsZWN0b3IgPT09ICdhc3Nlc3NtZW50J1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiAqbmdJZj1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTEgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdhc3Nlc3NtZW50J1wiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+QXNzZXNzbWVudCBEZWFkbGluZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgaXMgdGhlIGRhdGUgdGhhdCB0aGUgaW5oZXJlbnQgcmlzayBhc3Nlc3NtZW50IG11c3QgYmUgY29tcGxldGVkIGJ5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPlNldCBOdW1iZXIgb2YgZGF5czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgY291bnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VSaXNrQXNzZXNzbWVudCgnc3VidHJhY3QnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhNTM7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJpc2tGb3JtLmFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNpbik9XCJhY3RpdmF0ZVNlbGVjdG9yKCdhc3Nlc3NtZW50Jyx0cnVlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiYWN0aXZhdGVTZWxlY3RvcignYXNzZXNzbWVudCcsZmFsc2UpXCIgbmFtZT1cInJpc2tBc3Nlc3NtZW50RGVhZGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBc3Nlc3NtZW50ICNkZWFkbGluZT1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUmlza0Fzc2Vzc21lbnREZWFkbGluZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VSaXNrQXNzZXNzbWVudCgnYWRkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTE1OzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwic3VibWl0dGVkICYmIChyaXNrRm9ybT8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzPDEpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWx1ZSBncmVhdGVyIHRoYW4gMC5cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTFcIj5cclxuICAgICAgICAgICAgICAgICAgICBUaGlzIHJpc2sgYXNzZXNzbWVudCBuZWVkcyB0byBiZSBjb21wbGV0ZWQgYnkge3sgZGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgT3ZlcnNlZXIgLS0+XHJcbiAgICA8ZGl2IFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVTZWxlY3RvciA9PT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiBhY3RpdmVTZWxlY3RvciAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJyAmJiBzaWRlU2VsZWN0b3JFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVTZWxlY3RvcilcIlxyXG4gICAgICAgICpuZ0lmPVwicmlza0Zvcm0uYWRkT3ZlcnNlZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/Lmxlbmd0aD09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MCAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBPdmVyc2VlcjxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInVGhpcyBpcyB0aGUgcGVyc29uIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIG92ZXJzZWVpbmcgdGhlIHJpc2sgYnV0IHdobyBpcyBub3QgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSByaXNrLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg9PTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcignb3ZlcnNlZXInLHRydWUpXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgUmlzayBPdmVyc2VlcihzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiIFtjbGFzcy5tb3JlLW9uZV09XCJyaXNrRm9ybT8ub3ZlcnNlZXJzTGlzdD8ubGVuZ3RoPjFcIiBbY2xhc3MucGx1c109XCJyaXNrRm9ybT8ub3ZlcnNlZXJzTGlzdD8ubGVuZ3RoPjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCIgKm5nRm9yPVwibGV0IG93bmVyIG9mIHJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5zbGljZSgwLDIpXCI+PGkgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgnb3ZlcnNlZXInLG93bmVyKVwiPiYjeGU5MGQ7PC9pPiB7e293bmVyLm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3VudFwiICpuZ0lmPVwicmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/Lmxlbmd0aCA+IDJcIiB0eXBlPVwiYnV0dG9uXCIgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXJPdmVyc2Vlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPitcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/LnNsaWNlKDIpLmxlbmd0aH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJ1wiIGNsYXNzPVwiZWRpdFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcignb3ZlcnNlZXInLHRydWUpXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcG9wb3Zlck92ZXJzZWVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgb3duZXIgb2Ygcmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3QgfCBzbGljZTogMjsgbGV0IGogPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZSgnb3ZlcnNlZXInLG93bmVyKVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3duZXIubWVtYmVyX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgTWl0aWdhdGlvbiBQcmlvcml0eSAtLT5cclxuICAgIDxkaXYgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aXZlU2VsZWN0b3IgJiYgc2lkZVNlbGVjdG9yRWxlbWVudHMuaW5jbHVkZXMoYWN0aXZlU2VsZWN0b3IpXCJcclxuICAgICAgICAqbmdJZj1cInJpc2tGb3JtLmFkZE1pdGlnYXRpb25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtLm1pdGlnYXRpb25cIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnXCIgKm5nSWY9XCIhcmlza0Zvcm0ubWl0aWdhdGlvblwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwhLS0gPHN2ZyB2aWV3Qm94PVwiMjUgMjUgNTAgNTBcIiBjbGFzcz1cImVkaXQtbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjMWU1ZGQzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIGNsYXNzPVwibG9hZGVyLXBhdGhcIj48L2NpcmNsZT5cclxuICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2hlY2tJY29uXCIgKm5nSWY9XCJyaXNrRm9ybS5taXRpZ2F0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCIgZmlsbD1cIm5vbmVcIiBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJpc2sgTWl0aWdhdGlvbiBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInVGhpcyBzZXRzIHRoZSBwcmlvcml0eSBsZXZlbCBmb3IgdGhlIG1pdGlnYXRpb24gb2YgZWFjaCByaXNrLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICA8Y3Mtc2VsZWN0IFsobmdNb2RlbCldPVwicmlza0Zvcm0ubWl0aWdhdGlvblwiIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IGEgbWl0aWdhdGlvbiBwcmlvcml0eSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJyaXNrRm9ybS5taXRpZ2F0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBtaXRpZ2F0aW9uRGV0YWlsc1wiIFt2YWx1ZV09XCJkYXRhPy5taXRpZ2F0aW9uX2lkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImRhdGE/Lm1pdGlnYXRpb25fY29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YS5taXRpZ2F0aW9uX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2NzLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvY3Mtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW4gLS0+XHJcbiAgICA8ZGl2IFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgKm5nSWY9XCJyaXNrRm9ybT8uYWRkTWl0aWdhdGlvblBsYW5cIj5cclxuICAgICAgICAgIDxkaXYgaWQ9XCJyaXNrU3BhY2VcIiBjbGFzcz1cImxlZnRcIiBbY2xhc3MuY2hlY2tlZF09XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgPT09JydcIlxyXG4gICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgIT09ICcnXCIgY2xhc3M9XCJjaGVja0ljb25cIiBcclxuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJlY29tbWVuZGVkIE1pdGlnYXRpb24gUGxhbnM8bGluayByZWw9XCJtYW5pZmVzdFwiIGhyZWY9XCIuL21hbmlmZXN0Lmpzb25cIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU3BlY2lmeSB0aGUgbWl0aWdhdGlvbiBwbGFuIHRoYXQgY2FuIGJlIHVuZGVydGFrZW4gdG8gbWl0aWdhdGUgdGhlIHJpc2suJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTFmOzwvaT5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxtYXJ4LWVkaXRvciBbKG5nTW9kZWwpXT1cInJpc2tGb3JtLm1pdGlnYXRpb25EZXNjcmlwdGlvblBsYW5cIlxyXG4gICAgICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCJtaXRpZ2F0aW9uRGVzY3JpcHRpb25QbGFuXCIgKGNsaWNrT3V0c2lkZSk9XCJjaGVja01pdGlnYXRpb25QbGFuKClcIj5cclxuICAgICAgICAgICAgICA8L21hcngtZWRpdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGFwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QgKm5nSWY9XCJhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiIFtyZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XT1cInJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcIlxyXG4gICAgW3NlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzXT1cInJpc2tGb3JtLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcIiBbcmNJZEtleV09XCIncmNfaWQnXCJcclxuICAgIChzYXZlU2VsZWN0ZWRMaXN0KT1cInNhdmVTZWxlY3RlZFJDTGlzdCgkZXZlbnQpXCIgKGNsb3NlUmNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoJ3JjJyxmYWxzZSlcIlxyXG4gICAgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHNlbGVjdGVkJ1wiID5cclxuPC9hcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0PlxyXG5cclxuPGFwcC1vd25lci1saXN0ICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdvd25lcidcIiBbdXNlcnNMaXN0XT1cIm93bmVyc0xpc3RcIiBbc2VsZWN0ZWRVc2Vyc109XCJyaXNrRm9ybS5vd25lcnNMaXN0XCJcclxuICAgIFt1c2VySWRLZXldPVwiJ21lbWJlcl9pZCdcIiBbaXRlbUVtYWlsS2V5XT1cIidtZW1iZXJfZW1haWwnXCIgW2l0ZW1OYW1lS2V5XT1cIidtZW1iZXJfbmFtZSdcIiAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRPd25lcnNMaXN0KCRldmVudClcIlxyXG4gICAgW25vblJlbW92YWJsZVVzZXJzTGlzdF09XCJub25SZW1vdmFibGVVc2Vyc0xpc3RcIiAoY2xvc2VVc2Vyc0xpc3QpPVwiYWN0aXZhdGVTZWxlY3Rvcignb3duZXInLGZhbHNlKVwiXHJcbiAgICBbc2luZ3VsYXJUZXh0XT1cIidVc2VyIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidVc2VycyBzZWxlY3RlZCdcIiA+PC9hcHAtb3duZXItbGlzdD5cclxuXHJcbjxhcHAtY2F0ZWdvcnktbGlzdCAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCIgW2NhdGVnb3J5TGlzdF09XCJjYXRlZ29yeUxpc3RcIlxyXG4gICAgW3NlbGVjdGVkQ2F0ZWdvcnldPVwicmlza0Zvcm0uY2F0ZWdvcnlcIiAoc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnkoJGV2ZW50KVwiXHJcbiAgICAoY2xvc2VDYXRlZ29yaWVzTGlzdCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdjYXRlZ29yeScsZmFsc2UpXCI+PC9hcHAtY2F0ZWdvcnktbGlzdD5cclxuPGFwcC1vd25lci1saXN0ICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdvdmVyc2VlcidcIiBbdXNlcnNMaXN0XT1cIm92ZXJzZWVyc0xpc3RcIlxyXG4gICAgW3NlbGVjdGVkVXNlcnNdPVwicmlza0Zvcm0ub3ZlcnNlZXJzTGlzdFwiIFt1c2VySWRLZXldPVwiJ21lbWJlcl9pZCdcIiBbaXRlbU5hbWVLZXldPVwiJ21lbWJlcl9uYW1lJ1wiIFtpdGVtRW1haWxLZXldPVwiJ21lbWJlcl9lbWFpbCdcIlxyXG4gICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkT3ZlcnNlZXJzTGlzdCgkZXZlbnQpXCIgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoJ292ZXJzZWVyJyxmYWxzZSlcIlxyXG4gICAgW3Npbmd1bGFyVGV4dF09XCInVXNlciBzZWxlY3RlZCdcIiBbcGx1cmFsVGV4dF09XCInVXNlcnMgc2VsZWN0ZWQnXCIgPlxyXG48L2FwcC1vd25lci1saXN0PlxyXG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG48IS0tIDxhcHAtc21pbGV5LWRpYWxvZyAqbmdJZj1cInNob3dTbWlsZXlcIiBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCIgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiXHJcbiAgICAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCIgKGNsb3NlU21pbGV5KT1cImNsb3NlU21pbGV5KCRldmVudClcIj48L2FwcC1zbWlsZXktZGlhbG9nPiAtLT5cclxuXHJcbiAgICA8YXBwLXNtaWxleS1kaWFsb2ctaW5saW5lXHJcbiAgICAgICAgKm5nSWY9XCJzaG93U21pbGV5XCJcclxuICAgICAgICBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCJcclxuICAgICAgICBbYWN0aW9uQnV0dG9uc109XCJhY3Rpb25CdXR0b25zXCJcclxuICAgICAgICAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiPlxyXG4gICAgPC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XHJcbiJdfQ==
484
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmlzay5jb21wb25lbnQubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3ctcmlzay93b3JrZmxvdy1yaXNrLmNvbXBvbmVudC5uZ2ZhY3RvcnkudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1yaXNrL3dvcmtmbG93LXJpc2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0VDS1ksaUxBQTZHO2dFQUU3RywwS0FJTSxLQUZGLDZLQUF1RSxLQUN2RSx3S0FBOEU7Z0VBaUI5RSxvR0FBMEQsS0FBbkIsNENBQWU7Z0VBUTFELGlMQUEySztnRUFFM0ssMEtBSU0sS0FGRiw2S0FBdUUsS0FDdkUsd0tBQThFO2dFQU05RTs7Ozs7Ozs7Ozs7Ozs7d0JBRW9HO01BRnZFOzt3QkFBbUM7TUFBQzs7d0JBQXlDO01BQ3RHOzt3QkFBMkM7TUFBQzs7d0JBQTRCO01BRDVFLDRtQkFFb0csaURBRHBELG1CQUE0QixpQkFENUUsWUFFb0csRUFEcEQsU0FBNEIsMkJBRDVFLDBaQUVvRztnRUFDcEcsaUdBTU0sS0FMRix1R0FFTSxLQURGLCtGQUE2QyxLQUF6QixnQ0FBa0IsTUFFMUMsd0tBQ2dELFlBRDNCOzt3QkFBdUM7TUFBNUQsd0JBQ2dELEtBRDJCLDRGQUN6QyxLQUFaLG1DQUFRLE1BQUksa0NBQUsseURBSGYsMkRBQWtCO2dFQUs5QyxvR0FBbUYsS0FBbkIsNENBQWU7aUVBRS9FLG9HQUFvSixLQUExQixtREFBc0I7aUVBUXBKLGdNQUM4RztpRUFFOUcsMEtBSU0sS0FGRiw2S0FBdUUsS0FDdkUsd0tBQThFO2lFQVc5RSwrRkFHTSxLQUZGLHdOQUMy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RixJQUV2RixzTEFFbUYsSUFDbkYsdUxBSWlCLElBQ2pCLHVMQUFzRCxJQUlsRCx1TEFNMkIsaURBN1pMLG9CQUFtQixhQUE3QyxZQStYTSxFQS9Yb0IsU0FBbUIsR0FnWVosNENBQStCLEdBQWhFLFlBSWtDLEVBSkQsU0FBK0IsR0FNaEQsK0NBQWtDLEdBQWxELFlBR3VGLEVBSHZFLFNBQWtDLEdBSy9CLGtEQUFxQyxHQUF4RCxZQUVtRixFQUZoRSxTQUFxQyxHQUd4QyxrREFBcUMsR0FBckQsYUFJaUIsRUFKRCxTQUFxQyxHQUtsQyxtQkFBYyxTQUFqQyxhQUFzRCxFQUFuQyxTQUFjLEdBS3pCLG1CQUFrQixhQUR0QixhQU0yQixFQUx2QixTQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmx3LXJpc2tcIiAqbmdJZj1cIiFzaG93U21pbGV5XCI+XHJcbiAgICA8IS0tIFJpc2sgVHlwZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmdcIiBhbHQ9XCJpbVwiICpuZ0lmPVwidHJ1ZVwiPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJjaGVja0ljb25cIlxyXG4gICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCIgZmlsbD1cIm5vbmVcIiBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJpc2sgVHlwZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpc2stdHlwZS1maWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0eXBlLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInJpc2tGb3JtPy5yaXNrVHlwZSA9PT0gJ05PUk1BTCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3MuZGlzYWJsZWRdPVwiIXJpc2tUeXBlQ2hhbmdlQWxsb3dlZFwiIChjbGljayk9XCJjaGFuZ2VSaXNrKCdOT1JNQUwnKVwiPkFERCBUTyBSSVNLIFJFR0lTVEVSPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgaW5mb1wiIFthcHBUb29sdGlwXT1cIidUaGlzIG9wdGlvbiBsZXRzIHlvdSBhZGQgYSByaXNrIGRpcmVjdGx5IHRvIHRoZSBSaXNrIFJlZ2lzdGVyLiBUaGUgcmlzayBvd25lcnMgd2lsbCByZWNlaXZlIGFuIGFsZXJ0IGFuZCB0aGV5IGNhbiBiZWdpbiB0aGUgdGhlIHJpc2sgYXNzZXNzbWVudCBwcm9jZXNzLidcIiBwbGFjZW1lbnQ9XCJib3R0b20tcmlnaHRcIiBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkzMjs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR5cGUtaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicmlza0Zvcm0/LnJpc2tUeXBlID09PSAnUkVQT1JURUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gW2NsYXNzLmRpc2FibGVkXT1cIiFyaXNrVHlwZUNoYW5nZUFsbG93ZWRcIiAoY2xpY2spPVwiY2hhbmdlUmlzaygnUkVQT1JURUQnKVwiPlJFUE9SVCBBIFJJU0s8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBpbmZvXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgb3B0aW9ucyBsZXRzIHlvdSByZXBvcnQgYSByaXNrIGFuZCBhc3NpZ24gaXQgdG8gdGhlIHJpc2sgb3duZXJzLiBUaGUgcmlzayBvd25lcnMgd2lsbCBoYXZlIHRoZSBvcHRpb24gdG8gZWl0aGVyIGFkZCB0aGUgcmlzayB0byB0aGUgUmlzayBSZWdpc3RlciBvciBmbGFnIGl0IGZvciBhIGZvbGxvdy11cCBhdCBhIGxhdGVyIGRhdGUuJ1wiIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTMyOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhY2tncm91bmQtZ2xpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayB0eXBlPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBSaXNrIE5hbWUgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnbmFtZScgICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0udGl0bGVcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmdcIiBhbHQ9XCJpbVwiICpuZ0lmPVwicmlza0Zvcm0/LnRpdGxlPy50cmltKCk/Lmxlbmd0aCA9PT0gMCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ25hbWUnXCI+XHJcblxyXG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwicmlza0Zvcm0/LnRpdGxlPy50cmltKCk/Lmxlbmd0aCA+IDAgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICduYW1lJ1wiIGNsYXNzPVwiY2hlY2tJY29uXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SaXNrIE5hbWUgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBzcGFjZVRyaW0gdHlwZT1cInRleHRcIiAoa2V5ZG93bik9XCJhY3RpdmVTZWxlY3RvciA9ICduYW1lJ1wiIChmb2N1c2luKT1cImFjdGl2YXRlU2VsZWN0b3IoJ25hbWUnLHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiYWN0aXZhdGVTZWxlY3RvcignbmFtZScsZmFsc2UpXCIgWyhuZ01vZGVsKV09XCJyaXNrRm9ybS50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgYSByaXNrIG5hbWVcIiAqbmdJZj1cInJpc2tGb3JtPy50aXRsZT8udHJpbSgpID09JycgfHwgYWN0aXZlU2VsZWN0b3IgPT09ICduYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8udGl0bGU/LnRyaW0oKSE9ICcnICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnbmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7cmlza0Zvcm0udGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZWRpdFwiIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCduYW1lJyx0cnVlKVwiIHR5cGU9XCJidXR0b25cIj48aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPiBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwic3VibWl0dGVkICYmICghcmlza0Zvcm0udGl0bGUpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayBuYW1lPC9wPlxyXG4gICAgICAgICAgICAgICAgPG1hcngtZWRpdG9yIFsobmdNb2RlbCldPVwicmlza0Zvcm0uZGVzY3JpcHRpb25cIiBbZWRpdG9yQ29uZmlnXT1cImRlc2NyaXB0aW9uXCIgKGNsaWNrT3V0c2lkZSk9XCJjaGVja0Rlc2NyaXB0aW9uKClcIj48L21hcngtZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgKHJpc2tGb3JtLnJpc2tUeXBlID09PSdSRVBPUlRFRCcgJiYgIXJpc2tGb3JtPy5kZXNjcmlwdGlvbj8udHJpbSgpPy5sZW5ndGgpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QWRkIGEgcmlzayBkZXNjcmlwdGlvbjwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gUmVzcG9uc2liaWxpdHkgQ2VudGVyIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiXHJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiBhY3RpdmVTZWxlY3RvciAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ3JjJyAmJiBzaWRlU2VsZWN0b3JFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVTZWxlY3RvcilcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVzcG9uc2liaWxpdHktY2VudGVyLnN2Z1wiIGFsdD1cIlwiPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg+MCAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ3JjJ1wiIGNsYXNzPVwiY2hlY2tJY29uXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SZXNwb25zaWJpbGl0eSBDZW50ZXIgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHJlcHJlc2VudCB0aGUgY29ycG9yYXRlIGFuZCBvcGVyYXRpb25hbCBpbmZyYXN0cnVjdHVyZSBvZiBhbiBvcmdhbml6YXRpb24uIE9uZSBvciBtb3JlIFJlc3BvbnNpYmlsaXR5IENlbnRlcnMgY2FuIGJlIGV4cG9zZWQgdG8gYSByaXNrIGFuZCBhY2NvcmRpbmdseSwgdGhlIHJpc2sgbXVzdCBiZSBhc3Nlc3NlZCBhZ2FpbnN0IGVhY2ggUmVzcG9uc2liaWxpdHkgQ2VudGVyLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+XHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD09MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdyYycsdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIocylcIiByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8ubGVuZ3RoPjBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIiBbY2xhc3MubW9yZS1vbmVdPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD4xXCIgW2NsYXNzLnBsdXNdPVwicmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/Lmxlbmd0aD4yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiICpuZ0Zvcj1cImxldCByY05hbWUgb2Ygcmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q/LnNsaWNlKDAsMilcIj48aVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwicmVtb3ZlKCdyYycscmNOYW1lKVwiPiYjeGU5MGQ7PC9pPiB7e3JjTmFtZS5pdGVtX25hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvdW50XCIgKm5nSWY9XCJyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8ubGVuZ3RoID4gMlwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlciAoY2xpY2spPVwicG9wb3ZlclJDLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cInJpZ2h0XCI+K1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3tyaXNrRm9ybT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdD8uc2xpY2UoMikubGVuZ3RofX08L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yICE9PSAncmMnXCIgY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdyYycsdHJ1ZSlcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJzdWJtaXR0ZWQgJiYgKHJpc2tGb3JtPy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0Py5sZW5ndGg9PTApXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+QXNzaWduXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcyByaXNrIHRvIGEgUmVzcG9uc2liaWxpdHkgQ2VudGVyKHMpPC9wPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwb3BvdmVyUkMgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY05hbWUgb2Ygcmlza0Zvcm0/LnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QgfCBzbGljZTogMjsgbGV0IGogPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZSgncmMnLHJjTmFtZSlcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJjTmFtZS5pdGVtX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJJU0sgT1dORVIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVNlbGVjdG9yID09PSAnb3duZXInXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnb3duZXInICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoID09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ293bmVyJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvaW0tY3JlYXRpbmcuc3ZnXCIgYWx0PVwiXCIgLz5cclxuXHJcbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjAgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdvd25lcidcIiBjbGFzcz1cImNoZWNrSWNvblwiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UklTSyBPV05FUiA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgaXMgdGhlIHBlcnNvbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcmlzay4nXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MWY7PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIiAqbmdJZj1cInJpc2tGb3JtPy5vd25lcnNMaXN0Py5sZW5ndGggPT0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ293bmVyJyx0cnVlKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJpc2sgT3duZXIocylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInJpc2tGb3JtPy5vd25lcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiIFtjbGFzcy5tb3JlLW9uZV09XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjFcIiBbY2xhc3MucGx1c109XCJyaXNrRm9ybT8ub3duZXJzTGlzdD8ubGVuZ3RoPjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmlza0Zvcm0/Lm93bmVyc0xpc3R8c2hvcnRNZXJnZSA6IG5vblJlbW92YWJsZVVzZXJzTGlzdCkgYXMgb3duZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiICpuZ0Zvcj1cImxldCBvd25lciBvZiBvd25lckxpc3Q/LnNsaWNlKDAsMilcIj48aSBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhvd25lcj8ubWVtYmVyX2lkKVwiIChjbGljayk9XCJyZW1vdmUoJ293bmVyJyxvd25lcilcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b3duZXI/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3VudFwiICpuZ0lmPVwicmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aCA+IDJcIiB0eXBlPVwiYnV0dG9uXCIgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXJPd25lci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPitcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmlza0Zvcm0/Lm93bmVyc0xpc3Q/LnNsaWNlKDIpLmxlbmd0aH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgIT09ICdvd25lcidcIiBjbGFzcz1cImVkaXRcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ293bmVyJyx0cnVlKVwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8cCAqbmdJZj1cInN1Ym1pdHRlZCAmJiAocmlza0Zvcm0/Lm93bmVyc0xpc3Q/Lmxlbmd0aD09PTApXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+U2VsZWN0IE93bmVyKHMpIGZvciB0aGlzIHJpc2suPC9wPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwb3BvdmVyT3duZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihyaXNrRm9ybT8ub3duZXJzTGlzdHxzaG9ydE1lcmdlIDogbm9uUmVtb3ZhYmxlVXNlcnNMaXN0KSBhcyBvd25lclBvcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBvd25lciBvZiBvd25lclBvcCB8IHNsaWNlOiAyOyBsZXQgaiA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmID0gXCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKG93bmVyPy5tZW1iZXJfaWQpXCIgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJyZW1vdmUoJ293bmVyJyxvd25lcilcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG93bmVyLm1lbWJlcl9uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgQ2F0ZWdvcnkgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIGFjdGl2ZVNlbGVjdG9yICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknICYmIHNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKGFjdGl2ZVNlbGVjdG9yKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwicmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhcmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5IHx8IGFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmdcIiBhbHQ9XCJcIiAvPlxyXG5cclxuICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImNoZWNrSWNvblwiICpuZ0lmPVwicmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5ICYmIGFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknXCJcclxuICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUyIDUyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIiBjeD1cIjI2XCIgY3k9XCIyNlwiIHI9XCIyNVwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5SaXNrIENhdGVnb3J5XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIFthcHBUb29sdGlwXT1cIidSaXNrIENhdGVnb3JpZXMgYXJlIHVzZWQgdG8gZ3JvdXAgc2ltaWxhciByaXNrcy4nXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPiYjeGU5MWY7PC9pPjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0XCIgKm5nSWY9XCIhcmlza0Zvcm0/LmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKGNsaWNrKT1cImFjdGl2YXRlU2VsZWN0b3IoJ2NhdGVnb3J5Jyx0cnVlKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJpc2sgQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgKm5nSWY9XCJyaXNrRm9ybT8uY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCI+PGkgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgnY2F0ZWdvcnknLHJpc2tGb3JtLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkpXCI+JiN4ZTkwZDs8L2k+e3tyaXNrRm9ybT8uY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yICE9PSAnY2F0ZWdvcnknXCIgY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdjYXRlZ29yeScsdHJ1ZSlcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJpc2tGb3JtPy5jYXRlZ29yeUN1c3RvbVRhZ3M/Lmxlbmd0aD4wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCB0YWcgb2Ygcmlza0Zvcm0uY2F0ZWdvcnlDdXN0b21UYWdzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7dGFnLmN1c3RvbV90YWdfbmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInRhZy5jdXN0b21fdGFnX3ZhbHVlXCIgW3BsYWNlaG9sZGVyXT1cInRhZy5jdXN0b21fdGFnX25hbWVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gQXNzZXNzbWVudCBEZWFkbGluZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdhc3Nlc3NtZW50J1wiIGlkPVwiZGVhZGxpbmVcIlxyXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIgYWN0aXZlU2VsZWN0b3IgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdhc3Nlc3NtZW50JyAgJiYgc2lkZVNlbGVjdG9yRWxlbWVudHMuaW5jbHVkZXMoYWN0aXZlU2VsZWN0b3IpXCJcclxuICAgICAgICAqbmdJZj1cIiFzZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlICYmIHJpc2tGb3JtPy5yaXNrVHlwZSAhPT0gJ1JFUE9SVEVEJyAmJiAoKGN1cnJlbnRUaW1lU3RhbXAgPCBlZGl0RGV0YWlscz8uYXNzZXNzbWVudF9kYXRlX3RpbWVzdGFtcCkgfHwgIWVkaXREZXRhaWxzPy5JZkFzc2Vzc21lbnREb25lIClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTFcIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hlbi5zdmdcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyaXNrRm9ybT8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzPDEgfHwgYWN0aXZlU2VsZWN0b3IgPT09ICdhc3Nlc3NtZW50J1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiAqbmdJZj1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTEgJiYgYWN0aXZlU2VsZWN0b3IgIT09ICdhc3Nlc3NtZW50J1wiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+QXNzZXNzbWVudCBEZWFkbGluZSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2FwcFRvb2x0aXBdPVwiJ1RoaXMgaXMgdGhlIGRhdGUgdGhhdCB0aGUgaW5oZXJlbnQgcmlzayBhc3Nlc3NtZW50IG11c3QgYmUgY29tcGxldGVkIGJ5LidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPlNldCBOdW1iZXIgb2YgZGF5czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgY291bnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VSaXNrQXNzZXNzbWVudCgnc3VidHJhY3QnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGVhNTM7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIiBbKG5nTW9kZWwpXT1cInJpc2tGb3JtLmFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNpbik9XCJhY3RpdmF0ZVNlbGVjdG9yKCdhc3Nlc3NtZW50Jyx0cnVlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiYWN0aXZhdGVTZWxlY3RvcignYXNzZXNzbWVudCcsZmFsc2UpXCIgbmFtZT1cInJpc2tBc3Nlc3NtZW50RGVhZGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVBc3Nlc3NtZW50ICNkZWFkbGluZT1cIm5nTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlUmlza0Fzc2Vzc21lbnREZWFkbGluZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VSaXNrQXNzZXNzbWVudCgnYWRkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTE1OzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwic3VibWl0dGVkICYmIChyaXNrRm9ybT8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzPDEpXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRW50ZXIgYSB2YWx1ZSBncmVhdGVyIHRoYW4gMC5cclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIiAqbmdJZj1cInJpc2tGb3JtPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2RheXM+PTFcIj5cclxuICAgICAgICAgICAgICAgICAgICBUaGlzIHJpc2sgYXNzZXNzbWVudCBuZWVkcyB0byBiZSBjb21wbGV0ZWQgYnkge3sgZGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgT3ZlcnNlZXIgLS0+XHJcbiAgICA8ZGl2IFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVTZWxlY3RvciA9PT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiBhY3RpdmVTZWxlY3RvciAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJyAmJiBzaWRlU2VsZWN0b3JFbGVtZW50cy5pbmNsdWRlcyhhY3RpdmVTZWxlY3RvcilcIlxyXG4gICAgICAgICpuZ0lmPVwicmlza0Zvcm0uYWRkT3ZlcnNlZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/Lmxlbmd0aD09MCB8fCBhY3RpdmVTZWxlY3RvciA9PT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3ZlcnNpZ2h0LnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaGVja0ljb25cIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MCAmJiBhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJ1wiXHJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIiBmaWxsPVwibm9uZVwiIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCIgLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBPdmVyc2VlcjxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInVGhpcyBpcyB0aGUgcGVyc29uIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIG92ZXJzZWVpbmcgdGhlIHJpc2sgYnV0IHdobyBpcyBub3QgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSByaXNrLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg9PTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcignb3ZlcnNlZXInLHRydWUpXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgUmlzayBPdmVyc2VlcihzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRvbmx5PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5sZW5ndGg+MFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiIFtjbGFzcy5tb3JlLW9uZV09XCJyaXNrRm9ybT8ub3ZlcnNlZXJzTGlzdD8ubGVuZ3RoPjFcIiBbY2xhc3MucGx1c109XCJyaXNrRm9ybT8ub3ZlcnNlZXJzTGlzdD8ubGVuZ3RoPjJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCIgKm5nRm9yPVwibGV0IG93bmVyIG9mIHJpc2tGb3JtPy5vdmVyc2VlcnNMaXN0Py5zbGljZSgwLDIpXCI+PGkgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZSgnb3ZlcnNlZXInLG93bmVyKVwiPiYjeGU5MGQ7PC9pPiB7e293bmVyLm1lbWJlcl9uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3VudFwiICpuZ0lmPVwicmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/Lmxlbmd0aCA+IDJcIiB0eXBlPVwiYnV0dG9uXCIgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXJPdmVyc2Vlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJyaWdodFwiPitcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3Q/LnNsaWNlKDIpLmxlbmd0aH19PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJhY3RpdmVTZWxlY3RvciAhPT0gJ292ZXJzZWVyJ1wiIGNsYXNzPVwiZWRpdFwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aXZhdGVTZWxlY3Rvcignb3ZlcnNlZXInLHRydWUpXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjcG9wb3Zlck92ZXJzZWVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgb3duZXIgb2Ygcmlza0Zvcm0/Lm92ZXJzZWVyc0xpc3QgfCBzbGljZTogMjsgbGV0IGogPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cInJlbW92ZSgnb3ZlcnNlZXInLG93bmVyKVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3duZXIubWVtYmVyX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpc2sgTWl0aWdhdGlvbiBQcmlvcml0eSAtLT5cclxuICAgIDxkaXYgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIiBbY2xhc3MuYWN0aXZlXT1cImZhbHNlXCJcclxuICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiYWN0aXZlU2VsZWN0b3IgJiYgc2lkZVNlbGVjdG9yRWxlbWVudHMuaW5jbHVkZXMoYWN0aXZlU2VsZWN0b3IpXCJcclxuICAgICAgICAqbmdJZj1cInJpc2tGb3JtLmFkZE1pdGlnYXRpb25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInJpc2tGb3JtLm1pdGlnYXRpb25cIj5cclxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcHJpb3JpdHkuc3ZnXCIgKm5nSWY9XCIhcmlza0Zvcm0ubWl0aWdhdGlvblwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwhLS0gPHN2ZyB2aWV3Qm94PVwiMjUgMjUgNTAgNTBcIiBjbGFzcz1cImVkaXQtbG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiNTBcIiBjeT1cIjUwXCIgcj1cIjIwXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjMWU1ZGQzXCIgc3Ryb2tlLXdpZHRoPVwiM1wiIGNsYXNzPVwibG9hZGVyLXBhdGhcIj48L2NpcmNsZT5cclxuICAgICAgICAgICAgPC9zdmc+IC0tPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2hlY2tJY29uXCIgKm5nSWY9XCJyaXNrRm9ybS5taXRpZ2F0aW9uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIgNTJcIj5cclxuICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCIgZmlsbD1cIm5vbmVcIiBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJpc2sgTWl0aWdhdGlvbiBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInVGhpcyBzZXRzIHRoZSBwcmlvcml0eSBsZXZlbCBmb3IgdGhlIG1pdGlnYXRpb24gb2YgZWFjaCByaXNrLidcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+JiN4ZTkxZjs8L2k+PC9sYWJlbD5cclxuXHJcbiAgICAgICAgICAgICAgICA8Y3Mtc2VsZWN0IFsobmdNb2RlbCldPVwicmlza0Zvcm0ubWl0aWdhdGlvblwiIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IGEgbWl0aWdhdGlvbiBwcmlvcml0eSdcIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJyaXNrRm9ybS5taXRpZ2F0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBtaXRpZ2F0aW9uRGV0YWlsc1wiIFt2YWx1ZV09XCJkYXRhPy5taXRpZ2F0aW9uX2lkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImRhdGE/Lm1pdGlnYXRpb25fY29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YS5taXRpZ2F0aW9uX25hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2NzLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvY3Mtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFBsYW4gLS0+XHJcbiAgICA8ZGl2IFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCIgKm5nSWY9XCJyaXNrRm9ybT8uYWRkTWl0aWdhdGlvblBsYW5cIj5cclxuICAgICAgICAgIDxkaXYgaWQ9XCJyaXNrU3BhY2VcIiBjbGFzcz1cImxlZnRcIiBbY2xhc3MuY2hlY2tlZF09XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgIT09ICcnXCI+XHJcbiAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgPT09JydcIlxyXG4gICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIocmlza0Zvcm0ubWl0aWdhdGlvbkRlc2NyaXB0aW9uUGxhbiB8IHNwYWNlVHJpbSkgIT09ICcnXCIgY2xhc3M9XCJjaGVja0ljb25cIiBcclxuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MiA1MlwiPlxyXG4gICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiIGZpbGw9XCJub25lXCIgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlJlY29tbWVuZGVkIE1pdGlnYXRpb24gUGxhbnM8bGluayByZWw9XCJtYW5pZmVzdFwiIGhyZWY9XCIuL21hbmlmZXN0Lmpzb25cIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiBbYXBwVG9vbHRpcF09XCInU3BlY2lmeSB0aGUgbWl0aWdhdGlvbiBwbGFuIHRoYXQgY2FuIGJlIHVuZGVydGFrZW4gdG8gbWl0aWdhdGUgdGhlIHJpc2suJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwid2hpdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj4mI3hlOTFmOzwvaT5cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxtYXJ4LWVkaXRvciBbKG5nTW9kZWwpXT1cInJpc2tGb3JtLm1pdGlnYXRpb25EZXNjcmlwdGlvblBsYW5cIlxyXG4gICAgICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCJtaXRpZ2F0aW9uRGVzY3JpcHRpb25QbGFuXCIgKGNsaWNrT3V0c2lkZSk9XCJjaGVja01pdGlnYXRpb25QbGFuKClcIj5cclxuICAgICAgICAgICAgICA8L21hcngtZWRpdG9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuPGFwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3QgKm5nSWY9XCJhY3RpdmVTZWxlY3RvciA9PT0gJ3JjJ1wiIFtyZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XT1cInJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcIlxyXG4gICAgW3NlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzXT1cInJpc2tGb3JtLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RcIiBbcmNJZEtleV09XCIncmNfaWQnXCJcclxuICAgIChzYXZlU2VsZWN0ZWRMaXN0KT1cInNhdmVTZWxlY3RlZFJDTGlzdCgkZXZlbnQpXCIgKGNsb3NlUmNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoJ3JjJyxmYWxzZSlcIlxyXG4gICAgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgQ2VudGVyIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBDZW50ZXJzIHNlbGVjdGVkJ1wiID5cclxuPC9hcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0PlxyXG5cclxuPGFwcC1vd25lci1saXN0ICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdvd25lcidcIiBbdXNlcnNMaXN0XT1cIm93bmVyc0xpc3RcIiBbc2VsZWN0ZWRVc2Vyc109XCJyaXNrRm9ybS5vd25lcnNMaXN0XCJcclxuICAgIFt1c2VySWRLZXldPVwiJ21lbWJlcl9pZCdcIiBbaXRlbUVtYWlsS2V5XT1cIidtZW1iZXJfZW1haWwnXCIgW2l0ZW1OYW1lS2V5XT1cIidtZW1iZXJfbmFtZSdcIiAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRPd25lcnNMaXN0KCRldmVudClcIlxyXG4gICAgW25vblJlbW92YWJsZVVzZXJzTGlzdF09XCJub25SZW1vdmFibGVVc2Vyc0xpc3RcIiAoY2xvc2VVc2Vyc0xpc3QpPVwiYWN0aXZhdGVTZWxlY3Rvcignb3duZXInLGZhbHNlKVwiXHJcbiAgICBbc2luZ3VsYXJUZXh0XT1cIidVc2VyIHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidVc2VycyBzZWxlY3RlZCdcIiA+PC9hcHAtb3duZXItbGlzdD5cclxuXHJcbjxhcHAtY2F0ZWdvcnktbGlzdCAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yID09PSAnY2F0ZWdvcnknXCIgW2NhdGVnb3J5TGlzdF09XCJjYXRlZ29yeUxpc3RcIlxyXG4gICAgW3NlbGVjdGVkQ2F0ZWdvcnldPVwicmlza0Zvcm0uY2F0ZWdvcnlcIiAoc2F2ZVNlbGVjdGVkQ2F0ZWdvcnkpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnkoJGV2ZW50KVwiXHJcbiAgICAoY2xvc2VDYXRlZ29yaWVzTGlzdCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCdjYXRlZ29yeScsZmFsc2UpXCI+PC9hcHAtY2F0ZWdvcnktbGlzdD5cclxuPGFwcC1vd25lci1saXN0ICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdvdmVyc2VlcidcIiBbdXNlcnNMaXN0XT1cIm92ZXJzZWVyc0xpc3RcIlxyXG4gICAgW3NlbGVjdGVkVXNlcnNdPVwicmlza0Zvcm0ub3ZlcnNlZXJzTGlzdFwiIFt1c2VySWRLZXldPVwiJ21lbWJlcl9pZCdcIiBbaXRlbU5hbWVLZXldPVwiJ21lbWJlcl9uYW1lJ1wiIFtpdGVtRW1haWxLZXldPVwiJ21lbWJlcl9lbWFpbCdcIlxyXG4gICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkT3ZlcnNlZXJzTGlzdCgkZXZlbnQpXCIgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoJ292ZXJzZWVyJyxmYWxzZSlcIlxyXG4gICAgW3Npbmd1bGFyVGV4dF09XCInVXNlciBzZWxlY3RlZCdcIiBbcGx1cmFsVGV4dF09XCInVXNlcnMgc2VsZWN0ZWQnXCIgPlxyXG48L2FwcC1vd25lci1saXN0PlxyXG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG48IS0tIDxhcHAtc21pbGV5LWRpYWxvZyAqbmdJZj1cInNob3dTbWlsZXlcIiBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCIgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiXHJcbiAgICAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCIgKGNsb3NlU21pbGV5KT1cImNsb3NlU21pbGV5KCRldmVudClcIj48L2FwcC1zbWlsZXktZGlhbG9nPiAtLT5cclxuXHJcbiAgICA8YXBwLXNtaWxleS1kaWFsb2ctaW5saW5lXHJcbiAgICAgICAgKm5nSWY9XCJzaG93U21pbGV5XCJcclxuICAgICAgICBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCJcclxuICAgICAgICBbYWN0aW9uQnV0dG9uc109XCJhY3Rpb25CdXR0b25zXCJcclxuICAgICAgICAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiPlxyXG4gICAgPC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XHJcbiJdfQ==
@@ -16,8 +16,9 @@ export class ProgramsService {
16
16
  }
17
17
  }
18
18
  getRoles() {
19
+ var _a;
19
20
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
20
- return this.http.get(this.env.organizationGet + 'roles/getProgramRoles&bypass-businessCycle=true', { headers });
21
+ return this.http.get(((_a = this.env) === null || _a === void 0 ? void 0 : _a.organizationGet) + 'roles/getProgramRoles&bypass-businessCycle=true', { headers });
21
22
  }
22
23
  /**
23
24
  * Uploads the given file to server
@@ -33,8 +34,9 @@ export class ProgramsService {
33
34
  return this.http.post(this.env.fileUploadEndPoint + ORG_PATH + '&ngsw-bypass=true', payload);
34
35
  }
35
36
  getResponsibilityCenterList() {
37
+ var _a;
36
38
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
37
- return this.http.get(this.env.complianceGet + 'responsibilityCenterTree&bypass-businessCycle=true', {
39
+ return this.http.get(((_a = this.env) === null || _a === void 0 ? void 0 : _a.complianceGet) + 'responsibilityCenterTree&bypass-businessCycle=true', {
38
40
  headers,
39
41
  }).pipe(retry(2));
40
42
  }
@@ -49,22 +51,25 @@ export class ProgramsService {
49
51
  return this.http.post(this.env.organizationPost + 'roles/getUserDetails&limit=30&bypass-businessCycle=true' + queryString, { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
50
52
  }
51
53
  fetchAllRoleUsers(roles) {
54
+ var _a;
52
55
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
53
- return this.http.post(this.env.organizationPost + 'roles/getUserDetails&type=all&bypass-businessCycle=true', { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
56
+ return this.http.post(((_a = this.env) === null || _a === void 0 ? void 0 : _a.organizationPost) + 'roles/getUserDetails&type=all&bypass-businessCycle=true', { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
54
57
  }
55
58
  fetchAllRoleGroups(roles) {
56
59
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
57
60
  return this.http.post(this.env.organizationPost + 'roles/getGroupDetails&type=all&bypass-businessCycle=true', { role_ids: roles !== null && roles !== void 0 ? roles : [] }, { headers }).pipe(retry(2));
58
61
  }
59
62
  fetchAllOrgUser() {
63
+ var _a;
60
64
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
61
65
  //https://devapi.v-comply.com/organization/?mode=organisationUsersList&paginationType=small&admin=1
62
- return this.http.get(this.env.organizationGet + 'organisationUsersList&paginationType=small&bypass-businessCycle=true', { headers }).pipe(retry(2));
66
+ return this.http.get(((_a = this.env) === null || _a === void 0 ? void 0 : _a.organizationGet) + 'organisationUsersList&paginationType=small&bypass-businessCycle=true', { headers }).pipe(retry(2));
63
67
  }
64
68
  fetchComplianceGroups() {
69
+ var _a;
65
70
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
66
71
  //https://devapi.v-comply.com/organization/?mode=groupsList&status=1&type=compliance
67
- return this.http.get(this.env.organizationGet + 'groupsList&status=1&type=compliance&bypass-businessCycle=true', { headers }).pipe(retry(2));
72
+ return this.http.get(((_a = this.env) === null || _a === void 0 ? void 0 : _a.organizationGet) + 'groupsList&status=1&type=compliance&bypass-businessCycle=true', { headers }).pipe(retry(2));
68
73
  }
69
74
  getBusinessCycle() {
70
75
  var _a, _b, _c, _d, _e, _f;
@@ -88,7 +93,9 @@ export class ProgramsService {
88
93
  }
89
94
  buildPayload(formData, instance) {
90
95
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
96
+ console.log("Component Instance", instance);
91
97
  const form = formData === null || formData === void 0 ? void 0 : formData.value;
98
+ console.log("Form Value", form);
92
99
  const payload = {
93
100
  mode: 'program',
94
101
  name: (_a = form === null || form === void 0 ? void 0 : form.program_name.trim()) !== null && _a !== void 0 ? _a : '',
@@ -138,13 +145,14 @@ export class ProgramsService {
138
145
  }
139
146
  }
140
147
  getFramework(input) {
148
+ console.log("generator", input);
141
149
  if (input) {
142
150
  return [{
143
151
  _id: input === null || input === void 0 ? void 0 : input._id,
144
- framework_name: input === null || input === void 0 ? void 0 : input.name,
152
+ framework_name: input === null || input === void 0 ? void 0 : input.framework_name,
145
153
  type: input === null || input === void 0 ? void 0 : input.type,
146
- in_scope: (input === null || input === void 0 ? void 0 : input.in_scope) ? this.listToId(input === null || input === void 0 ? void 0 : input.in_scope, '_id') : [],
147
- out_scope: (input === null || input === void 0 ? void 0 : input.out_scope) ? this.listToId(input === null || input === void 0 ? void 0 : input.out_scope, '_id') : []
154
+ in_scope: this.listToId(input === null || input === void 0 ? void 0 : input.in_scope, '_id'),
155
+ out_scope: this.listToId(input === null || input === void 0 ? void 0 : input.out_scope, '_id')
148
156
  }];
149
157
  }
150
158
  else {
@@ -199,4 +207,4 @@ ProgramsService.ctorParameters = () => [
199
207
  { type: AuthService },
200
208
  { type: Configurations, decorators: [{ type: Optional }] }
201
209
  ];
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLGlEQUFpRCxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7UUFDakMsSUFBSTtR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SSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsOENBQThDLEVBQUMsRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0SixDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBTztRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLDZDQUE2QyxFQUFDLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckosQ0FBQzs7OztZQWpNQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJRLFVBQVU7WUFJVixXQUFXO1lBRFgsY0FBYyx1QkFTb0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtc1NlcnZpY2Uge1xyXG5cclxuICBlbnYgITogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSb2xlcygpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdyb2xlcy9nZXRQcm9ncmFtUm9sZXMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse2hlYWRlcnN9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgdGhlIGdpdmVuIGZpbGUgdG8gc2VydmVyXHJcbiAgICogQHBhcmFtIHBheWxvYWQgcGF5bG9hZCBGaWxlIGRhdGEgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcGFyYW0gcGF0aCBwYXRoIFBhdGggb2YgZmlsZSB0byBiZSB1cGxvYWRlZFxyXG4gICAqIEByZXR1cm5zIHJlc3BvbnNlIGFmdGVyIHVwbG9hZGluZyBhIGZpbGVcclxuICAgKi9cclxuICB1cGxvYWRGaWxlcyhwYXlsb2FkOiBhbnksIHBhdGg6IGFueSkge1xyXG4gICAgLy8ge1xyXG4gICAgLy8gICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgIC8vICAgb2JzZXJ2ZTogJ2V2ZW50cyd9XHJcbiAgICBjb25zdCBPUkdfUEFUSCA9IGBvLyR7cGF0aH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmZpbGVVcGxvYWRFbmRQb2ludCArIE9SR19QQVRIICArICcmbmdzdy1ieXBhc3M9dHJ1ZScsIHBheWxvYWQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0KCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ3Jlc3BvbnNpYmlsaXR5Q2VudGVyVHJlZSZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJywge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcblxyXG4gIGZldGNoUm9sZVVzZXJzKHJvbGVzOmFueSxwYWdlPzphbnksIHNlYXJjaEtleT86YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICBsZXQgcXVlcnlTdHJpbmcgPSAnJztcclxuICAgIGlmKHBhZ2UpeyBxdWVyeVN0cmluZyArPSBgJnBhZ2U9JHtwYWdlfWB9O1xyXG4gICAgaWYoc2VhcmNoS2V5KXt9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0VXNlckRldGFpbHMmbGltaXQ9MzAmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScrcXVlcnlTdHJpbmcseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbGxSb2xlVXNlcnMocm9sZXM6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0VXNlckRldGFpbHMmdHlwZT1hbGwmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbGxSb2xlR3JvdXBzKHJvbGVzOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldEdyb3VwRGV0YWlscyZ0eXBlPWFsbCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGZldGNoQWxsT3JnVXNlcigpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwmYWRtaW49MVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdvcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGZldGNoQ29tcGxpYW5jZUdyb3Vwcygpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1ncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvbkdldCArICdncm91cHNMaXN0JnN0YXR1cz0xJnR5cGU9Y29tcGxpYW5jZSZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJywge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldEJ1c2luZXNzQ3ljbGUoKXtcclxuICAgIGNvbnN0IGJ1c2luZXNzQ3ljbGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NDeWNsZVwiKSA/PyAne30nKTtcclxuICAgcmV0dXJuIHtcclxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IGJ1c2luZXNzQ3ljbGVcclxuICAgICAgICA/IGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LnN0YXJ0X2RhdGUgK1xyXG4gICAgICAgIFwiLVwiICtcclxuICAgICAgICBidXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5lbmRfZGF0ZVxyXG4gICAgICAgIDogXCJcIixcclxuICAgICAgc3RhcnRfZGF0ZTogYnVzaW5lc3NDeWNsZSA/IGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LnN0YXJ0X2RhdGUgOiBcIlwiLFxyXG4gICAgICBlbmRfZGF0ZTogYnVzaW5lc3NDeWNsZSA/IGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LmVuZF9kYXRlIDogXCJcIixcclxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiBidXNpbmVzc0N5Y2xlXHJcbiAgICAgICAgPyBidXNpbmVzc0N5Y2xlPy5zZWxlY3RlZEN5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnJcclxuICAgICAgICA6IFtdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNhdmVQcm9ncmFtKHBheWxvYWQ6YW55KXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9jYXRlZ29yeS8/aXNCdXNpbmVzc0N5Y2xlPXRydWUnLHBheWxvYWQsIHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuXHJcbiBidWlsZFBheWxvYWQoZm9ybURhdGE6YW55LGluc3RhbmNlOmFueSl7XHJcbmNvbnN0IGZvcm0gPSBmb3JtRGF0YT8udmFsdWU7XHJcbmNvbnN0IHBheWxvYWQgPSB7XHJcbiAgbW9kZTogJ3Byb2dyYW0nLFxyXG4gIG5hbWU6Zm9ybT8ucHJvZ3JhbV9uYW1lLnRyaW0oKSA/PyAnJyxcclxuICBkZXNjcmlwdGlvbjp7dGV4dDpmb3JtPy5wcm9ncmFtX2Rlc2NyaXB0aW9uID8/ICcnLGF0dGFjaG1lbnRzOmZvcm0/LnByb2dyYW1fZGVzY3JpcHRpb25fYXR0YWNobWVudHMgPz8gW119LFxyXG4gIHByb2dyYW1fb2JqZWN0aXZlIDoge3RleHQ6Zm9ybT8ucHJvZ3JhbV9vYmplY3RpdmUgPz8gJycsYXR0YWNobWVudHM6Zm9ybT8ub2JqZWN0aXZlX2F0dGFjaG1lbnQgPz8gW119LFxyXG4gIHJvbGVzOiBmb3JtLnByb2dyYW1fcm9sZXMubWFwKChlbGU6YW55KSA9PiB7cmV0dXJuIHtyb2xlSWQ6ZWxlPy5faWQscm9sZU5hbWU6ZWxlPy5yb2xlTmFtZSwgbGljZW5zZVR5cGU6ZWxlPy5saWNlbnNlVHlwZX19KSxcclxuICBvd25lcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX293bmVycywnbWVtYmVyX2lkJykgPz8gW10sXHJcbiAgb3duZXJzX2dyb3VwOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3duZXJzX2dyb3VwLCdncm91cF9pZCcpID8/IFtdLFxyXG4gIGFsbF91c2VyX2luX3JvbGU6IGZvcm0/LmFsbF91c2VyX2luX3JvbGUgPz8gZmFsc2UsXHJcbiAgcHJvZ3JhbVR5cGU6Zm9ybT8ucHJvZ3JhbV90eXBlID8/IDAsXHJcbiAgLy8gc3RhdGU6MCxcclxuICBzdGF0ZTogZm9ybT8ucHJvZ3JhbV9zdGF0ZSA/PyAwLFxyXG4gIGFwcHJvdmVyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXBwcm92ZXIsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIGNhbGN1bGF0ZV9wYXN0X3VwY29taW5nX2V2ZW50OiBmb3JtPy5wZXJmb3JtYW5jZV9jYWxjdWxhdGlvbiA/PyAnJyxcclxuICBwcm9ncmFtX2ZyZXF1ZW5jeSA6IGZvcm0/LnJlY3VycmluZ19mcmVxdWVuY3kgPyAxIDogMCxcclxuICBsb2NrX3Njb3BlOiBmb3JtPy5sb2NrX3Njb3BlX2NoYW5nZSA/IDEgOjAsXHJcbiAgcmNfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnJjLCdpdGVtX2lkJyksXHJcbiAgYXNzaWduZWVfaWRzOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fYXNzaWduZWUsJ21lbWJlcl9pZCcpLFxyXG4gIGFzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfaWRzIDogIHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfYXNzaWduZWVfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV90eXBlOiBmb3JtPy5hc3NpZ25lZV9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIHJldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fcmV2aWV3ZXIsJ21lbWJlcl9pZCcpLFxyXG4gIHJldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2VyX2dyb3VwX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfcmV2aWV3ZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcnNfdHlwZTpmb3JtPy5yZXZpZXdlcl9jb21wbGV0aW9uX2NyaXRlcmlhLFxyXG4gIG92ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXIsJ21lbWJlcl9pZCcpLGNjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksZmFpbHVyZV9jY19lbWFpbDogW10sZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6W119LFxyXG4gIGRlZmF1bHRfb3ZlcnNlZXJzOiB7Y2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyksXHJcbiAgZmFpbHVyZV9jY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxmYWlsdXJlX2NjX2VtYWlsX2dyb3Vwczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9mYWlsZWRfb3ZlcnNlZXJfZ3JvdXAsJ2dyb3VwX2lkJyl9LFxyXG4gIGFzc2Vzc21lbnQ6IHRoaXMuZ2VuZXJhdGVBc3Nlc3NtZW50KGZvcm0ucHJvZ3JhbV9hc3Nlc3NtZW50cyksXHJcbiAgZXZpZGVuY2VfdXBsb2FkX2ZsYWc6Zm9ybT8uZXZpZGVuY2VfcmVxdWlyZWQgPyAxIDogMCxcclxuICBpc19rZXlfZXZpZGVuY2U6IGZvcm0/LmFsbG93X2FueV9maWxlX2tleV9ldmlkZW5jZSxcclxuICBjdXN0b21fZmllbGRzOmZvcm0/LmN1c3RvbV9maWVsZHMgPz8gW10sXHJcbiAgZnJhbWV3b3JrOnRoaXMuZ2V0RnJhbWV3b3JrKGZvcm0/LmZyYW1ld29yaykgPz8gW10sXHJcbiAgX2lkOiBpbnN0YW5jZS5tb2RlID09PSAnRURJVCcgPyBpbnN0YW5jZS5wcm9ncmFtSWQgOiB1bmRlZmluZWQsXHJcbn1cclxuY29uc29sZS5sb2coXCJwYXlsb2FkXCIscGF5bG9hZClcclxucmV0dXJuIHBheWxvYWQ7XHJcbiB9XHJcbiBnZW5lcmF0ZUFzc2Vzc21lbnQoYXNzZXNzbWVudDphbnkpe1xyXG4gICBpZihhc3Nlc3NtZW50ICYmIGFzc2Vzc21lbnQ/Lmxlbmd0aCl7XHJcbiAgICByZXR1cm4gYXNzZXNzbWVudC5tYXAoKGNhdDphbnkpID0+IHtyZXR1cm4gey4uLmNhdCxhc3Nlc3NtZW50SWRzIDogY2F0LmFzc2Vzc21lbnRJZHM/Lm1hcCgoYXNzZXNzOmFueSkgPT4gYXNzZXNzLmlkKX19KVxyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW107XHJcbiAgIH1cclxuIH1cclxuIGdldEZyYW1ld29yayhpbnB1dDphbnkpe1xyXG4gICBpZihpbnB1dCl7XHJcbiAgICByZXR1cm4gW3tcclxuICAgICAgX2lkOmlucHV0Py5faWQsXHJcbiAgICAgIGZyYW1ld29ya19uYW1lOmlucHV0Py5uYW1lLFxyXG4gICAgICB0eXBlOiBpbnB1dD8udHlwZSxcclxuICAgICAgaW5fc2NvcGU6IGlucHV0Py5pbl9zY29wZSA/IHRoaXMubGlzdFRvSWQoaW5wdXQ/LmluX3Njb3BlLCdfaWQnKTogIFtdLFxyXG4gICAgICBvdXRfc2NvcGU6IGlucHV0Py5vdXRfc2NvcGUgPyB0aGlzLmxpc3RUb0lkKGlucHV0Py5vdXRfc2NvcGUsJ19pZCcpOiBbXVxyXG4gICAgfV1cclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdXHJcbiAgIH1cclxuXHJcbiB9XHJcblxyXG4gbGlzdFRvSWQobGlzdDphbnksa2V5OnN0cmluZyl7XHJcbiAgIGlmKGxpc3QgJiYgbGlzdD8ubGVuZ3RoKXtcclxuICAgIHJldHVybiBsaXN0Lm1hcCgoZWxlOmFueSkgPT4gZWxlW2tleV0pO1xyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW107XHJcbiAgIH1cclxuXHJcbiB9XHJcblxyXG4vKipcclxuICpcclxuICogQHBhcmFtIGlkIDogcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbiBnZXRQcm9ncmFtKGlkOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKS5zZXQoJ3gtYnVzaW5lc3MtY3ljbGUnLCAgSlNPTi5zdHJpbmdpZnkoKHRoaXMuZ2V0QnVzaW5lc3NDeWNsZSgpKSkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudj8ucHJvZ3JhbUVuZHBvaW50ICsgJy8nICsgaWQgKyc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScsIHtoZWFkZXJzfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gcGF5bG9hZCBwYXlsb2FkIHdoaWNoIG5lZWQgdG8gYmUgdXBkYXRlZFxyXG4gKiBAcGFyYW0gaWQgcHJvZ3JhbSBvYmplY3QgaWRcclxuICogQHJldHVybnNcclxuICovXHJcbnVwZGF0ZVByb2dyYW0ocGF5bG9hZDphbnksIGlkOiBzdHJpbmcpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSkuc2V0KCd4LWJ1c2luZXNzLWN5Y2xlJywgIEpTT04uc3RyaW5naWZ5KCh0aGlzLmdldEJ1c2luZXNzQ3ljbGUoKSkpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52LnByb2dyYW1FbmRwb2ludCArICcvY2F0ZWdvcnkvZWRpdENhdGVnb3J5LycrIGlkICArICc/aXNCdXNpbmVzc0N5Y2xlPXRydWUmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScscGF5bG9hZCwge2hlYWRlcnN9KTtcclxufVxyXG5cclxuXHJcbmdldE1lbWViZXJCeUlkcyhpZHM6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdtZW1iZXJEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse21lbWJlcl9pZDogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxuZ2V0TWVtYmVyQnlHcm91cHMoaWRzOmFueSl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KHRoaXMuZW52Lm9yZ2FuaXphdGlvblBvc3QgKyAnZ3JvdXBEZXRhaWxzYnlJZHMmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScse2dyb3VwX2lkczogaWRzfSwge2hlYWRlcnN9KS5waXBlKHJldHJ5KDIpKTtcclxufVxyXG5cclxufVxyXG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXNlcnZpY2VzL3Byb2dyYW1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSzdDLE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBYyxNQUF1QjtRQUF2RixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDcEUsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FFN0I7SUFDSCxDQUFDO0lBRUQsUUFBUTs7UUFDTixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsZUFBZSxJQUFHLGlEQUFpRCxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBWSxFQUFFLElBQVM7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VyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsOENBQThDLEVBQUMsRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFDLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0SixDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBTztRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLDZDQUE2QyxFQUFDLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckosQ0FBQzs7OztZQXBNQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJRLFVBQVU7WUFJVixXQUFXO1lBRFgsY0FBYyx1QkFTb0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9ncmFtc1NlcnZpY2Uge1xyXG5cclxuICBlbnYgITogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSb2xlcygpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgKyAncm9sZXMvZ2V0UHJvZ3JhbVJvbGVzJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLHtoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGxvYWRzIHRoZSBnaXZlbiBmaWxlIHRvIHNlcnZlclxyXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgRmlsZSBkYXRhIHRvIGJlIHVwbG9hZGVkXHJcbiAgICogQHBhcmFtIHBhdGggcGF0aCBQYXRoIG9mIGZpbGUgdG8gYmUgdXBsb2FkZWRcclxuICAgKiBAcmV0dXJucyByZXNwb25zZSBhZnRlciB1cGxvYWRpbmcgYSBmaWxlXHJcbiAgICovXHJcbiAgdXBsb2FkRmlsZXMocGF5bG9hZDogYW55LCBwYXRoOiBhbnkpIHtcclxuICAgIC8vIHtcclxuICAgIC8vICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAvLyAgIG9ic2VydmU6ICdldmVudHMnfVxyXG4gICAgY29uc3QgT1JHX1BBVEggPSBgby8ke3BhdGh9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5maWxlVXBsb2FkRW5kUG9pbnQgKyBPUkdfUEFUSCAgKyAnJm5nc3ctYnlwYXNzPXRydWUnLCBwYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnY/LmNvbXBsaWFuY2VHZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZmV0Y2hSb2xlVXNlcnMocm9sZXM6YW55LHBhZ2U/OmFueSwgc2VhcmNoS2V5Pzphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xyXG4gICAgaWYocGFnZSl7IHF1ZXJ5U3RyaW5nICs9IGAmcGFnZT0ke3BhZ2V9YH07XHJcbiAgICBpZihzZWFyY2hLZXkpe31cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdyb2xlcy9nZXRVc2VyRGV0YWlscyZsaW1pdD0zMCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJytxdWVyeVN0cmluZyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEFsbFJvbGVVc2Vycyhyb2xlczphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnY/Lm9yZ2FuaXphdGlvblBvc3QgKyAncm9sZXMvZ2V0VXNlckRldGFpbHMmdHlwZT1hbGwmYnlwYXNzLWJ1c2luZXNzQ3ljbGU9dHJ1ZScseyByb2xlX2lkcyA6cm9sZXMgPz8gW119LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hBbGxSb2xlR3JvdXBzKHJvbGVzOmFueSl7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ3JvbGVzL2dldEdyb3VwRGV0YWlscyZ0eXBlPWFsbCZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7IHJvbGVfaWRzIDpyb2xlcyA/PyBbXX0sIHtoZWFkZXJzfSkucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIGZldGNoQWxsT3JnVXNlcigpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKTtcclxuICAgIC8vaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1vcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwmYWRtaW49MVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgKyAnb3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBmZXRjaENvbXBsaWFuY2VHcm91cHMoKXtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgICAvL2h0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9Z3JvdXBzTGlzdCZzdGF0dXM9MSZ0eXBlPWNvbXBsaWFuY2VcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICsgJ2dyb3Vwc0xpc3Qmc3RhdHVzPTEmdHlwZT1jb21wbGlhbmNlJmJ5cGFzcy1idXNpbmVzc0N5Y2xlPXRydWUnLCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnVzaW5lc3NDeWNsZSgpe1xyXG4gICAgY29uc3QgYnVzaW5lc3NDeWNsZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0N5Y2xlXCIpID8/ICd7fScpO1xyXG4gICByZXR1cm4ge1xyXG4gICAgICBzZWxlY3RlZF9jeWNsZTogYnVzaW5lc3NDeWNsZVxyXG4gICAgICAgID8gYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRDeWNsZT8uc3RhcnRfZGF0ZSArXHJcbiAgICAgICAgXCItXCIgK1xyXG4gICAgICAgIGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LmVuZF9kYXRlXHJcbiAgICAgICAgOiBcIlwiLFxyXG4gICAgICBzdGFydF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRDeWNsZT8uc3RhcnRfZGF0ZSA6IFwiXCIsXHJcbiAgICAgIGVuZF9kYXRlOiBidXNpbmVzc0N5Y2xlID8gYnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRDeWNsZT8uZW5kX2RhdGUgOiBcIlwiLFxyXG4gICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IGJ1c2luZXNzQ3ljbGVcclxuICAgICAgICA/IGJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FyclxyXG4gICAgICAgIDogW10sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2F2ZVByb2dyYW0ocGF5bG9hZDphbnkpe1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKS5zZXQoJ3gtYnVzaW5lc3MtY3ljbGUnLCAgSlNPTi5zdHJpbmdpZnkoKHRoaXMuZ2V0QnVzaW5lc3NDeWNsZSgpKSkpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5wcm9ncmFtRW5kcG9pbnQgKyAnL2NhdGVnb3J5Lz9pc0J1c2luZXNzQ3ljbGU9dHJ1ZScscGF5bG9hZCwge2hlYWRlcnN9KTtcclxuICB9XHJcblxyXG5cclxuIGJ1aWxkUGF5bG9hZChmb3JtRGF0YTphbnksaW5zdGFuY2U6YW55KXtcclxuY29uc29sZS5sb2coXCJDb21wb25lbnQgSW5zdGFuY2VcIixpbnN0YW5jZSk7XHJcbmNvbnN0IGZvcm0gPSBmb3JtRGF0YT8udmFsdWU7XHJcbmNvbnNvbGUubG9nKFwiRm9ybSBWYWx1ZVwiLGZvcm0pO1xyXG5jb25zdCBwYXlsb2FkID0ge1xyXG4gIG1vZGU6ICdwcm9ncmFtJyxcclxuICBuYW1lOmZvcm0/LnByb2dyYW1fbmFtZS50cmltKCkgPz8gJycsXHJcbiAgZGVzY3JpcHRpb246e3RleHQ6Zm9ybT8ucHJvZ3JhbV9kZXNjcmlwdGlvbiA/PyAnJyxhdHRhY2htZW50czpmb3JtPy5wcm9ncmFtX2Rlc2NyaXB0aW9uX2F0dGFjaG1lbnRzID8/IFtdfSxcclxuICBwcm9ncmFtX29iamVjdGl2ZSA6IHt0ZXh0OmZvcm0/LnByb2dyYW1fb2JqZWN0aXZlID8/ICcnLGF0dGFjaG1lbnRzOmZvcm0/Lm9iamVjdGl2ZV9hdHRhY2htZW50ID8/IFtdfSxcclxuICByb2xlczogZm9ybS5wcm9ncmFtX3JvbGVzLm1hcCgoZWxlOmFueSkgPT4ge3JldHVybiB7cm9sZUlkOmVsZT8uX2lkLHJvbGVOYW1lOmVsZT8ucm9sZU5hbWUsIGxpY2Vuc2VUeXBlOmVsZT8ubGljZW5zZVR5cGV9fSksXHJcbiAgb3duZXJzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9vd25lcnMsJ21lbWJlcl9pZCcpID8/IFtdLFxyXG4gIG93bmVyc19ncm91cDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX293bmVyc19ncm91cCwnZ3JvdXBfaWQnKSA/PyBbXSxcclxuICBhbGxfdXNlcl9pbl9yb2xlOiBmb3JtPy5hbGxfdXNlcl9pbl9yb2xlID8/IGZhbHNlLFxyXG4gIHByb2dyYW1UeXBlOmZvcm0/LnByb2dyYW1fdHlwZSA/PyAwLFxyXG4gIC8vIHN0YXRlOjAsXHJcbiAgc3RhdGU6IGZvcm0/LnByb2dyYW1fc3RhdGUgPz8gMCxcclxuICBhcHByb3ZlcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2FwcHJvdmVyLCdtZW1iZXJfaWQnKSA/PyBbXSxcclxuICBjYWxjdWxhdGVfcGFzdF91cGNvbWluZ19ldmVudDogZm9ybT8ucGVyZm9ybWFuY2VfY2FsY3VsYXRpb24gPz8gJycsXHJcbiAgcHJvZ3JhbV9mcmVxdWVuY3kgOiBmb3JtPy5yZWN1cnJpbmdfZnJlcXVlbmN5ID8gMSA6IDAsXHJcbiAgbG9ja19zY29wZTogZm9ybT8ubG9ja19zY29wZV9jaGFuZ2UgPyAxIDowLFxyXG4gIHJjX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5yYywnaXRlbV9pZCcpLFxyXG4gIGFzc2lnbmVlX2lkczogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2Fzc2lnbmVlLCdtZW1iZXJfaWQnKSxcclxuICBhc3NpZ25lZV9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9hc3NpZ25lZV9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X2Fzc2lnbmVlX2lkcyA6ICB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9hc3NpZ25lZSwnbWVtYmVyX2lkJyksXHJcbiAgZGVmYXVsdF9hc3NpZ25lZV9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2Fzc2lnbmVlX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfYXNzaWduZWVfdHlwZTogZm9ybT8uYXNzaWduZWVfY29tcGxldGlvbl9jcml0ZXJpYSxcclxuICByZXZpZXdlcnM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX3Jldmlld2VyLCdtZW1iZXJfaWQnKSxcclxuICByZXZpZXdlcl9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9yZXZpZXdlcl9ncm91cCwnZ3JvdXBfaWQnKSxcclxuICBkZWZhdWx0X3Jldmlld2Vyczp0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9yZXZpZXdlciwnbWVtYmVyX2lkJyksXHJcbiAgZGVmYXVsdF9yZXZpZXdlcl9ncm91cF9pZHM6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X3Jldmlld2VyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGRlZmF1bHRfcmV2aWV3ZXJzX3R5cGU6Zm9ybT8ucmV2aWV3ZXJfY29tcGxldGlvbl9jcml0ZXJpYSxcclxuICBvdmVyc2VlcnM6IHtjY19lbWFpbDogdGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX292ZXJzZWVyLCdtZW1iZXJfaWQnKSxjY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpLGZhaWx1cmVfY2NfZW1haWw6IFtdLGZhaWx1cmVfY2NfZW1haWxfZ3JvdXBzOltdfSxcclxuICBkZWZhdWx0X292ZXJzZWVyczoge2NjX2VtYWlsOiB0aGlzLmxpc3RUb0lkKGZvcm0/LnByb2dyYW1fZGVmYXVsdF9vdmVyc2VlciwnbWVtYmVyX2lkJyksY2NfZW1haWxfZ3JvdXBzOnRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpLFxyXG4gIGZhaWx1cmVfY2NfZW1haWw6IHRoaXMubGlzdFRvSWQoZm9ybT8ucHJvZ3JhbV9kZWZhdWx0X2ZhaWxlZF9vdmVyc2VlciwnbWVtYmVyX2lkJyksZmFpbHVyZV9jY19lbWFpbF9ncm91cHM6dGhpcy5saXN0VG9JZChmb3JtPy5wcm9ncmFtX2RlZmF1bHRfZmFpbGVkX292ZXJzZWVyX2dyb3VwLCdncm91cF9pZCcpfSxcclxuICBhc3Nlc3NtZW50OiB0aGlzLmdlbmVyYXRlQXNzZXNzbWVudChmb3JtLnByb2dyYW1fYXNzZXNzbWVudHMpLFxyXG4gIGV2aWRlbmNlX3VwbG9hZF9mbGFnOmZvcm0/LmV2aWRlbmNlX3JlcXVpcmVkID8gMSA6IDAsXHJcbiAgaXNfa2V5X2V2aWRlbmNlOiBmb3JtPy5hbGxvd19hbnlfZmlsZV9rZXlfZXZpZGVuY2UsXHJcbiAgY3VzdG9tX2ZpZWxkczpmb3JtPy5jdXN0b21fZmllbGRzID8/IFtdLFxyXG4gIGZyYW1ld29yazp0aGlzLmdldEZyYW1ld29yayhmb3JtPy5mcmFtZXdvcmspID8/IFtdLFxyXG4gIF9pZDogaW5zdGFuY2UubW9kZSA9PT0gJ0VESVQnID8gaW5zdGFuY2UucHJvZ3JhbUlkIDogdW5kZWZpbmVkLFxyXG59XHJcbmNvbnNvbGUubG9nKFwicGF5bG9hZFwiLHBheWxvYWQpXHJcbnJldHVybiBwYXlsb2FkO1xyXG4gfVxyXG4gZ2VuZXJhdGVBc3Nlc3NtZW50KGFzc2Vzc21lbnQ6YW55KXtcclxuICAgaWYoYXNzZXNzbWVudCAmJiBhc3Nlc3NtZW50Py5sZW5ndGgpe1xyXG4gICAgcmV0dXJuIGFzc2Vzc21lbnQubWFwKChjYXQ6YW55KSA9PiB7cmV0dXJuIHsuLi5jYXQsYXNzZXNzbWVudElkcyA6IGNhdC5hc3Nlc3NtZW50SWRzPy5tYXAoKGFzc2VzczphbnkpID0+IGFzc2Vzcy5pZCl9fSlcclxuICAgfWVsc2V7XHJcbiAgICAgcmV0dXJuIFtdO1xyXG4gICB9XHJcbiB9XHJcbiBnZXRGcmFtZXdvcmsoaW5wdXQ6YW55KXtcclxuICAgY29uc29sZS5sb2coXCJnZW5lcmF0b3JcIixpbnB1dClcclxuICAgaWYoaW5wdXQpe1xyXG4gICAgcmV0dXJuIFt7XHJcbiAgICAgIF9pZDppbnB1dD8uX2lkLFxyXG4gICAgICBmcmFtZXdvcmtfbmFtZTppbnB1dD8uZnJhbWV3b3JrX25hbWUsXHJcbiAgICAgIHR5cGU6IGlucHV0Py50eXBlLFxyXG4gICAgICBpbl9zY29wZTp0aGlzLmxpc3RUb0lkKGlucHV0Py5pbl9zY29wZSwnX2lkJyksXHJcbiAgICAgIG91dF9zY29wZTp0aGlzLmxpc3RUb0lkKGlucHV0Py5vdXRfc2NvcGUsJ19pZCcpXHJcbiAgICB9XVxyXG4gICB9ZWxzZXtcclxuICAgICByZXR1cm4gW11cclxuICAgfVxyXG5cclxuIH1cclxuXHJcbiBsaXN0VG9JZChsaXN0OmFueSxrZXk6c3RyaW5nKXtcclxuICAgaWYobGlzdCAmJiBsaXN0Py5sZW5ndGgpe1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKChlbGU6YW55KSA9PiBlbGVba2V5XSk7XHJcbiAgIH1lbHNle1xyXG4gICAgIHJldHVybiBbXTtcclxuICAgfVxyXG5cclxuIH1cclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gaWQgOiBwcm9ncmFtIG9iamVjdCBpZFxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxuIGdldFByb2dyYW0oaWQ6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpLnNldCgneC1idXNpbmVzcy1jeWNsZScsICBKU09OLnN0cmluZ2lmeSgodGhpcy5nZXRCdXNpbmVzc0N5Y2xlKCkpKSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Py5wcm9ncmFtRW5kcG9pbnQgKyAnLycgKyBpZCArJz9pc0J1c2luZXNzQ3ljbGU9dHJ1ZSZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJywge2hlYWRlcnN9KTtcclxufVxyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgd2hpY2ggbmVlZCB0byBiZSB1cGRhdGVkXHJcbiAqIEBwYXJhbSBpZCBwcm9ncmFtIG9iamVjdCBpZFxyXG4gKiBAcmV0dXJuc1xyXG4gKi9cclxudXBkYXRlUHJvZ3JhbShwYXlsb2FkOmFueSwgaWQ6IHN0cmluZyl7XHJcbiAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgndG9rZW4nLCB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpKS5zZXQoJ3gtYnVzaW5lc3MtY3ljbGUnLCAgSlNPTi5zdHJpbmdpZnkoKHRoaXMuZ2V0QnVzaW5lc3NDeWNsZSgpKSkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYucHJvZ3JhbUVuZHBvaW50ICsgJy9jYXRlZ29yeS9lZGl0Q2F0ZWdvcnkvJysgaWQgICsgJz9pc0J1c2luZXNzQ3ljbGU9dHJ1ZSZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyxwYXlsb2FkLCB7aGVhZGVyc30pO1xyXG59XHJcblxyXG5cclxuZ2V0TWVtZWJlckJ5SWRzKGlkczphbnkpe1xyXG4gIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ3Rva2VuJywgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKSk7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPih0aGlzLmVudi5vcmdhbml6YXRpb25Qb3N0ICsgJ21lbWJlckRldGFpbHNieUlkcyZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7bWVtYmVyX2lkOiBpZHN9LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG59XHJcblxyXG5nZXRNZW1iZXJCeUdyb3VwcyhpZHM6YW55KXtcclxuICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCd0b2tlbicsIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKCkpO1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4odGhpcy5lbnYub3JnYW5pemF0aW9uUG9zdCArICdncm91cERldGFpbHNieUlkcyZieXBhc3MtYnVzaW5lc3NDeWNsZT10cnVlJyx7Z3JvdXBfaWRzOiBpZHN9LCB7aGVhZGVyc30pLnBpcGUocmV0cnkoMikpO1xyXG59XHJcblxyXG59XHJcbiJdfQ==