vcomply-workflow-engine 2.9.62 → 2.9.64

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 (59) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +154 -122
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.js +28 -36
  4. package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngfactory.js +35 -25
  5. package/esm2015/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.ngsummary.json +1 -1
  6. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.js +14 -8
  7. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngfactory.js +13 -9
  8. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.ngsummary.json +1 -1
  9. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.js +21 -4
  10. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngfactory.js +8 -5
  11. package/esm2015/lib/sharedComponents/approval-workflow/approval-workflow.component.ngsummary.json +1 -1
  12. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +2 -2
  13. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +5 -5
  14. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +2 -2
  15. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.ngfactory.js +2 -2
  16. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.js +2 -2
  17. package/esm2015/lib/sharedComponents/floating-bar/floating-bar.component.ngfactory.js +3 -3
  18. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +4 -4
  19. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.js +19 -40
  20. package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.js +3 -3
  21. package/esm2015/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.ngfactory.js +4 -4
  22. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.js +3 -3
  23. package/esm2015/lib/sharedComponents/frequency/frequency-container/frequency-container.component.ngfactory.js +7 -7
  24. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.js +3 -3
  25. package/esm2015/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.ngfactory.js +3 -3
  26. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.js +3 -3
  27. package/esm2015/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.ngfactory.js +9 -9
  28. package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.js +3 -3
  29. package/esm2015/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.ngfactory.js +4 -4
  30. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.js +5 -5
  31. package/esm2015/lib/sharedComponents/frequency/frequency-top/frequency-top.component.ngfactory.js +19 -19
  32. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.js +1 -1
  33. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.js +3 -3
  34. package/esm2015/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.ngfactory.js +2 -2
  35. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.js +3 -3
  36. package/esm2015/lib/sharedComponents/group-users-list/group-users-list.component.ngfactory.js +2 -2
  37. package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.js +13 -13
  38. package/esm2015/lib/sharedComponents/link-program/link-program/link-program.component.ngfactory.js +61 -36
  39. package/esm2015/lib/sharedComponents/link-program/restapi.service.js +8 -8
  40. package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.js +2 -8
  41. package/esm2015/lib/sharedComponents/select-approvers/select-approvers.component.ngfactory.js +2 -2
  42. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  43. package/esm2015/lib/workflow-policy/workflow-policy.component.js +48 -25
  44. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +415 -335
  45. package/esm2015/lib/workflow-policy/workflow-policy.component.ngsummary.json +1 -1
  46. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.js +2 -2
  47. package/esm2015/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.ngfactory.js +2 -2
  48. package/fesm2015/vcomply-workflow-engine.js +154 -122
  49. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  50. package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +3 -0
  51. package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +3 -0
  52. package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +5 -0
  53. package/lib/sharedComponents/link-program/restapi.service.d.ts +1 -1
  54. package/lib/workflow-policy/workflow-policy.component.d.ts +9 -0
  55. package/package.json +2 -2
  56. package/vcomply-workflow-engine.metadata.json +1 -1
  57. package/lib/ui-kit/directive/directive.module.ts +0 -17
  58. package/lib/ui-kit/directive/stop-propagation.directive.spec.ts +0 -8
  59. package/lib/ui-kit/directive/stop-propagation.directive.ts +0 -15
@@ -55,7 +55,7 @@ function View_FloatingBarComponent_8(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld
55
55
  } return ad; }, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE9AE"]))], null, null); }
56
56
  function View_FloatingBarComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 12, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_4)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_5)), i1.ɵdid(4, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_FloatingBarComponent_6)), i1.ɵdid(6, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), i1.ɵppd(7, 1), (_l()(), i1.ɵand(16777216, null, null, 2, null, View_FloatingBarComponent_7)), i1.ɵdid(9, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), i1.ɵppd(10, 1), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_8)), i1.ɵdid(12, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = (!_co.nonRemovableUsersList.includes(_v.parent.context.$implicit[_co.elementId]) && (_co.removePosition != "right")); _ck(_v, 2, 0, currVal_0); var currVal_1 = ((_co.selectedWorkflow == "SEQUENTIAL") && _co.showWorkflow); _ck(_v, 4, 0, currVal_1); var currVal_2 = (i1.ɵunv(_v, 6, 0, _ck(_v, 7, 0, i1.ɵnov(_v.parent.parent.parent, 0), _v.parent.context.$implicit[_co.displayElementKey])) !== "object"); _ck(_v, 6, 0, currVal_2); var currVal_3 = (i1.ɵunv(_v, 9, 0, _ck(_v, 10, 0, i1.ɵnov(_v.parent.parent.parent, 0), _v.parent.context.$implicit[_co.displayElementKey])) === "object"); _ck(_v, 9, 0, currVal_3); var currVal_4 = (!_co.nonRemovableUsersList.includes(_v.parent.context.$implicit[_co.elementId]) && (_co.removePosition == "right")); _ck(_v, 12, 0, currVal_4); }, null); }
57
57
  function View_FloatingBarComponent_2(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, null, null, null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_3)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var currVal_0 = _v.context.$implicit; _ck(_v, 2, 0, currVal_0); }, null); }
58
- function View_FloatingBarComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "button", [["appPopover", ""], ["class", "countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4"], ["placement", "left"]], null, [[null, "click"], [null, "mouseenter"], [null, "mouseover"]], function (_v, en, $event) { var ad = true; if (("click" === en)) {
58
+ function View_FloatingBarComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 2, "button", [["appPopover", ""], ["class", "countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4"], ["placement", "left"]], [[2, "greenBg", null]], [[null, "click"], [null, "mouseenter"], [null, "mouseover"]], function (_v, en, $event) { var ad = true; if (("click" === en)) {
59
59
  var pd_0 = (i1.ɵnov(_v, 1).click() !== false);
60
60
  ad = (pd_0 && ad);
61
61
  } if (("mouseenter" === en)) {
@@ -67,7 +67,7 @@ function View_FloatingBarComponent_9(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld
67
67
  } if (("click" === en)) {
68
68
  var pd_3 = (i1.ɵnov(_v.parent.parent, 19).popover() !== false);
69
69
  ad = (pd_3 && ad);
70
- } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.PopoverDirective, [i1.ElementRef, i5.PopoverService], { placement: [0, "placement"] }, null), (_l()(), i1.ɵted(2, null, ["+", ""]))], function (_ck, _v) { var currVal_0 = "left"; _ck(_v, 1, 0, currVal_0); }, function (_ck, _v) { var _co = _v.component; var tmp_1_0; var currVal_1 = ((_co.selectedData == null) ? null : (((tmp_1_0 = _co.selectedData.slice(1)) == null) ? null : tmp_1_0.length)); _ck(_v, 2, 0, currVal_1); }); }
70
+ } return ad; }, null, null)), i1.ɵdid(1, 16384, null, 0, i4.PopoverDirective, [i1.ElementRef, i5.PopoverService], { placement: [0, "placement"] }, null), (_l()(), i1.ɵted(2, null, ["+", ""]))], function (_ck, _v) { var currVal_1 = "left"; _ck(_v, 1, 0, currVal_1); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = false; _ck(_v, 0, 0, currVal_0); var tmp_2_0; var currVal_2 = ((_co.selectedData == null) ? null : (((tmp_2_0 = _co.selectedData.slice(1)) == null) ? null : tmp_2_0.length)); _ck(_v, 2, 0, currVal_2); }); }
71
71
  function View_FloatingBarComponent_11(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, ["", ""]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.singularText; _ck(_v, 1, 0, currVal_0); }); }
72
72
  function View_FloatingBarComponent_12(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "span", [], null, null, null, null, null)), (_l()(), i1.ɵted(1, null, ["", ""]))], null, function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.pluralText; _ck(_v, 1, 0, currVal_0); }); }
73
73
  function View_FloatingBarComponent_10(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, "div", [["class", "name"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_11)), i1.ɵdid(2, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FloatingBarComponent_12)), i1.ɵdid(4, 16384, null, 0, i3.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (((_co.selectedData == null) ? null : _co.selectedData.slice(1).length) === 1); _ck(_v, 2, 0, currVal_0); var currVal_1 = (((_co.selectedData == null) ? null : _co.selectedData.slice(1).length) > 1); _ck(_v, 4, 0, currVal_1); }, null); }
@@ -204,4 +204,4 @@ export function View_FloatingBarComponent_0(_l) { return i1.ɵvid(0, [i1.ɵpid(0
204
204
  export function View_FloatingBarComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-floating-bar", [], null, null, null, View_FloatingBarComponent_0, RenderType_FloatingBarComponent)), i1.ɵdid(1, 638976, null, 0, i19.FloatingBarComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
205
205
  var FloatingBarComponentNgFactory = i1.ɵccf("app-floating-bar", i19.FloatingBarComponent, View_FloatingBarComponent_Host_0, { selectedData: "selectedData", selectedGroups: "selectedGroups", displayElementKey: "displayElementKey", elementId: "elementId", singularText: "singularText", pluralText: "pluralText", showNextButton: "showNextButton", showFrequencyText: "showFrequencyText", showWorkflow: "showWorkflow", workflowText: "workflowText", currentFrequency: "currentFrequency", isDisabled: "isDisabled", workflowList: "workflowList", selectedWorkflow: "selectedWorkflow", workflowPlaceHolder: "workflowPlaceHolder", mode: "mode", defaultSelectedValue: "defaultSelected", groupsEnabled: "groupsEnabled", nonRemovableUsersList: "nonRemovableUsersList", removePosition: "removePosition" }, { closeEvent: "closeEvent", deleteEvent: "deleteEvent", closeList: "closeList", deleteGroupEvent: "deleteGroupEvent", workflowTypeChanged: "workflowTypeChanged" }, ["*"]);
206
206
  export { FloatingBarComponentNgFactory as FloatingBarComponentNgFactory };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmFyLmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRENPYyx3TEFBZ00sWUFBcEc7O3dCQUFpQztNQUE3SCx3QkFBZ00sS0FBWixtQ0FBUTsrREFDNUwsOEZBQTBMLEtBQWhILDZUQUF5RzsrREFDbkw7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBaVEsSUFBckMsZ0NBQThCLG1EQUFsSixzREFBeUMscUJBQUMsNkJBQXVCLEVBQVcsdUJBQVksRUFBQyxxQkFBMEIsRUFBM04sWUFBaVEsRUFBekosU0FBeUMsRUFBQyxTQUF1QixFQUFXLFNBQVksRUFBQyxTQUEwQixtREFBQyxrR0FBOEI7K0RBQzFQLHdIQUNnRCxLQUR3RCw4VUFDL0Q7K0RBQ3ZDLHdMQUFnTSxZQUE5Qzs7d0JBQWlDO01BQW5MLHdCQUFnTSxLQUFaLG1DQUFROytEQU5oTSw4RUFPZSxLQU5iLG9MQUFnTSxJQUNoTSxvTEFBMEwsSUFDMUwsb0xBQWlRLEdBQTNQLFlBQTBELElBQ2hFLG9MQUNnRCxHQUQxQyxhQUEwRCxJQUU5RCxxTEFBZ00sc0ZBTC9MLGtJQUF3RixJQUEzRixZQUFnTSxFQUE3TCxTQUF3RixHQUN4RSw4REFBc0QsZ0JBQXpFLFlBQTBMLEVBQXZLLFNBQXNELEdBQ25FLHVKQUEwRCxHQUFoRSxZQUFpUSxFQUEzUCxT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QU0sTUFDekQsc0xBQTZILElBSW5JOzs7K05BaUNjLElBaENaLHFHQStCTSxLQTlCSixvR0E2QkssS0FuQkgsb05Ba0JLLElBSVg7Ozs4T0FVYyxJQVRaLHFHQVFNLEtBUEosb0dBTUssS0FMSCxvTkFJSyxHQUpELDJCQUE0QyxJQVF0RDs7O2dPQVVjLElBVFoscUdBUU0sS0FQSixvR0FNSyxLQUxILG9OQUlLLEdBSkQsMkJBQThDLGlEQTNJcEMsc0RBQWlELGlCQUEvRCxZQW9DZSxFQXBDRCxTQUFpRCxHQXFDakQsbUJBQXFCLGdCQUFuQyxZQWdCZSxFQWhCRCxTQUFxQixHQWlCckIsbUJBQXlCLG9CQUF2QyxZQUllLEVBSkQsU0FBeUIsR0FPckIsOEhBQW9HLEtBQXhILGFBdUJNLEVBdkJjLFNBQW9HLEdBMEI5RyxtQkFBc0IsaUJBQTlCLGFBQTZILEVBQXJILFNBQXNCLEdBSVYsb0JBQXlCLEVBQW5ELGFBaUNjLEVBakNZLFNBQXlCLEdBWXpDLDZFQUE0RCxJQUFoRSxhQWtCSyxFQWxCRCxTQUE0RCxHQXNCN0Isb0JBQXlCLEVBQWxFLGFBVWMsRUFWMkIsU0FBeUIsR0FHeEQsZ0ZBQTRDLElBQWhELGFBSUssRUFKRCxTQUE0QyxHQVEzQixvQkFBeUIsRUFBcEQsYUFVYyxFQVZhLFNBQXlCLEdBRzFDLG1GQUE4QyxJQUFsRCxhQUlLLEVBSkQsVUFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8ZGl2IGNsYXNzPVwidXNlckdyb3VwLWZsb2F0aW5nLWJhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1c2VyR3JvdXAtZmxvYXRpbmctYmFyLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQgdXNlci1ncm91cC1sZWZ0XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZERhdGEubGVuZ3RoID4gMCAmJiAhZ3JvdXBzRW5hYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwQ29udGFpbmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtMiB2eC1wci0yIHZ4LW1yLTJcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWREYXRhPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnRcIj5cclxuICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFub25SZW1vdmFibGVVc2Vyc0xpc3QuaW5jbHVkZXMoZWxlbWVudFtlbGVtZW50SWRdKSAmJiByZW1vdmVQb3NpdGlvbiAhPSAncmlnaHQnXCIgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGVkKGVsZW1lbnQpXCIgY2xhc3M9XCJpY29ucyBjcm9zcyB2eC1mcy0xMCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTFcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBcIiAqbmdJZj1cInNlbGVjdGVkV29ya2Zsb3c9PSdTRVFVRU5USUFMJyAmJiBzaG93V29ya2Zsb3dcIj57eygoc2VsZWN0ZWREYXRhLmxlbmd0aDw9MikgJiYgKGk9PXNlbGVjdGVkRGF0YS5sZW5ndGgtMSkpICYmIHNlbGVjdGVkRGF0YS5sZW5ndGggPiAxPyAnRmluYWwnIDogKGkrMSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV18ZGF0YVR5cGUpICE9PSAnb2JqZWN0J1wiIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCIgW2FwcFRvb2x0aXBdPVwiZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV1cIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKGVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfGRhdGFUeXBlKSA9PT0gJ29iamVjdCdcIiBjbGFzcz1cImNoaXBOYW1lIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dFwiPnt7ZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV0gfCBzbGljZTpcclxuICAgICAgICAgICAgICAgIGVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldLmxlbmd0aCAtMSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0xXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGVsZW1lbnRbZWxlbWVudElkXSkgJiYgcmVtb3ZlUG9zaXRpb24gPT0gJ3JpZ2h0J1wiIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjFcIiBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTRcIiBhcHBQb3BvdmVyIChjbGljayk9XCJ1c2VyUG9wb3Zlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+K3t7c2VsZWN0ZWREYXRhPy5zbGljZSgxKT8ubGVuZ3RofX08L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjaGlwXCIgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWREYXRhPy5zbGljZSgwLDEpO2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbGVtZW50XCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAqbmdJZj1cIiFub25SZW1vdmFibGVVc2Vyc0xpc3QuaW5jbHVkZXMoZWxlbWVudFtlbGVtZW50SWRdKSAmJiByZW1vdmVQb3NpdGlvbiAhPSAncmlnaHQnXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwXCIgKm5nSWY9XCJzZWxlY3RlZFdvcmtmbG93PT0nU0VRVUVOVElBTCcgJiYgc2hvd1dvcmtmbG93XCI+XHJcbiAgICAgICAgICAgICAge3soKHNlbGVjdGVkRGF0YS5sZW5ndGg8PTIpICYmIChpPT1zZWxlY3RlZERhdGEubGVuZ3RoLTEpKSAmJiBzZWxlY3RlZERhdGEubGVuZ3RoID4gMT8gJ0ZpbmFsJyA6IChpKzEpIH19IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICAqbmdJZj1cIihlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XXxkYXRhVHlwZSkgIT09ICdvYmplY3QnXCIgW2FwcFRvb2x0aXBdPVwiZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV1cIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV18ZGF0YVR5cGUpID09PSAnb2JqZWN0J1wiPnt7ZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV0gfCBzbGljZTpcclxuICAgICAgICAgICAgICAgICAgZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV0ubGVuZ3RoIC0xIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhlbGVtZW50W2VsZW1lbnRJZF0pICYmIHJlbW92ZVBvc2l0aW9uID09ICdyaWdodCdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjb3VudGVyXCIgKm5nSWY9XCJzZWxlY3RlZERhdGE/Lmxlbmd0aD4xXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwidXNlclBvcG92ZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkRGF0YT8uc2xpY2UoMSk/Lmxlbmd0aH19PC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCIgKm5nSWY9XCJzZWxlY3RlZERhdGE/Lmxlbmd0aD4xXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkRGF0YT8uc2xpY2UoMSkubGVuZ3RoID09PSAxXCI+e3tzaW5ndWxhclRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5zbGljZSgxKS5sZW5ndGggPiAxXCI+e3twbHVyYWxUZXh0fX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JvdXBzRW5hYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWNoaXBcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8aSAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoc2VsZWN0ZWREYXRhWzBdKVwiIGNsYXNzPVwiaWNvbnMgY3Jvc3NcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLW5hbWVcIiBhcHBUb29sdGlwPVwie3tzZWxlY3RlZERhdGFbMF1bZGlzcGxheUVsZW1lbnRLZXldfX1cIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tzZWxlY3RlZERhdGFbMF1bZGlzcGxheUVsZW1lbnRLZXldfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyXCIgKm5nSWY9XCJzZWxlY3RlZERhdGE/Lmxlbmd0aD4xXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwiVXNlcldpdGhGZWF0dXJlRmxhZ1BvcG92ZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkRGF0YT8ubGVuZ3RoIC0gMX19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdXNlckdyb3VwLW5hbWVcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjAgJiYgZ3JvdXBzRW5hYmxlZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyR3JvdXAtdGV4dFwiICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5sZW5ndGggPT09IDFcIj4ge3tzZWxlY3RlZEdyb3VwcyAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6Jyd9fTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXNlckdyb3VwLXRleHRcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoID4gMVwiPlVzZXJzIHt7c2VsZWN0ZWRHcm91cHMgJiYgc2VsZWN0ZWRHcm91cHM/Lmxlbmd0aCA+IDAgPycgJiAnOidzZWxlY3RlZCd9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1jaGlwXCIgKm5nSWY9XCJzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNyb3NzXCIgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGVkR3JvdXAoc2VsZWN0ZWRHcm91cHNbMF0pXCI+JiN4ZTlhZTs8L2k+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1ncm91cC1uYW1lXCIgYXBwVG9vbHRpcD1cInt7c2VsZWN0ZWRHcm91cHNbMF0/Lmdyb3VwX25hbWV9fVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3NlbGVjdGVkR3JvdXBzWzBdPy5ncm91cF9uYW1lfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3VudGVyIGdyb3VwXCIgKm5nSWY9XCJzZWxlY3RlZEdyb3Vwcy5sZW5ndGggPiAxXCIgYXBwUG9wb3ZlciAoY2xpY2spPVwiZ3JvdXBQb3BvdmVyLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj4re3tzZWxlY3RlZEdyb3Vwcy5sZW5ndGggLTF9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHVzZXJHcm91cC1uYW1lXCIgKm5nSWY9XCJzZWxlY3RlZEdyb3Vwcy5sZW5ndGggPiAwXCI+e3tzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMSA/JyBVc2VyIEdyb3VwcyBzZWxlY3RlZCAnOicnfX08L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93RnJlcXVlbmN5VGV4dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHZ4LW1sLTBcIj5cclxuICAgICAgICAgIDxzcGFuPllvdSBoYXZlIHNlbGVjdGVkIDxzcGFuIGNsYXNzPVwidngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPnt7Y3VycmVudEZyZXF1ZW5jeX19PC9zcGFuPiBmcmVxdWVuY3kuPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2VudGVyXCIgKm5nSWY9XCIoc2hvd1dvcmtmbG93ICYmIG1vZGUgPT09ICdDUkVBVEUnICl8fChzaG93V29ya2Zsb3cgJiYgd29ya2Zsb3dMaXN0LmluY2x1ZGVzKCdST1VORC1ST0JJTicpKVwiPlxyXG4gICAgICA8bGFiZWw+XHJcbiAgICAgICAge3t3b3JrZmxvd1RleHR9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwid29ya2Zsb3dUZXh0PT0nQXBwcm92YWwgV29ya2Zsb3cnXCIgbGliUG9wb3ZlckhvdmVyIChtb3VzZW92ZXIpPVwiZGF0YVRvb2x0aXAucG9wb3ZlcigpXCIgKG1vdXNlbGVhdmUpPVwiZGF0YVRvb2x0aXAuY2xvc2VQb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWY7PC9pPjwvc3Bhbj5cclxuXHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cG9wb3Zlci1ob3ZlciAjZGF0YVRvb2x0aXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWluZm8tY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWluZm8tY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gc2VsZWN0IGZyb20gdGhlIGZvbGxvd2luZyB0aHJlZSBvcHRpb25zOjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5TZXF1ZW50aWFsOjwvc3Ryb25nPiBUaGUgcG9saWN5IHdvdWxkIGJlIHNlbnQgZm9yIGFwcHJvdmFsIG9uZSBhdCBhIHRpbWUgaW4gdGhlIHNlcXVlbmNlIGRlZmluZWQgYnkgeW91Ljxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5Sb3VuZC1yb2Jpbjo8L3N0cm9uZz4gVGhlIHBvbGljeSB3aWxsIGJlIHNlbnQgZm9yIGFwcHJvdmFsIHRvIGFsbCBhcHByb3ZlcnMgYXQgdGhlIHNhbWUgdGltZS4gSG93ZXZlciwgaXQgaXMgbWFuZGF0b3J5IGZvciBhbGwgYXBwcm92ZXJzIHRvIHRha2UgYWN0aW9uLjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5BbnkgT25lOjwvc3Ryb25nPiBUaGUgcG9saWN5IHdpbGwgYmUgc2VudCBmb3IgYXBwcm92YWwgdG8gYWxsIGFwcHJvdmVycyBhdCB0aGUgc2FtZSB0aW1lLiBJZiBhbnlvbmUgb2YgdGhlIGFwcHJvdmVyIGFwcHJvdmVzIHRoZSBwb2xpY3ksIGl0IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBhcHByb3ZlZC5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvcG9wb3Zlci1ob3Zlcj5cclxuICAgICAgPGNzLXNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkV29ya2Zsb3dcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RlZFdvcmtmbG93Q2hhbmdlKCRldmVudClcIiBbcGxhY2Vob2xkZXJdPVwiJ0FwcHJvdmFsIFdvcmtGbG93IConXCIgIFtzZXRNYXhXaWR0aF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiB3b3JrZmxvd0xpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxyXG4gICAgICAgICAge3tkYXRhfX1cclxuICAgICAgICA8L2NzLW9wdGlvbj5cclxuICAgICAgPC9jcy1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICA8YnV0dG9uIGFwcFJpcHBsZSBjbGFzcz1cImNhbmNlbFwiIChjbGljayk9XCJjbG9zZSgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93TmV4dEJ1dHRvblwiIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgKGNsaWNrKT1cIm5leHQoKVwiIGFwcFJpcHBsZT5OZXh0IDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFlOzwvaT48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGFwcC1wb3BvdmVyICN1c2VyUG9wb3ZlciBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICA8IS0tIDxsaSBjbGFzcz1cIm11bHRpcGxlLXByb2dyYW1cIiAqbmdJZj1cImRlZmF1bHRTZWxlY3RlZD8uY2F0ZWdvcnlfaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiIFtjbGFzcy5kaXNhYmxlZF09XCJ0cnVlXCI+JiN4ZTkwZDs8L2k+XHJcbiAgICAgICAgICAgIHt7ZGVmYXVsdFNlbGVjdGVkPy5uYW1lfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmltYXJ5LWxhYmVsXCI+UFJJTUFSWTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPiAtLT5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIHNlbGVjdGVkRGF0YT8uc2xpY2UoMSk7IGxldCBpID1pbmRleFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiICpuZ0lmPVwiKGVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfGRhdGFUeXBlKSAhPT0gJ29iamVjdCdcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhlbGVtZW50W2VsZW1lbnRJZF0pXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGVwXCIgKm5nSWY9XCJzZWxlY3RlZFdvcmtmbG93PT0nU0VRVUVOVElBTCcgJiYgc2hvd1dvcmtmbG93XCI+XHJcbiAgICAgICAgICAgICAge3soaT09c2VsZWN0ZWREYXRhLnNsaWNlKDEpLmxlbmd0aC0xKT8gJ0ZpbmFsJyA6IChpKzIpIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAge3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiICpuZ0lmPVwiKGVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfGRhdGFUeXBlKSA9PT0gJ29iamVjdCdcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhlbGVtZW50W2VsZW1lbnRJZF0pXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoZWxlbWVudClcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAge3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZGVmYXVsdFNlbGVjdGVkPy5jYXRlZ29yeV9pZCAmJiBkZWZhdWx0U2VsZWN0ZWQ/LmNhdGVnb3J5X2lkID09PSBlbGVtZW50Py5jYXRlZ29yeV9pZFwiIGNsYXNzPVwicHJpbWFyeS1sYWJlbFwiPlBSSU1BUlk8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLXBvcG92ZXI+XHJcbjxhcHAtcG9wb3ZlciAjVXNlcldpdGhGZWF0dXJlRmxhZ1BvcG92ZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIHNlbGVjdGVkRGF0YSB8IHNsaWNlOiAxXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+PGkgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChkYXRhKVwiPiYjeGU5MGQ7PC9pPnt7ZGF0YVtkaXNwbGF5RWxlbWVudEtleV19fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLXBvcG92ZXI+XHJcbjxhcHAtcG9wb3ZlciAjZ3JvdXBQb3BvdmVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzZWxlY3RlZEdyb3VwcyB8IHNsaWNlOiAxXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+PGkgY2xhc3M9XCJpY29uc1wiIChjbGljayk9XCJkZWxldGVTZWxlY3RlZEdyb3VwKGRhdGEpXCI+JiN4ZTkwZDs8L2k+e3tkYXRhWydncm91cF9uYW1lJ119fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLXBvcG92ZXI+XHJcbiJdfQ==
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmFyLmNvbXBvbmVudC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsrRENPYyx3TEFBZ00sWUFBcEc7O3dCQUFpQztNQUE3SCx3QkFBZ00sS0FBWixtQ0FBUTsrREFDNUwsOEZBQTBMLEtBQWhILDZUQUF5RzsrREFDbkw7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBaVEsSUFBckMsZ0NBQThCLG1EQUFsSixzREFBeUMscUJBQUMsNkJBQXVCLEVBQVcsdUJBQVksRUFBQyxxQkFBMEIsRUFBM04sWUFBaVEsRUFBekosU0FBeUMsRUFBQyxTQUF1QixFQUFXLFNBQVksRUFBQyxTQUEwQixtREFBQyxrR0FBOEI7K0RBQzFQLHdIQUEyTCxLQUFuRiw4VUFBNEU7K0RBQ2xMLHdMQUFnTSxZQUE5Qzs7d0JBQWlDO01BQW5MLHdCQUFnTSxLQUFaLG1DQUFROytEQUxoTSw4RUFNZSxLQUxiLG9MQUFnTSxJQUNoTSxvTEFBMEwsSUFDMUwsb0xBQWlRLEdBQTNQLFlBQTBELElBQ2hFLG9MQUEyTCxHQUFyTCxhQUEwRCxJQUM5RCxxTEFBZ00sc0ZBSi9MLGtJQUF3RixJQUEzRixZQUFnTSxFQUE3TCxTQUF3RixHQUN4RSw4REFBc0QsZ0JBQXpFLFlBQTBMLEVBQXZLLFNBQXNELEdBQ25FLHVKQUEwRCxHQUFoRSxZQUFpUSxFQUEzUCxT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a0UsWUFBakM7O3dCQUFpQjtNQUFsRCx3QkFBa0UsS0FBZixtQ0FBTSxNQUN6RCxzTEFBNkgsSUFJbkk7OzsrTkFpQ2MsSUFoQ1oscUdBK0JNLEtBOUJKLG9HQTZCSyxLQW5CSCxvTkFrQkssSUFJWDs7OzhPQVVjLElBVFoscUdBUU0sS0FQSixvR0FNSyxLQUxILG9OQUlLLEdBSkQsMkJBQTRDLElBUXREOzs7Z09BVWMsSUFUWixxR0FRTSxLQVBKLG9HQU1LLEtBTEgsb05BSUssR0FKRCwyQkFBOEMsaURBMUlwQyxzREFBaUQsaUJBQS9ELFlBbUNlLEVBbkNELFNBQWlELEdBb0NqRCxtQkFBcUIsZ0JBQW5DLFlBZ0JlLEVBaEJELFNBQXFCLEdBaUJyQixtQkFBeUIsb0JBQXZDLFlBSWUsRUFKRCxTQUF5QixHQU9yQiw4SEFBb0csS0FBeEgsYUF1Qk0sRUF2QmMsU0FBb0csR0EwQjlHLG1CQUFzQixpQkFBOUIsYUFBNkgsRUFBckgsU0FBc0IsR0FJVixvQkFBeUIsRUFBbkQsYUFpQ2MsRUFqQ1ksU0FBeUIsR0FZekMsNkVBQTRELElBQWhFLGFBa0JLLEVBbEJELFNBQTRELEdBc0I3QixvQkFBeUIsRUFBbEUsYUFVYyxFQVYyQixTQUF5QixHQUd4RCxnRkFBNEMsSUFBaEQsYUFJSyxFQUpELFNBQTRDLEdBUTNCLG9CQUF5QixFQUFwRCxhQVVjLEVBVmEsU0FBeUIsR0FHMUMsbUZBQThDLElBQWxELGFBSUssRUFKRCxVQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJ1c2VyR3JvdXAtZmxvYXRpbmctYmFyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInVzZXJHcm91cC1mbG9hdGluZy1iYXItY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVmdCB1c2VyLWdyb3VwLWxlZnRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRGF0YS5sZW5ndGggPiAwICYmICFncm91cHNFbmFibGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTIgdngtbXItMlwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZERhdGE/LnNsaWNlKDAsMSk7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudFwiPlxyXG4gICAgICAgICAgICAgIDxpICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhlbGVtZW50W2VsZW1lbnRJZF0pICYmIHJlbW92ZVBvc2l0aW9uICE9ICdyaWdodCdcIiAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWQoZWxlbWVudClcIiBjbGFzcz1cImljb25zIGNyb3NzIHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHQgdngtbXItMVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RlcFwiICpuZ0lmPVwic2VsZWN0ZWRXb3JrZmxvdz09J1NFUVVFTlRJQUwnICYmIHNob3dXb3JrZmxvd1wiPnt7KChzZWxlY3RlZERhdGEubGVuZ3RoPD0yKSAmJiAoaT09c2VsZWN0ZWREYXRhLmxlbmd0aC0xKSkgJiYgc2VsZWN0ZWREYXRhLmxlbmd0aCA+IDE/ICdGaW5hbCcgOiAoaSsxKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XXxkYXRhVHlwZSkgIT09ICdvYmplY3QnXCIgY2xhc3M9XCJjaGlwTmFtZSB2eC1mcy0xMSB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2VsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIoZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV18ZGF0YVR5cGUpID09PSAnb2JqZWN0J1wiIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCI+e3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XSB8IHNsaWNlOmVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldLmxlbmd0aCAtMSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0xXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGVsZW1lbnRbZWxlbWVudElkXSkgJiYgcmVtb3ZlUG9zaXRpb24gPT0gJ3JpZ2h0J1wiIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjFcIiBjbGFzcz1cImNvdW50QnRuIHZ4LWZzLTkgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTRcIiBbY2xhc3MuZ3JlZW5CZ109XCJmYWxzZVwiIGFwcFBvcG92ZXIgKGNsaWNrKT1cInVzZXJQb3BvdmVyLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj4re3tzZWxlY3RlZERhdGE/LnNsaWNlKDEpPy5sZW5ndGh9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNoaXBcIiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBzZWxlY3RlZERhdGE/LnNsaWNlKDAsMSk7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVsZW1lbnRcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiIW5vblJlbW92YWJsZVVzZXJzTGlzdC5pbmNsdWRlcyhlbGVtZW50W2VsZW1lbnRJZF0pICYmIHJlbW92ZVBvc2l0aW9uICE9ICdyaWdodCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBcIiAqbmdJZj1cInNlbGVjdGVkV29ya2Zsb3c9PSdTRVFVRU5USUFMJyAmJiBzaG93V29ya2Zsb3dcIj5cclxuICAgICAgICAgICAgICB7eygoc2VsZWN0ZWREYXRhLmxlbmd0aDw9MikgJiYgKGk9PXNlbGVjdGVkRGF0YS5sZW5ndGgtMSkpICYmIHNlbGVjdGVkRGF0YS5sZW5ndGggPiAxPyAnRmluYWwnIDogKGkrMSkgfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gICpuZ0lmPVwiKGVsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfGRhdGFUeXBlKSAhPT0gJ29iamVjdCdcIiBbYXBwVG9vbHRpcF09XCJlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2VsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XXxkYXRhVHlwZSkgPT09ICdvYmplY3QnXCI+e3tlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XSB8IHNsaWNlOlxyXG4gICAgICAgICAgICAgICAgICBlbGVtZW50W2Rpc3BsYXlFbGVtZW50S2V5XS5sZW5ndGggLTEgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGVsZW1lbnRbZWxlbWVudElkXSkgJiYgcmVtb3ZlUG9zaXRpb24gPT0gJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvdW50ZXJcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjFcIiBhcHBQb3BvdmVyIChjbGljayk9XCJ1c2VyUG9wb3Zlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+K3t7c2VsZWN0ZWREYXRhPy5zbGljZSgxKT8ubGVuZ3RofX08L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjFcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5zbGljZSgxKS5sZW5ndGggPT09IDFcIj57e3Npbmd1bGFyVGV4dH19PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZERhdGE/LnNsaWNlKDEpLmxlbmd0aCA+IDFcIj57e3BsdXJhbFRleHR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJncm91cHNFbmFibGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtY2hpcFwiICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxpIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChzZWxlY3RlZERhdGFbMF0pXCIgY2xhc3M9XCJpY29ucyBjcm9zc1wiPiYjeGU5YWU7PC9pPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXItZ3JvdXAtbmFtZVwiIGFwcFRvb2x0aXA9XCJ7e3NlbGVjdGVkRGF0YVswXVtkaXNwbGF5RWxlbWVudEtleV19fVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3NlbGVjdGVkRGF0YVswXVtkaXNwbGF5RWxlbWVudEtleV19fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXJcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoPjFcIiBhcHBQb3BvdmVyIChjbGljayk9XCJVc2VyV2l0aEZlYXR1cmVGbGFnUG9wb3Zlci5wb3BvdmVyKClcIiBwbGFjZW1lbnQ9XCJsZWZ0XCI+K3t7c2VsZWN0ZWREYXRhPy5sZW5ndGggLSAxfX08L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZSB1c2VyR3JvdXAtbmFtZVwiICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5sZW5ndGg+MCAmJiBncm91cHNFbmFibGVkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXJHcm91cC10ZXh0XCIgKm5nSWY9XCJzZWxlY3RlZERhdGE/Lmxlbmd0aCA9PT0gMVwiPiB7e3NlbGVjdGVkR3JvdXBzICYmIHNlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAwID8nICYgJzonJ319PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1c2VyR3JvdXAtdGV4dFwiICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5sZW5ndGggPiAxXCI+VXNlcnMge3tzZWxlY3RlZEdyb3VwcyAmJiBzZWxlY3RlZEdyb3Vwcz8ubGVuZ3RoID4gMCA/JyAmICc6J3NlbGVjdGVkJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLWNoaXBcIiAqbmdJZj1cInNlbGVjdGVkR3JvdXBzPy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgY3Jvc3NcIiAoY2xpY2spPVwiZGVsZXRlU2VsZWN0ZWRHcm91cChzZWxlY3RlZEdyb3Vwc1swXSlcIj4mI3hlOWFlOzwvaT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWdyb3VwLW5hbWVcIiBhcHBUb29sdGlwPVwie3tzZWxlY3RlZEdyb3Vwc1swXT8uZ3JvdXBfbmFtZX19XCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7c2VsZWN0ZWRHcm91cHNbMF0/Lmdyb3VwX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXIgZ3JvdXBcIiAqbmdJZj1cInNlbGVjdGVkR3JvdXBzLmxlbmd0aCA+IDFcIiBhcHBQb3BvdmVyIChjbGljayk9XCJncm91cFBvcG92ZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPit7e3NlbGVjdGVkR3JvdXBzLmxlbmd0aCAtMX19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdXNlckdyb3VwLW5hbWVcIiAqbmdJZj1cInNlbGVjdGVkR3JvdXBzLmxlbmd0aCA+IDBcIj57e3NlbGVjdGVkR3JvdXBzPy5sZW5ndGggPiAxID8nIFVzZXIgR3JvdXBzIHNlbGVjdGVkICc6Jyd9fTwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGcmVxdWVuY3lUZXh0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUgdngtbWwtMFwiPlxyXG4gICAgICAgICAgPHNwYW4+WW91IGhhdmUgc2VsZWN0ZWQgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+e3tjdXJyZW50RnJlcXVlbmN5fX08L3NwYW4+IGZyZXF1ZW5jeS48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjZW50ZXJcIiAqbmdJZj1cIihzaG93V29ya2Zsb3cgJiYgbW9kZSA9PT0gJ0NSRUFURScgKXx8KHNob3dXb3JrZmxvdyAmJiB3b3JrZmxvd0xpc3QuaW5jbHVkZXMoJ1JPVU5ELVJPQklOJykpXCI+XHJcbiAgICAgIDxsYWJlbD5cclxuICAgICAgICB7e3dvcmtmbG93VGV4dH19XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJ3b3JrZmxvd1RleHQ9PSdBcHByb3ZhbCBXb3JrZmxvdydcIiBsaWJQb3BvdmVySG92ZXIgKG1vdXNlb3Zlcik9XCJkYXRhVG9vbHRpcC5wb3BvdmVyKClcIiAobW91c2VsZWF2ZSk9XCJkYXRhVG9vbHRpcC5jbG9zZVBvcG92ZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZjs8L2k+PC9zcGFuPlxyXG5cclxuICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwb3BvdmVyLWhvdmVyICNkYXRhVG9vbHRpcD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtaW5mby1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtaW5mby1jYXJkLWJvZHlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBzZWxlY3QgZnJvbSB0aGUgZm9sbG93aW5nIHRocmVlIG9wdGlvbnM6PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlNlcXVlbnRpYWw6PC9zdHJvbmc+IFRoZSBwb2xpY3kgd291bGQgYmUgc2VudCBmb3IgYXBwcm92YWwgb25lIGF0IGEgdGltZSBpbiB0aGUgc2VxdWVuY2UgZGVmaW5lZCBieSB5b3UuPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlJvdW5kLXJvYmluOjwvc3Ryb25nPiBUaGUgcG9saWN5IHdpbGwgYmUgc2VudCBmb3IgYXBwcm92YWwgdG8gYWxsIGFwcHJvdmVycyBhdCB0aGUgc2FtZSB0aW1lLiBIb3dldmVyLCBpdCBpcyBtYW5kYXRvcnkgZm9yIGFsbCBhcHByb3ZlcnMgdG8gdGFrZSBhY3Rpb24uPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkFueSBPbmU6PC9zdHJvbmc+IFRoZSBwb2xpY3kgd2lsbCBiZSBzZW50IGZvciBhcHByb3ZhbCB0byBhbGwgYXBwcm92ZXJzIGF0IHRoZSBzYW1lIHRpbWUuIElmIGFueW9uZSBvZiB0aGUgYXBwcm92ZXIgYXBwcm92ZXMgdGhlIHBvbGljeSwgaXQgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGFwcHJvdmVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9wb3BvdmVyLWhvdmVyPlxyXG4gICAgICA8Y3Mtc2VsZWN0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRXb3JrZmxvd1wiIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkV29ya2Zsb3dDaGFuZ2UoJGV2ZW50KVwiIFtwbGFjZWhvbGRlcl09XCInQXBwcm92YWwgV29ya0Zsb3cgKidcIiAgW3NldE1heFdpZHRoXT1cInRydWVcIj5cclxuICAgICAgICA8Y3Mtb3B0aW9uICpuZ0Zvcj1cImxldCBkYXRhIG9mIHdvcmtmbG93TGlzdFwiIFt2YWx1ZV09XCJkYXRhXCI+XHJcbiAgICAgICAgICB7e2RhdGF9fVxyXG4gICAgICAgIDwvY3Mtb3B0aW9uPlxyXG4gICAgICA8L2NzLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XHJcbiAgICAgIDxidXR0b24gYXBwUmlwcGxlIGNsYXNzPVwiY2FuY2VsXCIgKGNsaWNrKT1cImNsb3NlKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dOZXh0QnV0dG9uXCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiAoY2xpY2spPVwibmV4dCgpXCIgYXBwUmlwcGxlPk5leHQgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWU7PC9pPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48YXBwLXBvcG92ZXIgI3VzZXJQb3BvdmVyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgIDwhLS0gPGxpIGNsYXNzPVwibXVsdGlwbGUtcHJvZ3JhbVwiICpuZ0lmPVwiZGVmYXVsdFNlbGVjdGVkPy5jYXRlZ29yeV9pZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgW2NsYXNzLmRpc2FibGVkXT1cInRydWVcIj4mI3hlOTBkOzwvaT5cclxuICAgICAgICAgICAge3tkZWZhdWx0U2VsZWN0ZWQ/Lm5hbWV9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInByaW1hcnktbGFiZWxcIj5QUklNQVJZPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbGk+IC0tPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2Ygc2VsZWN0ZWREYXRhPy5zbGljZSgxKTsgbGV0IGkgPWluZGV4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgKm5nSWY9XCIoZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV18ZGF0YVR5cGUpICE9PSAnb2JqZWN0J1wiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGVsZW1lbnRbZWxlbWVudElkXSlcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0ZXBcIiAqbmdJZj1cInNlbGVjdGVkV29ya2Zsb3c9PSdTRVFVRU5USUFMJyAmJiBzaG93V29ya2Zsb3dcIj5cclxuICAgICAgICAgICAgICB7eyhpPT1zZWxlY3RlZERhdGEuc2xpY2UoMSkubGVuZ3RoLTEpPyAnRmluYWwnIDogKGkrMikgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICB7e2VsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCIgKm5nSWY9XCIoZWxlbWVudFtkaXNwbGF5RWxlbWVudEtleV18ZGF0YVR5cGUpID09PSAnb2JqZWN0J1wiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKm5nSWY9XCIhbm9uUmVtb3ZhYmxlVXNlcnNMaXN0LmluY2x1ZGVzKGVsZW1lbnRbZWxlbWVudElkXSlcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVTZWxlY3RlZChlbGVtZW50KVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICB7e2VsZW1lbnRbZGlzcGxheUVsZW1lbnRLZXldfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJkZWZhdWx0U2VsZWN0ZWQ/LmNhdGVnb3J5X2lkICYmIGRlZmF1bHRTZWxlY3RlZD8uY2F0ZWdvcnlfaWQgPT09IGVsZW1lbnQ/LmNhdGVnb3J5X2lkXCIgY2xhc3M9XCJwcmltYXJ5LWxhYmVsXCI+UFJJTUFSWTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9hcHAtcG9wb3Zlcj5cclxuPGFwcC1wb3BvdmVyICNVc2VyV2l0aEZlYXR1cmVGbGFnUG9wb3ZlciBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc2VsZWN0ZWREYXRhIHwgc2xpY2U6IDFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj48aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGVkKGRhdGEpXCI+JiN4ZTkwZDs8L2k+e3tkYXRhW2Rpc3BsYXlFbGVtZW50S2V5XX19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9hcHAtcG9wb3Zlcj5cclxuPGFwcC1wb3BvdmVyICNncm91cFBvcG92ZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgPHVsIGNsYXNzPVwiYWN0aW9uLWl0ZW1cIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBkYXRhIG9mIHNlbGVjdGVkR3JvdXBzIHwgc2xpY2U6IDFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj48aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cImRlbGV0ZVNlbGVjdGVkR3JvdXAoZGF0YSlcIj4mI3hlOTBkOzwvaT57e2RhdGFbJ2dyb3VwX25hbWUnXX19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuPC9hcHAtcG9wb3Zlcj5cclxuIl19
@@ -31,7 +31,7 @@ export class FormatAndEvidenceComponent {
31
31
  // 'Procedures Linked to this Policy',
32
32
  // 'Implementation Guidelines for this Policy',
33
33
  // 'Training Materials for this Policy'
34
- 'Charter', 'Related Documents', 'Reference Materials', 'Related procedures', 'Implementation guidelines', 'Training Materials', 'Regulatory Documents', 'Other (specify own)'
34
+ 'Charter', 'Related Documents', 'Reference Materials', 'Related procedures', 'Implementation guidelines', 'Training Materials', 'Regulatory Documents', 'Other'
35
35
  ];
36
36
  }
37
37
  set formatEvidanceData(value) {
@@ -238,7 +238,7 @@ export class FormatAndEvidenceComponent {
238
238
  selectedLinkSetChange(event, index) {
239
239
  var _a, _b;
240
240
  this.formate.files[index].linkSet = event;
241
- if (event === 'Other (specify own)' && !((_b = (_a = this.formate) === null || _a === void 0 ? void 0 : _a.files[index]) === null || _b === void 0 ? void 0 : _b.others)) {
241
+ if (event === 'Other' && !((_b = (_a = this.formate) === null || _a === void 0 ? void 0 : _a.files[index]) === null || _b === void 0 ? void 0 : _b.others)) {
242
242
  this.formate.files[index].others = [''];
243
243
  }
244
244
  this.emitValue();
@@ -288,7 +288,7 @@ export class FormatAndEvidenceComponent {
288
288
  FormatAndEvidenceComponent.decorators = [
289
289
  { type: Component, args: [{
290
290
  selector: 'app-format-and-evidence',
291
- template: "<div class=\"vx-form-group\" [class.policy-upload-file]=\"mode=='policy'\">\r\n <label class=\"vx-control-panel\" *ngIf=\"mode=='responsibility'\">\r\n Format & Evidence\r\n </label>\r\n <div class=\"upload-format\" *ngIf=\"mode!='policy' && mode!='policyReviewer'\">\r\n <span class=\"text\">Do you want to upload a format for this responsibility?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'format_required'\" [checked]=\"formate.hasUploadFormate === true\"\r\n (checkedEvent)=\"toggleIsFormateUpload(true)\">Yes</app-cs-radio>\r\n <app-cs-radio [name]=\"'format_required'\" [checked]=\"formate.hasUploadFormate === false\"\r\n (checkedEvent)=\"toggleIsFormateUpload(false)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"form-tab\" *ngIf=\"formate?.hasUploadFormate || mode=='policyReviewer'\">\r\n <button type=\"button\" [class.active]=\"formate?.formateType === 'FILE'\" (click)=\"toggleAttachmentType('FILE')\"\r\n [disabled]=\"formate.links?.length > 0\">Insert File</button>\r\n <button type=\"button\" [class.active]=\"formate?.formateType === 'LINK'\" (click)=\"toggleAttachmentType('LINK')\"\r\n [disabled]=\"formate.files?.length > 0\">Insert Link</button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"(formate?.hasUploadFormate && formate.formateType === 'FILE') || (mode=='policy'&& formate.formateType === 'FILE')||( mode=='policyReviewer'&& formate.formateType === 'FILE')\">\r\n <!-- -----------------------------file upload in progress ---------------------------------- -->\r\n <ng-container *ngIf=\"(formate?.uploadInProgress|keyvalue).length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let eachFile of formate?.uploadInProgress|keyvalue; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile.value}} </span>\r\n </div>\r\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\r\n </div>\r\n </ng-container>\r\n <!-- --------------------------------file upload ends here ----------------------------------------- -->\r\n <ng-container *ngIf=\"formate.files?.length > 0\">\r\n <ng-container *ngIf=\"mode!='policy'\">\r\n <div class=\"file-list\" *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile?.file_name }} </span>\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngIf=\"mode=='policy'\" class=\"policy-related-document-field vx-p-3 vx-pt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mb-2\">LINK THE DOCUMENT AND SPECIFY THE RELATIONSHIP WITH THIS POLICY</div>\r\n <div class=\"file-list policy\" *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file table pdf\">\r\n <i class=\"icons\">&#xe92e;</i>\r\n <span class=\"format pdf\">pdf</span>\r\n </span>\r\n <span class=\"file-name\">{{eachFile?.file_name}}</span>\r\n <div class=\"button-group\">\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <cs-select [(ngModel)]=\"eachFile.linkSet\" (ngModelChange)=\"selectedLinkSetChange($event,i)\" [placeholder]=\"'Define the document\\'s relationship to this policy'\" name=\"selected\" >\r\n <cs-option *ngFor=\"let data of policyLinkSetList\" [value]=\"data\">\r\n {{data}}\r\n </cs-option>\r\n </cs-select>\r\n <ng-container *ngFor=\"let other of eachFile?.others; let j = index\">\r\n <input *ngIf=\"eachFile?.linkSet === 'Other (specify own)'\" [ngModel]=\"eachFile.others[j]\" (ngModelChange)=\"selectedLinkSetChange('Other (specify own)',i, $event, j)\" class=\"linkage-input\" type=\"text\" placeholder=\"Type the linkage details\" />\r\n </ng-container>\r\n <button *ngIf=\"eachFile?.linkSet === 'Other (specify own)'\" class=\"linkage-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-mt-2\" (click)=\"addMoreDocumentsDetails(i)\">+ ADD MORE</button>\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- <label class=\"vx-control-panel\" *ngIf=\"mode=='policy'\">\r\n LINK THE DOCUMENT AND SPECIFY THE RELATIONSHIP WITH THIS POLICY\r\n </label>\r\n <ng-container *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-list\" *ngIf=\"mode!='policy'\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile?.file_name }} </span>\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div> \r\n <div class=\"file-list policy\" *ngIf=\"mode=='policy'\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{eachFile?.file_name}}</span>\r\n <div class=\"button-group\">\r\n <!- - <button class=\"edit\">\r\n <i class=\"icons\">&#xe9ba;</i>\r\n </button> - ->\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <cs-select [(ngModel)]=\"eachFile.linkSet\" (ngModelChange)=\"selectedLinkSetChange($event,i)\" [placeholder]=\"'Define the document\\'s relationship to this policy'\" name=\"selected\" >\r\n <cs-option *ngFor=\"let data of policyLinkSetList\" [value]=\"data\">\r\n {{data}}\r\n </cs-option>\r\n </cs-select>\r\n </div>\r\n </ng-container> -->\r\n </ng-container>\r\n <!-- -----------------------------------drag and drop ---------------------------------------------- -->\r\n <div class=\"tab-group\" [class.uploaded]=\"formate.files?.length > 0\" appDragDrop (fileDropped)=\"onFileDropped($event)\">\r\n <label class=\"upload-file\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/upload.svg\" alt=\"\" class=\"image\">\r\n <div class=\"browse\">\r\n <span>\r\n <ng-container *ngIf=\"mode!='policy'\">Drop your files here / </ng-container>\r\n <ng-container *ngIf=\"mode=='policy'\">Drop your files here / </ng-container>\r\n <span class=\"label\">Browse\r\n <input type=\"file\" multiple (change)=\"onFileDropped($event.target.files)\">\r\n </span>\r\n </span>\r\n <!-- <span *ngIf=\"mode!='policy'\">Drop your files here /</span>\r\n <span *ngIf=\"mode=='policy'\">Drag & drop to upload files associated with this policy /</span>\r\n <span class=\"label\">Browse\r\n <input type=\"file\" multiple (change)=\"onFileDropped($event.target.files)\">\r\n </span> -->\r\n </div>\r\n </label>\r\n </div>\r\n <!-- ------------------------------------------drag drop ends here -------------------------------------------- -->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"(formate?.hasUploadFormate && formate.formateType === 'LINK')||(mode=='policyReviewer' && formate.formateType === 'LINK') \">\r\n <ng-container *ngIf=\"formate.links.length > 0\">\r\n <ng-container *ngFor=\"let link of formate.links; let i = index\">\r\n <div class=\"file-list\" *ngIf=\"!link.isEditing\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ link.link }} </span>\r\n <span class=\"button-group\">\r\n <button [class.disabled]=\"isEditDisabled\" class=\"edit\" (click)=\"editLink(i)\">\r\n <i class=\"icons\">&#xe9ba;</i>\r\n </button>\r\n <button (click)=\"deleteLink(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"link.isEditing\">\r\n <input type=\"text\" class=\"edit-link\" appAutofocus placeholder=\"Enter the link here\" [(ngModel)]=\"link.link\"\r\n (focusout)=\"insertLink('EDIT',i)\" (keydown.enter)=\"insertLink('EDIT',i)\" />\r\n <p class=\"error-message\" *ngIf=\"link.containsError\">Please insert a valid link</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <input [disabled]=\"isNewLinkDisabled\" class=\"edit-link\" type=\"text\" [(ngModel)]=\"newLink.link\" placeholder=\"Enter the link here\"\r\n (focusout)=\"insertLink('CREATE')\" (keydown.enter)=\"insertLink('CREATE')\" />\r\n <p class=\"error-message\" *ngIf=\"newLink.containsError\">Please insert a valid link</p>\r\n </ng-container>\r\n <div class=\"upload-format\" *ngIf=\"mode=='responsibility'\">\r\n <span class=\"text\">Do you want evidence of completion of the responsibility to be uploaded?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"formate.isEvidenceRequired === true\"\r\n (checkedEvent)=\"toggleIsFormatRequired(true)\">Yes</app-cs-radio>\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"formate.isEvidenceRequired === false\"\r\n (checkedEvent)=\"toggleIsFormatRequired(false)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n",
291
+ template: "<div class=\"vx-form-group\" [class.policy-upload-file]=\"mode=='policy'\">\r\n <label class=\"vx-control-panel\" *ngIf=\"mode=='responsibility'\">\r\n Format & Evidence\r\n </label>\r\n <div class=\"upload-format\" *ngIf=\"mode!='policy' && mode!='policyReviewer'\">\r\n <span class=\"text\">Do you want to upload a format for this responsibility?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'format_required'\" [checked]=\"formate.hasUploadFormate === true\"\r\n (checkedEvent)=\"toggleIsFormateUpload(true)\">Yes</app-cs-radio>\r\n <app-cs-radio [name]=\"'format_required'\" [checked]=\"formate.hasUploadFormate === false\"\r\n (checkedEvent)=\"toggleIsFormateUpload(false)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n <div class=\"form-tab\" *ngIf=\"formate?.hasUploadFormate || mode=='policyReviewer'\">\r\n <button type=\"button\" [class.active]=\"formate?.formateType === 'FILE'\" (click)=\"toggleAttachmentType('FILE')\"\r\n [disabled]=\"formate.links?.length > 0\">Insert File</button>\r\n <button type=\"button\" [class.active]=\"formate?.formateType === 'LINK'\" (click)=\"toggleAttachmentType('LINK')\"\r\n [disabled]=\"formate.files?.length > 0\">Insert Link</button>\r\n </div>\r\n\r\n <ng-container *ngIf=\"(formate?.hasUploadFormate && formate.formateType === 'FILE') || (mode=='policy'&& formate.formateType === 'FILE')||( mode=='policyReviewer'&& formate.formateType === 'FILE')\">\r\n <!-- -----------------------------file upload in progress ---------------------------------- -->\r\n <ng-container *ngIf=\"(formate?.uploadInProgress|keyvalue).length > 0\">\r\n <div class=\"file-list\" *ngFor=\"let eachFile of formate?.uploadInProgress|keyvalue; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile.value}} </span>\r\n </div>\r\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\r\n </div>\r\n </ng-container>\r\n <!-- --------------------------------file upload ends here ----------------------------------------- -->\r\n <ng-container *ngIf=\"formate.files?.length > 0\">\r\n <ng-container *ngIf=\"mode!='policy'\">\r\n <div class=\"file-list\" *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile?.file_name }} </span>\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngIf=\"mode=='policy'\" class=\"policy-related-document-field vx-p-3 vx-pt-2\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-paragraph-txt vx-tt-uppercase vx-mb-2\">LINK THE DOCUMENT AND SPECIFY THE RELATIONSHIP WITH THIS POLICY</div>\r\n <div class=\"file-list policy\" *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-container\">\r\n <span class=\"file table pdf\">\r\n <i class=\"icons\">&#xe92e;</i>\r\n <span class=\"format pdf\">pdf</span>\r\n </span>\r\n <span class=\"file-name\">{{eachFile?.file_name}}</span>\r\n <div class=\"button-group\">\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <cs-select [(ngModel)]=\"eachFile.linkSet\" (ngModelChange)=\"selectedLinkSetChange($event,i)\" [placeholder]=\"'Define the document\\'s relationship to this policy'\" name=\"selected\" >\r\n <cs-option *ngFor=\"let data of policyLinkSetList\" [value]=\"data\">\r\n {{data}}\r\n </cs-option>\r\n </cs-select>\r\n <!-- <ng-container *ngFor=\"let other of eachFile?.others; let j = index\">\r\n <input *ngIf=\"eachFile?.linkSet === 'Other (specify own)'\" [ngModel]=\"eachFile.others[j]\" (ngModelChange)=\"selectedLinkSetChange('Other (specify own)',i, $event, j)\" class=\"linkage-input\" type=\"text\" placeholder=\"Type the linkage details\" />\r\n </ng-container>\r\n <button *ngIf=\"eachFile?.linkSet === 'Other (specify own)'\" class=\"linkage-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-mt-2\" (click)=\"addMoreDocumentsDetails(i)\">+ ADD MORE</button> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- <label class=\"vx-control-panel\" *ngIf=\"mode=='policy'\">\r\n LINK THE DOCUMENT AND SPECIFY THE RELATIONSHIP WITH THIS POLICY\r\n </label>\r\n <ng-container *ngFor=\"let eachFile of formate.files; let i = index\">\r\n <div class=\"file-list\" *ngIf=\"mode!='policy'\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ eachFile?.file_name }} </span>\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div> \r\n <div class=\"file-list policy\" *ngIf=\"mode=='policy'\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{eachFile?.file_name}}</span>\r\n <div class=\"button-group\">\r\n <!- - <button class=\"edit\">\r\n <i class=\"icons\">&#xe9ba;</i>\r\n </button> - ->\r\n <button (click)=\"deleteAttachment(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <cs-select [(ngModel)]=\"eachFile.linkSet\" (ngModelChange)=\"selectedLinkSetChange($event,i)\" [placeholder]=\"'Define the document\\'s relationship to this policy'\" name=\"selected\" >\r\n <cs-option *ngFor=\"let data of policyLinkSetList\" [value]=\"data\">\r\n {{data}}\r\n </cs-option>\r\n </cs-select>\r\n </div>\r\n </ng-container> -->\r\n </ng-container>\r\n <!-- -----------------------------------drag and drop ---------------------------------------------- -->\r\n <div class=\"tab-group\" [class.uploaded]=\"formate.files?.length > 0\" appDragDrop (fileDropped)=\"onFileDropped($event)\">\r\n <label class=\"upload-file\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/upload.svg\" alt=\"\" class=\"image\">\r\n <div class=\"browse\">\r\n <span>\r\n <ng-container *ngIf=\"mode!='policy'\">Drop your files here / </ng-container>\r\n <ng-container *ngIf=\"mode=='policy'\">Drop your files here / </ng-container>\r\n <span class=\"label\">Browse\r\n <input type=\"file\" multiple (change)=\"onFileDropped($event.target.files)\">\r\n </span>\r\n </span>\r\n <!-- <span *ngIf=\"mode!='policy'\">Drop your files here /</span>\r\n <span *ngIf=\"mode=='policy'\">Drag & drop to upload files associated with this policy /</span>\r\n <span class=\"label\">Browse\r\n <input type=\"file\" multiple (change)=\"onFileDropped($event.target.files)\">\r\n </span> -->\r\n </div>\r\n </label>\r\n </div>\r\n <!-- ------------------------------------------drag drop ends here -------------------------------------------- -->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"(formate?.hasUploadFormate && formate.formateType === 'LINK')||(mode=='policyReviewer' && formate.formateType === 'LINK') \">\r\n <ng-container *ngIf=\"formate.links.length > 0\">\r\n <ng-container *ngFor=\"let link of formate.links; let i = index\">\r\n <div class=\"file-list\" *ngIf=\"!link.isEditing\">\r\n <div class=\"file-container\">\r\n <span class=\"file-name\">{{ link.link }} </span>\r\n <span class=\"button-group\">\r\n <button [class.disabled]=\"isEditDisabled\" class=\"edit\" (click)=\"editLink(i)\">\r\n <i class=\"icons\">&#xe9ba;</i>\r\n </button>\r\n <button (click)=\"deleteLink(i)\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"link.isEditing\">\r\n <input type=\"text\" class=\"edit-link\" appAutofocus placeholder=\"Enter the link here\" [(ngModel)]=\"link.link\"\r\n (focusout)=\"insertLink('EDIT',i)\" (keydown.enter)=\"insertLink('EDIT',i)\" />\r\n <p class=\"error-message\" *ngIf=\"link.containsError\">Please insert a valid link</p>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <input [disabled]=\"isNewLinkDisabled\" class=\"edit-link\" type=\"text\" [(ngModel)]=\"newLink.link\" placeholder=\"Enter the link here\"\r\n (focusout)=\"insertLink('CREATE')\" (keydown.enter)=\"insertLink('CREATE')\" />\r\n <p class=\"error-message\" *ngIf=\"newLink.containsError\">Please insert a valid link</p>\r\n </ng-container>\r\n <div class=\"upload-format\" *ngIf=\"mode=='responsibility'\">\r\n <span class=\"text\">Do you want evidence of completion of the responsibility to be uploaded?</span>\r\n <div class=\"radio-group\">\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"formate.isEvidenceRequired === true\"\r\n (checkedEvent)=\"toggleIsFormatRequired(true)\">Yes</app-cs-radio>\r\n <app-cs-radio [name]=\"'evidence_required'\" [checked]=\"formate.isEvidenceRequired === false\"\r\n (checkedEvent)=\"toggleIsFormatRequired(false)\">No\r\n </app-cs-radio>\r\n </div>\r\n </div>\r\n \r\n</div>\r\n",
292
292
  styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.edit-link{margin-top:4px}.disabled{opacity:.4;pointer-events:none}::ng-deep .policy-upload-file .policy-related-document-field{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .policy-upload-file .policy-related-document-field .file-list{background:transparent!important;border-radius:0;border:none;border-bottom:1px solid #dbdbdb;padding:.75rem 0;margin:0!important}::ng-deep .policy-upload-file .policy-related-document-field .file-list:only-child,::ng-deep .policy-upload-file .policy-related-document-field .file-list:last-of-type{border-bottom:none;padding-bottom:0}::ng-deep .policy-upload-file .policy-related-document-field .file-list .file-container{align-items:center;justify-content:unset}::ng-deep .policy-upload-file .policy-related-document-field .file-list .file-container span.file.table{margin-right:.25rem}::ng-deep .policy-upload-file .policy-related-document-field .file-list .file-container span.file-name{width:calc(100% - 2.125rem);padding-right:1.25rem}::ng-deep .policy-upload-file .policy-related-document-field .file-list cs-select{margin-top:.25rem}::ng-deep .policy-upload-file .policy-related-document-field .file-list input.linkage-input{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;color:#747576;font-size:13px;padding:0 .5rem;margin:.5rem 0 0;height:2rem;width:100%;transition:all .2s ease-in-out}::ng-deep .policy-upload-file .policy-related-document-field .file-list input.linkage-input::placeholder{color:#747576;font-size:13px}::ng-deep .policy-upload-file .policy-related-document-field .file-list input.linkage-input:hover,::ng-deep .policy-upload-file .policy-related-document-field .file-list input.linkage-input:focus-within{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .policy-upload-file .policy-related-document-field .file-list button.linkage-btn{background:transparent;border-radius:0;border:none;color:#1e5dd3}::ng-deep .policy-upload-file .tab-group.uploaded{margin-top:.5rem}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:\"Poppins\",sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34AA44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #DBDBDB;background:#FFFFFF;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#EEFCF0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #DBDBDB;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #DBDBDB;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#FBFBFB;border:1px solid #F1F1F1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#FFFFFF}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #DBDBDB;background:#FFFFFF;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#F1F1F1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #DBDBDB;background:#FFFFFF;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #F1F1F1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34AA44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#F2BF19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#F29619}::ng-deep .vx-form-group .classification label.high span:before{background:#EB2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #F1F1F1;background:#FBFBFB;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#FFFFFF;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1E5DD3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1E5DD3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #F1F1F1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#EEFCF0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#FFFFFF;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #DBDBDB;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #DBDBDB}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#FFFFFF;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#EEFCF0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#ffffff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;top:2px;right:0;bottom:0;left:2px;background:#FFFFFF;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#EEFCF0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1E5DD3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#FFFFFF;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #BCBCBC;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#E8FEEB;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#ffffff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0%,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#ffffff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0%,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0%,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0%,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0%,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0%,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:\"Poppins\";line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:\"Poppins\";width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:\"Poppins\"}::ng-deep marx-editor{display:block}::ng-deep marx-editor .editor-container{border-radius:4px;border:1px solid #DBDBDB;transition:all .2s ease-in-out}::ng-deep marx-editor .editor-container:hover,::ng-deep marx-editor .editor-container:focus-within{border:1px solid #1E5DD3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep marx-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep marx-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep marx-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep marx-editor .editor-container .editor-tools{border-top:1px solid #DBDBDB;border-radius:0 0 3px 3px}::ng-deep marx-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#F1F1F1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}\n"]
293
293
  },] }
294
294
  ];
@@ -304,4 +304,4 @@ FormatAndEvidenceComponent.propDecorators = {
304
304
  organization_id: [{ type: Input }],
305
305
  formatEvidanceData: [{ type: Input }]
306
306
  };
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVF2RixNQUFNLE9BQU8sMEJBQTBCO0lBWXJDLFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCO1FBRnhCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFkeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBTW5DLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU92QixZQUFPLEdBQVE7WUFDYixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsS0FBSyxFQUFFLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRTtZQUNULGdCQUFnQixFQUFFLEVBQUU7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b21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZvcm1hdC1hbmQtZXZpZGVuY2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtYXQtYW5kLWV2aWRlbmNlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtYXQtYW5kLWV2aWRlbmNlLmNvbXBvbmVudC5sZXNzJywgJy4uLy4uL2Zvcm1zLmxlc3MnXSxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRBbmRFdmlkZW5jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZUZpbGVzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnJztcclxuICBASW5wdXQoKSBjYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG9yZ2FuaXphdGlvbl9pZDogYW55ID0gJyc7XHJcbiAgQElucHV0KCkgc2V0IGZvcm1hdEV2aWRhbmNlRGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSh2YWx1ZSwgJ25vdCBuZyBvbiBpbml0Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVzcG9uc2liaWxpdHlTZXJ2aWNlOiBSZXNwb25zaWJpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIGZvcm1hdGU6IGFueSA9IHtcclxuICAgIGhhc1VwbG9hZEZvcm1hdGU6IGZhbHNlLFxyXG4gICAgZm9ybWF0ZVR5cGU6ICdGSUxFJywgLy8gTElOS1xyXG4gICAgaXNFdmlkZW5jZVJlcXVpcmVkOiBmYWxzZSxcclxuICAgIGxpbmtzOiBbXSxcclxuICAgIGZpbGVzOiBbXSxcclxuICAgIHVwbG9hZEluUHJvZ3Jlc3M6IHt9LFxyXG4gIH07XHJcblxyXG4gIG5ld0xpbmsgPSB7XHJcbiAgICBsaW5rOiAnJyxcclxuICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlXHJcbiAgfTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZvcm1hdEV2aWRhbmNlRGF0YSkge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKHRoaXMuZm9ybWF0RXZpZGFuY2VEYXRhLCAnbmcgb24gaW5pdCcpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVEYXRhKHNldHRpbmdzOiBhbnksIHR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSBzZXR0aW5ncz8uZm9ybWF0UmVxdWlyZWQgPz8gZmFsc2U7XHJcbiAgICB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPSBzZXR0aW5ncz8uZm9ybWF0TGlua3M/Lmxlbmd0aCA+IDAgPyAnTElOSycgOiAnRklMRSc7XHJcbiAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gc2V0dGluZ3M/LmV2aWRlbmNlUmVxdWlyZWQgPz8gZmFsc2U7XHJcbiAgICB0aGlzLmZvcm1hdGUubGlua3MgPSB0aGlzLmFycmF5dG9MaW5rT2JqZWN0KHNldHRpbmdzPy5mb3JtYXRMaW5rcykgPz8gW107XHJcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXMgPSBzZXR0aW5ncz8uZm9ybWF0RmlsZXMgPz8gW107XHJcbiAgfVxyXG4gIHRvZ2dsZUlzRm9ybWF0ZVVwbG9hZChzdGF0dXM6IGJvb2xlYW4pIHtcclxuICAgIGlmIChzdGF0dXMgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVJc0Zvcm1hdFJlcXVpcmVkKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBdHRhY2htZW50VHlwZSh0eXBlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9IHR5cGU7XHJcbiAgICBpZiAodHlwZSA9PT0gJ0xJTksnICYmIHRoaXMuZm9ybWF0ZS5saW5rcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgLy8gVE9ET1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGluc2VydExpbmsobW9kZTogYW55LCBpbmRleDogbnVtYmVyID0gLTEpIHtcclxuICAgIC8vIGNvbnN0IHVybFJlZ2V4ID0gbmV3IFJlZ0V4cCgnKGh0dHBzPzovLyk/KFtcXFxcZGEtei4tXSspXFxcXC4oW2Etei5dezIsNn0pWy9cXFxcdyAuLV0qLz8nKTtcclxuICAgIGNvbnN0IHVybFJlZ2V4ID0gLyhodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldW2EtekEtWjAtOS1dK1thLXpBLVowLTldXFwuW15cXHNdezIsfXxodHRwcz86XFwvXFwvKD86d3d3XFwufCg/IXd3dykpW2EtekEtWjAtOV0rXFwuW15cXHNdezIsfXx3d3dcXC5bYS16QS1aMC05XStcXC5bXlxcc117Mix9KS9naTtcclxuICAgIGlmIChtb2RlID09PSAnQ1JFQVRFJykge1xyXG4gICAgICBpZiAodGhpcy5uZXdMaW5rLmxpbmsubGVuZ3RoID09PSAwKSB7IHRoaXMucmVzZXROZXdMaW5rKCk7IHJldHVybjsgfVxyXG4gICAgICBjb25zdCBpc1ZhbGlkID0gdXJsUmVnZXgudGVzdCh0aGlzLm5ld0xpbmsubGluayk7XHJcbiAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5uZXdMaW5rLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3MucHVzaCh0aGlzLm5ld0xpbmspO1xyXG4gICAgICAgIHRoaXMucmVzZXROZXdMaW5rKCk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV3TGluay5jb250YWluc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAobW9kZSA9PT0gJ0VESVQnKSB7XHJcbiAgICAgIGlmICh0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmxpbmsubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XHJcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7IHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpc1ZhbGlkID0gdXJsUmVnZXgudGVzdCh0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmxpbmspO1xyXG4gICAgICBpZiAoaXNWYWxpZCkge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uaXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5jb250YWluc0Vycm9yID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc05ld0xpbmtEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uY29udGFpbnNFcnJvciA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0TGluayhpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmlzRWRpdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlTGluayhpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZvcm1hdGUubGlua3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuaXNFZGl0RW5hYmxlZCgpO1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0TmV3TGluaygpIHtcclxuICAgIHRoaXMubmV3TGluayA9IHtcclxuICAgICAgbGluazogJycsXHJcbiAgICAgIGNvbnRhaW5zRXJyb3I6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZURyb3BwZWQoZmlsZXM6IGFueSkge1xyXG4gICAgQXJyYXkuZnJvbShmaWxlcykuZm9yRWFjaCgoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHVpZDogc3RyaW5nID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDE0KTtcclxuICAgICAgdGhpcy51cGxvYWRGaWxlKGZpbGUsIHVpZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEZpbGUoZmlsZTogYW55LCB1aWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtYXRlLnVwbG9hZEluUHJvZ3Jlc3NbdWlkXSA9IGZpbGUubmFtZTtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcclxuICAgIGlmICh0aGlzLm1vZGUgPT0gJ3BvbGljeScgfHwgdGhpcy5tb2RlID09ICdwb2xpY3lSZXZpZXdlcicpIHtcclxuICAgICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5LydcclxuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmZpbGVVcGxvYWRXb3Jrcm9vbShmb3JtRGF0YSwgcGF0aCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm1hdGUuZmlsZXMucHVzaCh7XHJcbiAgICAgICAgICBmaWxlcGF0aDogcGF0aCxcclxuICAgICAgICAgIGZpbGVfbmFtZTogZGF0YS5vcmdfZmlsZSxcclxuICAgICAgICAgIGZpbGVuYW1lOiBkYXRhLm5hbWUsXHJcbiAgICAgICAgICBvcmlnaW5hbF9maWxlbmFtZTogZGF0YS5vcmdfZmlsZSxcclxuICAgICAgICAgIGxpbmtTZXQ6ICcnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmZvcm1hdGUudXBsb2FkSW5Qcm9ncmVzc1t1aWRdO1xyXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSAgZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLnVwbG9hZFRvTm9kZShmb3JtRGF0YSwgJ3VwbG9hZEZvcm1hdCcgKyAnLycpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzLnB1c2goe1xyXG4gICAgICAgICAgZmlsZXBhdGg6ICd1cGxvYWRGb3JtYXQnLFxyXG4gICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxyXG4gICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcclxuICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmZvcm1hdGUudXBsb2FkSW5Qcm9ncmVzc1t1aWRdO1xyXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZUF0dGFjaG1lbnQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgZW1pdFZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5JyB8fCB0aGlzLm1vZGUgPT0gJ3BvbGljeVJldmlld2VyJykge1xyXG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAgIGlzRm9ybWF0ZVVwbG9hZGVkOiB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSxcclxuICAgICAgICBsaW5rczogKHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKSA/IHRoaXMuZ2V0TGlua3NBcnJheSh0aGlzLmZvcm1hdGUubGlua3M/Lmxlbmd0aCA/Wy4uLnRoaXMuZm9ybWF0ZS5saW5rc106W10pIDogW10sXHJcbiAgICAgICAgZmlsZXM6ICh0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJykgPyB0aGlzLmZvcm1hdGUuZmlsZXMgOiBbXSxcclxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxyXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZFxyXG4gICAgICB9O1xyXG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTphbnkpPT4gZWxlICE9PSB1bmRlZmluZWQpO1xyXG5cclxuICAgICAgdGhpcy51cGRhdGVGaWxlcy5lbWl0KHBheWxvYWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgICBpc0Zvcm1hdGVVcGxvYWRlZDogdGhpcy5mb3JtYXRlLmhhc1VwbG9hZEZvcm1hdGUsXHJcbiAgICAgICAgbGlua3M6ICh0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdMSU5LJykgPyB0aGlzLmdldExpbmtzQXJyYXkoWy4uLnRoaXMuZm9ybWF0ZS5saW5rc10pIDogW10sXHJcbiAgICAgICAgZmlsZXM6ICh0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSAmJiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUgPT09ICdGSUxFJykgPyB0aGlzLmZvcm1hdGUuZmlsZXMgOiBbXSxcclxuICAgICAgICBmb3JtYXRlVHlwZTogdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlLFxyXG4gICAgICAgIGlzRXZpZGVuY2VSZXF1aXJlZDogdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZFxyXG4gICAgICB9O1xyXG4gICAgICBwYXlsb2FkLmxpbmtzID0gcGF5bG9hZC5saW5rcy5maWx0ZXIoKGVsZTphbnkpPT4gZWxlICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBnZXRMaW5rc0FycmF5KGxpbmtzOiBhbnkpIHtcclxuICAgIGNvbnN0IGxpbmsgPSBsaW5rcy5tYXAoKGU6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZS5saW5rICYmICFlPy5jb250YWluc0Vycm9yICYmICFlPy5pc0VkaXRpbmcpIHtcclxuICAgICAgICByZXR1cm4gZS5saW5rO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKGxpbms/Lmxlbmd0aCA8PSAxICYmIGxpbmtbMF0gPT09IHVuZGVmaW5lZCApe1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIGxpbms7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYXJyYXl0b0xpbmtPYmplY3QobGlua3NBcnJheTogYW55KSB7XHJcbiAgICBpZiAobGlua3NBcnJheSkge1xyXG4gICAgICBjb25zdCBsaW5rcyA9IGxpbmtzQXJyYXkubWFwKChlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4geyBsaW5rOiBlLCBjb250YWluc0Vycm9yOiBmYWxzZSwgaXNFZGl0aW5nOiBmYWxzZSB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybiBsaW5rcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRWRpdEVuYWJsZWQoKSB7XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5mb3JtYXRlLmxpbmtzKSB7XHJcbiAgICAgIGlmIChpdGVtLmlzRWRpdGluZyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzRWRpdERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcG9saWN5TGlua1NldExpc3QgPSBbXHJcbiAgICAvLyAnUG9saWN5IENoYXJ0ZXInLFxyXG4gICAgLy8gJ1JlbGF0ZWQgUG9saWN5IERvY3VtZW50cy9PdGhlciBSZWZlcmVuY2VzJyxcclxuICAgIC8vICdQcm9jZWR1cmVzIExpbmtlZCB0byB0aGlzIFBvbGljeScsXHJcbiAgICAvLyAnSW1wbGVtZW50YXRpb24gR3VpZGVsaW5lcyBmb3IgdGhpcyBQb2xpY3knLFxyXG4gICAgLy8gJ1RyYWluaW5nIE1hdGVyaWFscyBmb3IgdGhpcyBQb2xpY3knXHJcbiAgICAnQ2hhcnRlcicsICdSZWxhdGVkIERvY3VtZW50cycsICdSZWZlcmVuY2UgTWF0ZXJpYWxzJywgJ1JlbGF0ZWQgcHJvY2VkdXJlcycsICdJbXBsZW1lbnRhdGlvbiBndWlkZWxpbmVzJywgJ1RyYWluaW5nIE1hdGVyaWFscycsICdSZWd1bGF0b3J5IERvY3VtZW50cycsICdPdGhlciAoc3BlY2lmeSBvd24pJ1xyXG5cclxuICBdXHJcbiAgc2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5maWxlc1tpbmRleF0ubGlua1NldCA9IGV2ZW50O1xyXG4gICAgaWYoZXZlbnQgPT09ICdPdGhlciAoc3BlY2lmeSBvd24pJyAmJiAhdGhpcy5mb3JtYXRlPy5maWxlc1tpbmRleF0/Lm90aGVycykge1xyXG4gICAgICB0aGlzLmZvcm1hdGUuZmlsZXNbaW5kZXhdLm90aGVycyA9IFsnJ107XHJcbiAgICB9XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgYWRkTW9yZURvY3VtZW50c0RldGFpbHMoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5vdGhlcnMucHVzaCgnJyk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRQb2xpY3lBdHRhY2htZW50cyhmb3JtRGF0YTogYW55KSB7XHJcblxyXG4gICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5LydcclxuICAgIHRoaXMucG9saWN5U2VydmljZS5maWxlVXBsb2FkV29ya3Jvb20oZm9ybURhdGEsIHBhdGgpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAgIGZpbGVfbmFtZTogZGF0YS5uYW1lLFxyXG4gICAgICAgIG9yaWdpbmFsX2ZpbGVfbmFtZTogZGF0YS5vcmdfZmlsZSxcclxuICAgICAgICBwYXRoOiBwYXRoLFxyXG4gICAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5hdXRoU2VydmljZS5nZXRPcmdhbml6YXRpb25JZCgpLFxyXG4gICAgICAgIG1lbWJlcl9pZDogdGhpcy5hdXRoU2VydmljZS5nZXRNZW1iZXJJZCgpLFxyXG4gICAgICAgIGNhdGVnb3J5X2lkOiB0aGlzLmNhdGVnb3JpZXMsXHJcbiAgICAgICAgY2xhcF9pZDogMCxcclxuICAgICAgICBjb250cmFjdF90eXBlOiA0LFxyXG4gICAgICAgIGZvbGRlcl9pZDogMCxcclxuICAgICAgfTtcclxuICAgICAgLy8gdGhpcy5wb2xpY3lTZXJ2aWNlLnNhdmVVcGxvYWRlZEZpbGVzKHBheWxvYWQpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIC8vIHRoaXMubGF0ZXN0VXBsb2FkZWQgPSBkYXRhLmVuY3J5cHRlZF9pZDtcclxuICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgIC8vIGxldCBhbGxfcmVzcG9uc2UgPSB0aGlzLnBvbGljeVNlcnZpY2UucG9saWN5Q2F0ZWdvcnlMaXN0LmdldFZhbHVlKCkgYXMgYW55O1xyXG4gICAgICAvLyBsZXQgbmV3X3Jlc3BvbnNlID0gZGF0YTtcclxuICAgICAgLy8gaWYgKGFsbF9yZXNwb25zZS5hdHRhY2htZW50cyA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgLy8gICBhbGxfcmVzcG9uc2UucHVzaChuZXdfcmVzcG9uc2UpO1xyXG4gICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAvLyAgIGFsbF9yZXNwb25zZS5hdHRhY2htZW50cy5wdXNoKG5ld19yZXNwb25zZSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gdGhpcy5wb2xpY3lTZXJ2aWNlLnBvbGljeUNhdGVnb3J5TGlzdC5uZXh0KGFsbF9yZXNwb25zZSk7XHJcbiAgICAgIC8vIHRoaXMucG9saWN5U2VydmljZS5pc1VwbG9hZGVkID0gZmFsc2U7XHJcbiAgICAgIC8vIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgLy8gaWYgKHRoaXMuZW50aXR5X3R5cGUgPT0gJ3N1cnZleScpIHtcclxuICAgICAgLy8gICB0aGlzLmZldGNoRmlsZSh0cnVlLCB0aGlzLmVudGl0eV9kYXRhLnN1cnZleV9pZCwgdGhpcy5jdXJyZW50Rm9sZGVySWQpO1xyXG4gICAgICAvLyB9IGVsc2UgaWYgKHRoaXMuZW50aXR5X3R5cGUgPT0gJ2NvbnRyYWN0cycpIHtcclxuICAgICAgLy8gICB0aGlzLmZldGNoRmlsZSh0cnVlLCB0aGlzLmVudGl0eV9kYXRhLmNvbnRyYWN0X2lkLCB0aGlzLmN1cnJlbnRGb2xkZXJJZCk7XHJcbiAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgIC8vICAgdGhpcy5mZXRjaEZpbGUodHJ1ZSwgdGhpcy5lbnRpdHlfZGF0YS5wb2xpY3lfaWQgPyB0aGlzLmVudGl0eV9kYXRhLnBvbGljeV9pZCA6IHRoaXMuZW50aXR5X2RhdGEuY29udHJhY3RfaWQsIHRoaXMuY3VycmVudEZvbGRlcklkKTtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8gfSwgZXJyb3IgPT4ge1xyXG5cclxuICAgICAgLy8gfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Zvcm1hdC1hbmQtZXZpZGVuY2UvZm9ybWF0LWFuZC1ldmlkZW5jZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVF2RixNQUFNLE9BQU8sMEJBQTBCO0lBWXJDLFlBQ1UscUJBQTRDLEVBQzVDLGFBQTRCLEVBQzVCLFdBQXdCO1FBRnhCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFkeEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBTW5DLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQU92QixZQUFPLEdBQVE7WUFDYixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsS0FBSyxFQUFFLEVBQUU7WUFDVCxLQUFLLEVBQUUsRUFBRTtZQUNULGdCQUFnQixFQUFFLEVBQUU7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bmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFBvbGljeVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3kuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1hdC1hbmQtZXZpZGVuY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm1hdC1hbmQtZXZpZGVuY2UuY29tcG9uZW50Lmxlc3MnLCAnLi4vLi4vZm9ybXMubGVzcyddLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEFuZEV2aWRlbmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgdXBkYXRlRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGNhdGVnb3JpZXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcclxuICBASW5wdXQoKSBzZXQgZm9ybWF0RXZpZGFuY2VEYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKHZhbHVlLCAnbm90IG5nIG9uIGluaXQnKTtcclxuICAgIH1cclxuICB9XHJcbiAgaXNOZXdMaW5rRGlzYWJsZWQgPSBmYWxzZTtcclxuICBpc0VkaXREaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSxcclxuICAgIHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgZm9ybWF0ZTogYW55ID0ge1xyXG4gICAgaGFzVXBsb2FkRm9ybWF0ZTogZmFsc2UsXHJcbiAgICBmb3JtYXRlVHlwZTogJ0ZJTEUnLCAvLyBMSU5LXHJcbiAgICBpc0V2aWRlbmNlUmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgbGlua3M6IFtdLFxyXG4gICAgZmlsZXM6IFtdLFxyXG4gICAgdXBsb2FkSW5Qcm9ncmVzczoge30sXHJcbiAgfTtcclxuXHJcbiAgbmV3TGluayA9IHtcclxuICAgIGxpbms6ICcnLFxyXG4gICAgY29udGFpbnNFcnJvcjogZmFsc2VcclxuICB9O1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZm9ybWF0RXZpZGFuY2VEYXRhKSB7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEodGhpcy5mb3JtYXRFdmlkYW5jZURhdGEsICduZyBvbiBpbml0Jyk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZURhdGEoc2V0dGluZ3M6IGFueSwgdHlwZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IHNldHRpbmdzPy5mb3JtYXRSZXF1aXJlZCA/PyBmYWxzZTtcclxuICAgIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9IHNldHRpbmdzPy5mb3JtYXRMaW5rcz8ubGVuZ3RoID4gMCA/ICdMSU5LJyA6ICdGSUxFJztcclxuICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSBzZXR0aW5ncz8uZXZpZGVuY2VSZXF1aXJlZCA/PyBmYWxzZTtcclxuICAgIHRoaXMuZm9ybWF0ZS5saW5rcyA9IHRoaXMuYXJyYXl0b0xpbmtPYmplY3Qoc2V0dGluZ3M/LmZvcm1hdExpbmtzKSA/PyBbXTtcclxuICAgIHRoaXMuZm9ybWF0ZS5maWxlcyA9IHNldHRpbmdzPy5mb3JtYXRGaWxlcyA/PyBbXTtcclxuICB9XHJcbiAgdG9nZ2xlSXNGb3JtYXRlVXBsb2FkKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgaWYgKHN0YXR1cyA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUlzRm9ybWF0UmVxdWlyZWQoc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICBpZiAoc3RhdHVzID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ZS5pc0V2aWRlbmNlUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtYXRlLmlzRXZpZGVuY2VSZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUF0dGFjaG1lbnRUeXBlKHR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID0gdHlwZTtcclxuICAgIGlmICh0eXBlID09PSAnTElOSycgJiYgdGhpcy5mb3JtYXRlLmxpbmtzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAvLyBUT0RPXHJcbiAgICB9XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5zZXJ0TGluayhtb2RlOiBhbnksIGluZGV4OiBudW1iZXIgPSAtMSkge1xyXG4gICAgLy8gY29uc3QgdXJsUmVnZXggPSBuZXcgUmVnRXhwKCcoaHR0cHM/Oi8vKT8oW1xcXFxkYS16Li1dKylcXFxcLihbYS16Ll17Miw2fSlbL1xcXFx3IC4tXSovPycpO1xyXG4gICAgY29uc3QgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XVthLXpBLVowLTktXStbYS16QS1aMC05XVxcLlteXFxzXXsyLH18d3d3XFwuW2EtekEtWjAtOV1bYS16QS1aMC05LV0rW2EtekEtWjAtOV1cXC5bXlxcc117Mix9fGh0dHBzPzpcXC9cXC8oPzp3d3dcXC58KD8hd3d3KSlbYS16QS1aMC05XStcXC5bXlxcc117Mix9fHd3d1xcLlthLXpBLVowLTldK1xcLlteXFxzXXsyLH0pL2dpO1xyXG4gICAgaWYgKG1vZGUgPT09ICdDUkVBVEUnKSB7XHJcbiAgICAgIGlmICh0aGlzLm5ld0xpbmsubGluay5sZW5ndGggPT09IDApIHsgdGhpcy5yZXNldE5ld0xpbmsoKTsgcmV0dXJuOyB9XHJcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMubmV3TGluay5saW5rKTtcclxuICAgICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgICB0aGlzLm5ld0xpbmsuY29udGFpbnNFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZm9ybWF0ZS5saW5rcy5wdXNoKHRoaXMubmV3TGluayk7XHJcbiAgICAgICAgdGhpcy5yZXNldE5ld0xpbmsoKTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uZXdMaW5rLmNvbnRhaW5zRXJyb3IgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChtb2RlID09PSAnRURJVCcpIHtcclxuICAgICAgaWYgKHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluay5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3Muc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmlzRWRpdEVuYWJsZWQoKTtcclxuICAgICAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTsgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSB1cmxSZWdleC50ZXN0KHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0ubGluayk7XHJcbiAgICAgIGlmIChpc1ZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmNvbnRhaW5zRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcm1hdGUubGlua3NbaW5kZXhdLmlzRWRpdGluZyAgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzTmV3TGlua0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRlLmxpbmtzW2luZGV4XS5jb250YWluc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGVkaXRMaW5rKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5saW5rc1tpbmRleF0uaXNFZGl0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNOZXdMaW5rRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVMaW5rKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5saW5rcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy5pc0VkaXRFbmFibGVkKCk7XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXROZXdMaW5rKCkge1xyXG4gICAgdGhpcy5uZXdMaW5rID0ge1xyXG4gICAgICBsaW5rOiAnJyxcclxuICAgICAgY29udGFpbnNFcnJvcjogZmFsc2VcclxuICAgIH07XHJcbiAgICB0aGlzLmVtaXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgb25GaWxlRHJvcHBlZChmaWxlczogYW55KSB7XHJcbiAgICBBcnJheS5mcm9tKGZpbGVzKS5mb3JFYWNoKChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgdWlkOiBzdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgMTQpO1xyXG4gICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZSwgdWlkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkRmlsZShmaWxlOiBhbnksIHVpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm1hdGUudXBsb2FkSW5Qcm9ncmVzc1t1aWRdID0gZmlsZS5uYW1lO1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PSAncG9saWN5JyB8fCB0aGlzLm1vZGUgPT0gJ3BvbGljeVJldmlld2VyJykge1xyXG4gICAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJ1xyXG4gICAgICB0aGlzLnBvbGljeVNlcnZpY2UuZmlsZVVwbG9hZFdvcmtyb29tKGZvcm1EYXRhLCBwYXRoKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0ZS5maWxlcy5wdXNoKHtcclxuICAgICAgICAgIGZpbGVwYXRoOiBwYXRoLFxyXG4gICAgICAgICAgZmlsZV9uYW1lOiBkYXRhLm9yZ19maWxlLFxyXG4gICAgICAgICAgZmlsZW5hbWU6IGRhdGEubmFtZSxcclxuICAgICAgICAgIG9yaWdpbmFsX2ZpbGVuYW1lOiBkYXRhLm9yZ19maWxlLFxyXG4gICAgICAgICAgbGlua1NldDogJycsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XHJcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9ICBlbHNlIHtcclxuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UudXBsb2FkVG9Ob2RlKGZvcm1EYXRhLCAndXBsb2FkRm9ybWF0JyArICcvJykuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm1hdGUuZmlsZXMucHVzaCh7XHJcbiAgICAgICAgICBmaWxlcGF0aDogJ3VwbG9hZEZvcm1hdCcsXHJcbiAgICAgICAgICBmaWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXHJcbiAgICAgICAgICBmaWxlbmFtZTogZGF0YS5uYW1lLFxyXG4gICAgICAgICAgb3JpZ2luYWxfZmlsZW5hbWU6IGRhdGEub3JnX2ZpbGUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuZm9ybWF0ZS51cGxvYWRJblByb2dyZXNzW3VpZF07XHJcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZGVsZXRlQXR0YWNobWVudChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZvcm1hdGUuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuZW1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBlbWl0VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlID09ICdwb2xpY3knIHx8IHRoaXMubW9kZSA9PSAncG9saWN5UmV2aWV3ZXInKSB7XHJcbiAgICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgICAgaXNGb3JtYXRlVXBsb2FkZWQ6IHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlLFxyXG4gICAgICAgIGxpbmtzOiAodGhpcy5mb3JtYXRlLmZvcm1hdGVUeXBlID09PSAnTElOSycpID8gdGhpcy5nZXRMaW5rc0FycmF5KHRoaXMuZm9ybWF0ZS5saW5rcz8ubGVuZ3RoID9bLi4udGhpcy5mb3JtYXRlLmxpbmtzXTpbXSkgOiBbXSxcclxuICAgICAgICBmaWxlczogKHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSA/IHRoaXMuZm9ybWF0ZS5maWxlcyA6IFtdLFxyXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXHJcbiAgICAgICAgaXNFdmlkZW5jZVJlcXVpcmVkOiB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkXHJcbiAgICAgIH07XHJcbiAgICAgIHBheWxvYWQubGlua3MgPSBwYXlsb2FkLmxpbmtzLmZpbHRlcigoZWxlOmFueSk9PiBlbGUgIT09IHVuZGVmaW5lZCk7XHJcblxyXG4gICAgICB0aGlzLnVwZGF0ZUZpbGVzLmVtaXQocGF5bG9hZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICAgIGlzRm9ybWF0ZVVwbG9hZGVkOiB0aGlzLmZvcm1hdGUuaGFzVXBsb2FkRm9ybWF0ZSxcclxuICAgICAgICBsaW5rczogKHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlICYmIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0xJTksnKSA/IHRoaXMuZ2V0TGlua3NBcnJheShbLi4udGhpcy5mb3JtYXRlLmxpbmtzXSkgOiBbXSxcclxuICAgICAgICBmaWxlczogKHRoaXMuZm9ybWF0ZS5oYXNVcGxvYWRGb3JtYXRlICYmIHRoaXMuZm9ybWF0ZS5mb3JtYXRlVHlwZSA9PT0gJ0ZJTEUnKSA/IHRoaXMuZm9ybWF0ZS5maWxlcyA6IFtdLFxyXG4gICAgICAgIGZvcm1hdGVUeXBlOiB0aGlzLmZvcm1hdGUuZm9ybWF0ZVR5cGUsXHJcbiAgICAgICAgaXNFdmlkZW5jZVJlcXVpcmVkOiB0aGlzLmZvcm1hdGUuaXNFdmlkZW5jZVJlcXVpcmVkXHJcbiAgICAgIH07XHJcbiAgICAgIHBheWxvYWQubGlua3MgPSBwYXlsb2FkLmxpbmtzLmZpbHRlcigoZWxlOmFueSk9PiBlbGUgIT09IHVuZGVmaW5lZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlRmlsZXMuZW1pdChwYXlsb2FkKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIGdldExpbmtzQXJyYXkobGlua3M6IGFueSkge1xyXG4gICAgY29uc3QgbGluayA9IGxpbmtzLm1hcCgoZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlLmxpbmsgJiYgIWU/LmNvbnRhaW5zRXJyb3IgJiYgIWU/LmlzRWRpdGluZykge1xyXG4gICAgICAgIHJldHVybiBlLmxpbms7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYobGluaz8ubGVuZ3RoIDw9IDEgJiYgbGlua1swXSA9PT0gdW5kZWZpbmVkICl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXR1cm4gbGluaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBhcnJheXRvTGlua09iamVjdChsaW5rc0FycmF5OiBhbnkpIHtcclxuICAgIGlmIChsaW5rc0FycmF5KSB7XHJcbiAgICAgIGNvbnN0IGxpbmtzID0gbGlua3NBcnJheS5tYXAoKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7IGxpbms6IGUsIGNvbnRhaW5zRXJyb3I6IGZhbHNlLCBpc0VkaXRpbmc6IGZhbHNlIH07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIGxpbmtzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNFZGl0RW5hYmxlZCgpIHtcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmZvcm1hdGUubGlua3MpIHtcclxuICAgICAgaWYgKGl0ZW0uaXNFZGl0aW5nID09PSB0cnVlKSB7XHJcbiAgICAgICAgdGhpcy5pc0VkaXREaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaXNFZGl0RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwb2xpY3lMaW5rU2V0TGlzdCA9IFtcclxuICAgIC8vICdQb2xpY3kgQ2hhcnRlcicsXHJcbiAgICAvLyAnUmVsYXRlZCBQb2xpY3kgRG9jdW1lbnRzL090aGVyIFJlZmVyZW5jZXMnLFxyXG4gICAgLy8gJ1Byb2NlZHVyZXMgTGlua2VkIHRvIHRoaXMgUG9saWN5JyxcclxuICAgIC8vICdJbXBsZW1lbnRhdGlvbiBHdWlkZWxpbmVzIGZvciB0aGlzIFBvbGljeScsXHJcbiAgICAvLyAnVHJhaW5pbmcgTWF0ZXJpYWxzIGZvciB0aGlzIFBvbGljeSdcclxuICAgICdDaGFydGVyJywgJ1JlbGF0ZWQgRG9jdW1lbnRzJywgJ1JlZmVyZW5jZSBNYXRlcmlhbHMnLCAnUmVsYXRlZCBwcm9jZWR1cmVzJywgJ0ltcGxlbWVudGF0aW9uIGd1aWRlbGluZXMnLCAnVHJhaW5pbmcgTWF0ZXJpYWxzJywgJ1JlZ3VsYXRvcnkgRG9jdW1lbnRzJywgJ090aGVyJ1xyXG5cclxuICBdXHJcbiAgc2VsZWN0ZWRMaW5rU2V0Q2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5maWxlc1tpbmRleF0ubGlua1NldCA9IGV2ZW50O1xyXG4gICAgaWYoZXZlbnQgPT09ICdPdGhlcicgJiYgIXRoaXMuZm9ybWF0ZT8uZmlsZXNbaW5kZXhdPy5vdGhlcnMpIHtcclxuICAgICAgdGhpcy5mb3JtYXRlLmZpbGVzW2luZGV4XS5vdGhlcnMgPSBbJyddO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWl0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGFkZE1vcmVEb2N1bWVudHNEZXRhaWxzKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZm9ybWF0ZS5maWxlc1tpbmRleF0ub3RoZXJzLnB1c2goJycpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkUG9saWN5QXR0YWNobWVudHMoZm9ybURhdGE6IGFueSkge1xyXG5cclxuICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nXHJcbiAgICB0aGlzLnBvbGljeVNlcnZpY2UuZmlsZVVwbG9hZFdvcmtyb29tKGZvcm1EYXRhLCBwYXRoKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG5cclxuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgICBmaWxlX25hbWU6IGRhdGEubmFtZSxcclxuICAgICAgICBvcmlnaW5hbF9maWxlX25hbWU6IGRhdGEub3JnX2ZpbGUsXHJcbiAgICAgICAgcGF0aDogcGF0aCxcclxuICAgICAgICBvcmdhbmlzYXRpb25faWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKSxcclxuICAgICAgICBtZW1iZXJfaWQ6IHRoaXMuYXV0aFNlcnZpY2UuZ2V0TWVtYmVySWQoKSxcclxuICAgICAgICBjYXRlZ29yeV9pZDogdGhpcy5jYXRlZ29yaWVzLFxyXG4gICAgICAgIGNsYXBfaWQ6IDAsXHJcbiAgICAgICAgY29udHJhY3RfdHlwZTogNCxcclxuICAgICAgICBmb2xkZXJfaWQ6IDAsXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIHRoaXMucG9saWN5U2VydmljZS5zYXZlVXBsb2FkZWRGaWxlcyhwYXlsb2FkKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLmxhdGVzdFVwbG9hZGVkID0gZGF0YS5lbmNyeXB0ZWRfaWQ7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICAvLyBsZXQgYWxsX3Jlc3BvbnNlID0gdGhpcy5wb2xpY3lTZXJ2aWNlLnBvbGljeUNhdGVnb3J5TGlzdC5nZXRWYWx1ZSgpIGFzIGFueTtcclxuICAgICAgLy8gbGV0IG5ld19yZXNwb25zZSA9IGRhdGE7XHJcbiAgICAgIC8vIGlmIChhbGxfcmVzcG9uc2UuYXR0YWNobWVudHMgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vICAgYWxsX3Jlc3BvbnNlLnB1c2gobmV3X3Jlc3BvbnNlKTtcclxuICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgLy8gICBhbGxfcmVzcG9uc2UuYXR0YWNobWVudHMucHVzaChuZXdfcmVzcG9uc2UpO1xyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIHRoaXMucG9saWN5U2VydmljZS5wb2xpY3lDYXRlZ29yeUxpc3QubmV4dChhbGxfcmVzcG9uc2UpO1xyXG4gICAgICAvLyB0aGlzLnBvbGljeVNlcnZpY2UuaXNVcGxvYWRlZCA9IGZhbHNlO1xyXG4gICAgICAvLyB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIC8vIGlmICh0aGlzLmVudGl0eV90eXBlID09ICdzdXJ2ZXknKSB7XHJcbiAgICAgIC8vICAgdGhpcy5mZXRjaEZpbGUodHJ1ZSwgdGhpcy5lbnRpdHlfZGF0YS5zdXJ2ZXlfaWQsIHRoaXMuY3VycmVudEZvbGRlcklkKTtcclxuICAgICAgLy8gfSBlbHNlIGlmICh0aGlzLmVudGl0eV90eXBlID09ICdjb250cmFjdHMnKSB7XHJcbiAgICAgIC8vICAgdGhpcy5mZXRjaEZpbGUodHJ1ZSwgdGhpcy5lbnRpdHlfZGF0YS5jb250cmFjdF9pZCwgdGhpcy5jdXJyZW50Rm9sZGVySWQpO1xyXG4gICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAvLyAgIHRoaXMuZmV0Y2hGaWxlKHRydWUsIHRoaXMuZW50aXR5X2RhdGEucG9saWN5X2lkID8gdGhpcy5lbnRpdHlfZGF0YS5wb2xpY3lfaWQgOiB0aGlzLmVudGl0eV9kYXRhLmNvbnRyYWN0X2lkLCB0aGlzLmN1cnJlbnRGb2xkZXJJZCk7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC8vIH0sIGVycm9yID0+IHtcclxuXHJcbiAgICAgIC8vIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==