vcomply-workflow-engine 2.5.3 → 2.5.6

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 (44) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +430 -238
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/more-option/more-option.component.js +66 -3
  4. package/esm2015/lib/more-option/more-option.component.ngfactory.js +9 -9
  5. package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.js +3 -3
  6. package/esm2015/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.ngfactory.js +32 -14
  7. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.js +10 -5
  8. package/esm2015/lib/sharedComponents/framework-list/framework-list.component.ngfactory.js +2 -2
  9. package/esm2015/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.js +3 -3
  10. package/esm2015/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.ngfactory.js +32 -17
  11. package/esm2015/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.js +1 -1
  12. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.js +3 -3
  13. package/esm2015/lib/sharedComponents/program-listing/program-listing.component.ngfactory.js +6 -6
  14. package/esm2015/lib/ui-kit/popover/popover.component.js +5 -4
  15. package/esm2015/lib/ui-kit/popover-hover/popover-hover.component.js +5 -4
  16. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +5 -5
  17. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +5 -4
  18. package/esm2015/lib/workflow-engine.module.js +3 -1
  19. package/esm2015/lib/workflow-engine.module.ngfactory.js +1 -1
  20. package/esm2015/lib/workflow-program/create-program-ui/create-program-ui.module.ngfactory.js +1 -1
  21. package/esm2015/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.js +12 -0
  22. package/esm2015/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.ngsummary.json +1 -0
  23. package/esm2015/lib/workflow-program/create-program-ui/role-list/role-list.component.js +2 -2
  24. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.js +35 -4
  25. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngfactory.js +11 -4
  26. package/esm2015/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.ngsummary.json +1 -1
  27. package/esm2015/lib/workflow-program/workflow-program.component.js +75 -15
  28. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +453 -444
  29. package/esm2015/lib/workflow-program/workflow-program.component.ngsummary.json +1 -1
  30. package/esm2015/lib/workflow-services/programs.service.js +8 -7
  31. package/esm2015/lib/workflow-services/responsibility.service.js +5 -2
  32. package/esm2015/vcomply-workflow-engine.js +189 -188
  33. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  34. package/fesm2015/vcomply-workflow-engine.js +230 -52
  35. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  36. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
  37. package/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.d.ts +4 -0
  38. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +6 -0
  39. package/lib/workflow-program/workflow-program.component.d.ts +3 -0
  40. package/lib/workflow-services/programs.service.d.ts +1 -1
  41. package/lib/workflow-services/responsibility.service.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/vcomply-workflow-engine.d.ts +188 -187
  44. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -9,15 +9,33 @@ import * as i1 from "@angular/core";
9
9
  import * as i2 from "../framework-table-loader/framework-table-loader.component.ngfactory";
10
10
  import * as i3 from "../framework-table-loader/framework-table-loader.component";
11
11
  import * as i4 from "../../../ui-kit/tooltip/tooltip.directive";
12
- import * as i5 from "../../../formgroup/cs-radio/cs-radio.component.ngfactory";
13
- import * as i6 from "../../../formgroup/cs-radio/cs-radio.component";
14
- import * as i7 from "@angular/common";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "../../../formgroup/cs-radio/cs-radio.component.ngfactory";
14
+ import * as i7 from "../../../formgroup/cs-radio/cs-radio.component";
15
15
  import * as i8 from "./framework-list-table.component";
16
16
  var styles_FrameworkListTableComponent = [i0.styles];
17
17
  var RenderType_FrameworkListTableComponent = i1.ɵcrt({ encapsulation: 0, styles: styles_FrameworkListTableComponent, data: {} });
18
18
  export { RenderType_FrameworkListTableComponent as RenderType_FrameworkListTableComponent };
19
19
  function View_FrameworkListTableComponent_1(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "lib-framework-table-loader", [], null, null, null, i2.View_FrameworkTableLoaderComponent_0, i2.RenderType_FrameworkTableLoaderComponent)), i1.ɵdid(1, 114688, null, 0, i3.FrameworkTableLoaderComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
20
- function View_FrameworkListTableComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 19, "div", [["class", "table-row"]], [[2, "row-clickable", null], [2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
20
+ function View_FrameworkListTableComponent_6(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE96B"]))], null, null); }
21
+ function View_FrameworkListTableComponent_5(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 4, "span", [["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
22
+ var pd_0 = (i1.ɵnov(_v, 1).onMouseEnter() !== false);
23
+ ad = (pd_0 && ad);
24
+ } if (("mouseover" === en)) {
25
+ var pd_1 = (i1.ɵnov(_v, 1).onMouseOver() !== false);
26
+ ad = (pd_1 && ad);
27
+ } if (("mouseleave" === en)) {
28
+ var pd_2 = (i1.ɵnov(_v, 1).onMouseLeave() !== false);
29
+ ad = (pd_2 && ad);
30
+ } if (("mouseout" === en)) {
31
+ var pd_3 = (i1.ɵnov(_v, 1).onMouseOut() !== false);
32
+ ad = (pd_3 && ad);
33
+ } if (("click" === en)) {
34
+ var pd_4 = (i1.ɵnov(_v, 1).onClick() !== false);
35
+ ad = (pd_4 && ad);
36
+ } return ad; }, null, null)), i1.ɵdid(1, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(2, null, [" ", " "])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_6)), i1.ɵdid(4, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var currVal_0 = _v.context.$implicit; var currVal_1 = "bottom-left"; var currVal_2 = "black"; var currVal_3 = false; _ck(_v, 1, 0, currVal_0, currVal_1, currVal_2, currVal_3); var currVal_5 = (_v.context.index != 0); _ck(_v, 4, 0, currVal_5); }, function (_ck, _v) { var currVal_4 = _v.context.$implicit; _ck(_v, 2, 0, currVal_4); }); }
37
+ function View_FrameworkListTableComponent_4(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 5, "div", [["class", "within-part"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 1, "span", [["class", "within-box"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["Within"])), (_l()(), i1.ɵeld(3, 0, null, null, 2, "span", [["class", "value"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_5)), i1.ɵdid(5, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null)], function (_ck, _v) { var currVal_0 = ((_v.parent.context.$implicit == null) ? null : _v.parent.context.$implicit.within); _ck(_v, 5, 0, currVal_0); }, null); }
38
+ function View_FrameworkListTableComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 22, "div", [["class", "table-row"]], [[2, "row-clickable", null], [2, "active", null]], [[null, "click"]], function (_v, en, $event) { var ad = true; var _co = _v.component; if (("click" === en)) {
21
39
  var pd_0 = (_co.selectFramework(_v.context.$implicit) !== false);
22
40
  ad = (pd_0 && ad);
23
41
  } return ad; }, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 5, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 2, "div", [["class", "sr-no"], ["delay", "0"], ["placement", "bottom"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
@@ -35,25 +53,25 @@ function View_FrameworkListTableComponent_3(_l) { return i1.ɵvid(0, [(_l()(), i
35
53
  } if (("click" === en)) {
36
54
  var pd_4 = (i1.ɵnov(_v, 3).onClick() !== false);
37
55
  ad = (pd_4 && ad);
38
- } return ad; }, null, null)), i1.ɵdid(3, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(4, null, ["", ""])), (_l()(), i1.ɵeld(5, 0, null, null, 1, "app-cs-radio", [], null, null, null, i5.View_CsRadioComponent_0, i5.RenderType_CsRadioComponent)), i1.ɵdid(6, 114688, null, 0, i6.CsRadioComponent, [], { checked: [0, "checked"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 3, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 2, "div", [["class", "name-inner vx-fs-13 vx-label-txt vx-pr-5"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
39
- var pd_0 = (i1.ɵnov(_v, 9).onMouseEnter() !== false);
56
+ } return ad; }, null, null)), i1.ɵdid(3, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(4, null, ["", ""])), (_l()(), i1.ɵeld(5, 0, null, null, 1, "app-cs-radio", [], null, null, null, i6.View_CsRadioComponent_0, i6.RenderType_CsRadioComponent)), i1.ɵdid(6, 114688, null, 0, i7.CsRadioComponent, [], { checked: [0, "checked"] }, null), (_l()(), i1.ɵeld(7, 0, null, null, 6, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name"]], null, null, null, null, null)), (_l()(), i1.ɵeld(8, 0, null, null, 5, "div", [["class", "vx-d-block vx-w-100"]], null, null, null, null, null)), (_l()(), i1.ɵeld(9, 0, null, null, 2, "div", [["class", "name-inner vx-fs-12 vx-label-txt vx-pr-5"], ["delay", "0"], ["placement", "bottom-left"], ["type", "black"]], null, [[null, "mouseenter"], [null, "mouseover"], [null, "mouseleave"], [null, "mouseout"], [null, "click"]], function (_v, en, $event) { var ad = true; if (("mouseenter" === en)) {
57
+ var pd_0 = (i1.ɵnov(_v, 10).onMouseEnter() !== false);
40
58
  ad = (pd_0 && ad);
41
59
  } if (("mouseover" === en)) {
42
- var pd_1 = (i1.ɵnov(_v, 9).onMouseOver() !== false);
60
+ var pd_1 = (i1.ɵnov(_v, 10).onMouseOver() !== false);
43
61
  ad = (pd_1 && ad);
44
62
  } if (("mouseleave" === en)) {
45
- var pd_2 = (i1.ɵnov(_v, 9).onMouseLeave() !== false);
63
+ var pd_2 = (i1.ɵnov(_v, 10).onMouseLeave() !== false);
46
64
  ad = (pd_2 && ad);
47
65
  } if (("mouseout" === en)) {
48
- var pd_3 = (i1.ɵnov(_v, 9).onMouseOut() !== false);
66
+ var pd_3 = (i1.ɵnov(_v, 10).onMouseOut() !== false);
49
67
  ad = (pd_3 && ad);
50
68
  } if (("click" === en)) {
51
- var pd_4 = (i1.ɵnov(_v, 9).onClick() !== false);
69
+ var pd_4 = (i1.ɵnov(_v, 10).onClick() !== false);
52
70
  ad = (pd_4 && ad);
53
- } return ad; }, null, null)), i1.ɵdid(9, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(10, null, ["", ""])), (_l()(), i1.ɵeld(11, 0, null, null, 2, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 1, "div", [["class", "total-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4"]], null, null, null, null, null)), (_l()(), i1.ɵted(13, null, ["", ""])), (_l()(), i1.ɵeld(14, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(16, 0, null, null, 3, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action"]], null, null, null, null, null)), (_l()(), i1.ɵeld(17, 0, null, null, 2, "button", [["class", "arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE970"]))], function (_ck, _v) { var _co = _v.component; var currVal_2 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); var currVal_3 = "bottom"; var currVal_4 = "black"; var currVal_5 = true; _ck(_v, 3, 0, currVal_2, currVal_3, currVal_4, currVal_5); var currVal_7 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 6, 0, currVal_7); var currVal_8 = "SOX 404 Internal Controls And General Controls"; var currVal_9 = "bottom-left"; var currVal_10 = "black"; var currVal_11 = false; _ck(_v, 9, 0, currVal_8, currVal_9, currVal_10, currVal_11); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = true; var currVal_1 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_6 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); _ck(_v, 4, 0, currVal_6); var currVal_12 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.name); _ck(_v, 10, 0, currVal_12); var currVal_13 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.totalControls); _ck(_v, 13, 0, currVal_13); }); }
54
- function View_FrameworkListTableComponent_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_FrameworkListTableComponent_3)), i1.ɵdid(2, 278528, null, 0, i7.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.frameworksList == null) ? null : _co.frameworksList.data); _ck(_v, 2, 0, currVal_0); }, null); }
55
- export function View_FrameworkListTableComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, "div", [["class", "framework-table-list"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 10, "div", [["class", "table-header"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 9, "div", [["class", "table-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["#"])), (_l()(), i1.ɵeld(5, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["NAME"])), (_l()(), i1.ɵeld(7, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["TOTAL"])), (_l()(), i1.ɵeld(9, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 4, "div", [["class", "table-body"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_1)), i1.ɵdid(14, 16384, null, 0, i7.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_2)), i1.ɵdid(16, 16384, null, 0, i7.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.loader; _ck(_v, 14, 0, currVal_0); var currVal_1 = !_co.loader; _ck(_v, 16, 0, currVal_1); }, null); }
71
+ } return ad; }, null, null)), i1.ɵdid(10, 81920, null, 0, i4.ToolTipDirective, [i1.ElementRef, i1.Renderer2], { tooltipTitle: [0, "tooltipTitle"], placement: [1, "placement"], type: [2, "type"], tooltipMandatory: [3, "tooltipMandatory"] }, null), (_l()(), i1.ɵted(11, null, ["", ""])), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_4)), i1.ɵdid(13, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵeld(14, 0, null, null, 2, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵeld(15, 0, null, null, 1, "div", [["class", "total-value vx-fs-10 vx-fw-500 vx-label-txt vx-pl-1 vx-pr-1 vx-lh-4"]], null, null, null, null, null)), (_l()(), i1.ɵted(16, null, ["", ""])), (_l()(), i1.ɵeld(17, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(18, 0, null, null, 0, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(19, 0, null, null, 3, "div", [["class", "table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center vx-justify-end action"]], null, null, null, null, null)), (_l()(), i1.ɵeld(20, 0, null, null, 2, "button", [["class", "arrow vx-fs-12 vx-paragraph-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center"]], null, null, null, null, null)), (_l()(), i1.ɵeld(21, 0, null, null, 1, "i", [["class", "icons"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["\uE970"]))], function (_ck, _v) { var _co = _v.component; var currVal_2 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); var currVal_3 = "bottom"; var currVal_4 = "black"; var currVal_5 = true; _ck(_v, 3, 0, currVal_2, currVal_3, currVal_4, currVal_5); var currVal_7 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 6, 0, currVal_7); var currVal_8 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.name); var currVal_9 = "bottom-left"; var currVal_10 = "black"; var currVal_11 = false; _ck(_v, 10, 0, currVal_8, currVal_9, currVal_10, currVal_11); var currVal_13 = ((_v.context.$implicit == null) ? null : ((_v.context.$implicit.within == null) ? null : _v.context.$implicit.within.length)); _ck(_v, 13, 0, currVal_13); }, function (_ck, _v) { var _co = _v.component; var currVal_0 = true; var currVal_1 = (((_co.currentFramework == null) ? null : _co.currentFramework.id) == _v.context.$implicit.id); _ck(_v, 0, 0, currVal_0, currVal_1); var currVal_6 = (_v.context.index + ((_co.frameworksList == null) ? null : _co.frameworksList.from)); _ck(_v, 4, 0, currVal_6); var currVal_12 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.name); _ck(_v, 11, 0, currVal_12); var currVal_14 = ((_v.context.$implicit == null) ? null : _v.context.$implicit.totalControls); _ck(_v, 16, 0, currVal_14); }); }
72
+ function View_FrameworkListTableComponent_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_FrameworkListTableComponent_3)), i1.ɵdid(2, 278528, null, 0, i5.NgForOf, [i1.ViewContainerRef, i1.TemplateRef, i1.IterableDiffers], { ngForOf: [0, "ngForOf"] }, null), (_l()(), i1.ɵand(0, null, null, 0))], function (_ck, _v) { var _co = _v.component; var currVal_0 = ((_co.frameworksList == null) ? null : _co.frameworksList.data); _ck(_v, 2, 0, currVal_0); }, null); }
73
+ export function View_FrameworkListTableComponent_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 16, "div", [["class", "framework-table-list"]], null, null, null, null, null)), (_l()(), i1.ɵeld(1, 0, null, null, 10, "div", [["class", "table-header"]], null, null, null, null, null)), (_l()(), i1.ɵeld(2, 0, null, null, 9, "div", [["class", "table-row"]], null, null, null, null, null)), (_l()(), i1.ɵeld(3, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["#"])), (_l()(), i1.ɵeld(5, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["NAME"])), (_l()(), i1.ɵeld(7, 0, null, null, 1, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center total"]], null, null, null, null, null)), (_l()(), i1.ɵted(-1, null, ["TOTAL"])), (_l()(), i1.ɵeld(9, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center assigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(10, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center unassigned"]], null, null, null, null, null)), (_l()(), i1.ɵeld(11, 0, null, null, 0, "div", [["class", "table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center action"]], null, null, null, null, null)), (_l()(), i1.ɵeld(12, 0, null, null, 4, "div", [["class", "table-body"]], null, null, null, null, null)), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_1)), i1.ɵdid(14, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListTableComponent_2)), i1.ɵdid(16, 16384, null, 0, i5.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = _co.loader; _ck(_v, 14, 0, currVal_0); var currVal_1 = !_co.loader; _ck(_v, 16, 0, currVal_1); }, null); }
56
74
  export function View_FrameworkListTableComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-framework-list-table", [], null, null, null, View_FrameworkListTableComponent_0, RenderType_FrameworkListTableComponent)), i1.ɵdid(1, 638976, null, 0, i8.FrameworkListTableComponent, [], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
57
75
  var FrameworkListTableComponentNgFactory = i1.ɵccf("app-framework-list-table", i8.FrameworkListTableComponent, View_FrameworkListTableComponent_Host_0, { frameworksList: "frameworksList", frameworkType: "frameworkType", currentFramework: "currentFramework", listLoader: "listLoader" }, { selectedFramework: "selectedFramework" }, []);
58
76
  export { FrameworkListTableComponentNgFactory as FrameworkListTableComponentNgFactory };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NFQ2dCUSxrU0FBd0U7c0VBR3BFLG9NQXdCTSxZQXhCaUI7O3dCQUFvQztNQUEzRCx3QkF3Qk0sS0F2QkYsc0pBR00sS0FGRjs7Ozs7Ozs7Ozs7Ozs7O3VQQUE2SixJQUFoQyxnQ0FBMEIsTUFDdkosK05BQTRFLElBRWhGLG9KQUVNLEtBREY7Ozs7Ozs7Ozs7Ozs7Ozt1UEFBeU4sSUFBekIsaUNBQW1CLE1BRXZOLHNKQUVNLEtBREYsNkpBQW1ILEtBQWxDLGlDQUE0QixNQUVqSCx5SkFJTSxLQUNOLDJKQUlNLEtBQ04sc0tBRU0sS0FERixzTEFBZ0osS0FBdEMsNkZBQTZCLEtBQVosbUNBQVEsbURBcEJoSCw4RUFBcUMsd0JBQUMsd0JBQWtCLEVBQVcsdUJBQVksRUFBQyxvQkFBeUIsRUFBNUgsWUFBNkosRUFBMUksU0FBcUMsRUFBQyxTQUFrQixFQUFXLFNBQVksRUFBQyxTQUF5QixHQUM5Ryx3RkFBOEMsd0JBQTVELFlBQTRFLEVBQTlELFNBQThDLEdBR04sZ0VBQStELEVBQUMsNkJBQXVCLEVBQVcsd0JBQVksRUFBQyxzQkFBMEIsRUFBL0wsWUFBeU4sRUFBbkssU0FBK0QsRUFBQyxTQUF1QixFQUFXLFVBQVksRUFBQyxVQUEwQixtREFOM0ksb0JBQTRCLEVBQUMsd0ZBQW1ELHdCQUE1SSxZQXdCTSxFQXhCc0QsU0FBNEIsRUFBQyxTQUFtRCxHQUVQLDZIQUEwQixHQUl5QywrR0FBbUIsR0FHbEksd0hBQTRCO3NFQVZ6SCw2RUEwQmUsS0F6QlgseU5Bd0JNLHNGQXhCdUksMERBQThELHVCQUEzTSxZQXdCTSxFQXhCdUksU0FBOEQ7NkVBbkJ2Tiw4R0ErQ00sS0E5Q0Ysc0dBYU0sS0FaRixrR0FXTSxLQVZGLGlNQUE2SCxLQUFQLDhCQUFDLE1BQ3ZILCtMQUE4SCxLQUFWLGlDQUFJLE1BQ3hILGdNQUFnSSxLQUFYLGtDQUFLLE1BQzFILG1NQUVNLEtBQ04sc01BRU0sS0FDTixrTUFBNEgsS0FHcEksb0dBK0JNLEtBOUJGLDRMQUF3RSxJQUV4RSw0TEEwQmUsaURBNUJhLG1CQUFjLFNBQTFDLGFBQXdFLEVBQTVDLFNBQWMsR0FFNUIsb0JBQWUsU0FBN0IsYUEwQmUsRUExQkQsU0FBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGkwIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaTAuQ29tcG9uZW50RmFjdG9yeTtcbiIsIjxkaXYgY2xhc3M9XCJmcmFtZXdvcmstdGFibGUtbGlzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCI+IzwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+TkFNRTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB0b3RhbFwiPlRPVEFMPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIEFTU0lHTkVEIC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdW5hc3NpZ25lZFwiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBVTkFTU0lHTkVEIC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYWN0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgPGxpYi1mcmFtZXdvcmstdGFibGUtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9saWItZnJhbWV3b3JrLXRhYmxlLWxvYWRlcj5cclxuICAgICAgICA8IS0tIHdoZW4gY2xpY2sgb24gcm93IHRoZW4gYWN0aXZlIGNsYXNzIHdhcyB0cnVlICYgcmFkaW8gd2FzIGNoZWNrZWQgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiIChjbGljayk9XCJzZWxlY3RGcmFtZXdvcmsoZnJhbWV3b3JrKVwiIFtjbGFzcy5yb3ctY2xpY2thYmxlXT1cInRydWVcIiBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRGcmFtZXdvcms/LmlkPT1mcmFtZXdvcmsuaWRcIiAqbmdGb3I9XCJsZXQgZnJhbWV3b3JrIG9mIGZyYW1ld29ya3NMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCJpK2ZyYW1ld29ya3NMaXN0Py5mcm9tXCIgcGxhY2VtZW50PVwiYm90dG9tXCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7aStmcmFtZXdvcmtzTGlzdD8uZnJvbX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBbY2hlY2tlZF09XCJjdXJyZW50RnJhbWV3b3JrPy5pZD09ZnJhbWV3b3JrLmlkXCI+PC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyIHZ4LWZzLTEzIHZ4LWxhYmVsLXR4dCB2eC1wci01XCIgW2FwcFRvb2x0aXBdPVwiJ1NPWCA0MDQgSW50ZXJuYWwgQ29udHJvbHMgQW5kIEdlbmVyYWwgQ29udHJvbHMnXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7ZnJhbWV3b3JrPy5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB0b3RhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3RhbC12YWx1ZSB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXBsLTEgdngtcHItMSB2eC1saC00XCI+e3tmcmFtZXdvcms/LnRvdGFsQ29udHJvbHN9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFzc2lnbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiYXNzaWduZWQtdmFsdWUgdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXByLTEgdngtbXItMSB2eC1kLWlubGluZS1ibG9ja1wiPnt7ZnJhbWV3b3JrPy5hc3NpZ25lZD8uY291bnR9fTwvc3Bhbj4ge3tmcmFtZXdvcms/LmFzc2lnbmVkPy5wZXJjZW50YWdlfX0lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHVuYXNzaWduZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ1bmFzc2lnbmVkLXZhbHVlIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1wci0xIHZ4LW1yLTEgdngtZC1pbmxpbmUtYmxvY2tcIj57e2ZyYW1ld29yaz8udW5hc3NpZ25lZD8uY291bnR9fTwvc3Bhbj4ge3tmcmFtZXdvcms/LnVuYXNzaWduZWQ/LnBlcmNlbnRhZ2V9fSVcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgYWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFycm93IHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHQgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5NzA7PC9pPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QtdGFibGUvZnJhbWV3b3JrLWxpc3QtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NFQ2dCUSxrU0FBd0U7c0VBY2lILDRGQUEwQyxLQUFaLG1DQUFRO3NFQUE3TTs7Ozs7Ozs7Ozs7Ozs7O3VQQUF3TixJQUE1RCxrQ0FBVyxNQUFBLDJMQUEwQyx5QkFBM00sa0JBQW9CLG9CQUFDLDZCQUF1QixFQUFXLHVCQUFZLEVBQUMscUJBQTBCLEVBQXBHLFlBQXdOLEVBQWxOLFNBQW9CLEVBQUMsU0FBdUIsRUFBVyxTQUFZLEVBQUMsU0FBMEIsR0FBb0Ysc0NBQVksR0FBN0IsWUFBMEMsRUFBekIsU0FBWSwyQkFBeEMsNkRBQVc7c0VBSDdLLG9HQUtNLEtBSkYsb0dBQXNDLEtBQWIsbUNBQU0sTUFDL0IsK0ZBRU8sS0FETCx5TkFBd04seUJBQW5ILGtFQUFzRCxtQ0FBM0osWUFBd04sRUFBbkgsU0FBc0Q7c0VBWHpLLG9NQWdDTSxZQWhDaUI7O3dCQUFvQztNQUEzRCx3QkFnQ00sS0EvQkYsc0pBR00sS0FGRjs7Ozs7Ozs7Ozs7Ozs7O3VQQUE2SixJQUFoQyxnQ0FBMEIsTUFDdkosK05BQTRFLElBRWhGLG9KQVVNLEtBVEYsNEdBUUUsS0FQRjs7Ozs7Ozs7Ozs7Ozs7O3dQQUF3TCxJQUF6QixpQ0FBbUIsTUFDbEwsNExBS00sSUFHVixzSkFFTSxLQURGLDZKQUFtSCxLQUFsQyxpQ0FBNEIsTUFFakgseUpBSU0sS0FDTiwySkFJTSxLQUNOLHNLQUVNLEtBREYsc0xBQWdKLEtBQXRDLDZGQUE2QixLQUFaLG1DQUFRLG1EQTVCaEgsOEVBQXFDLHdCQUFDLHdCQUFrQixFQUFXLHVCQUFZLEVBQUMsb0JBQXlCLEVBQTVILFlBQTZKLEVBQTFJLFNBQXFDLEVBQUMsU0FBa0IsRUFBVyxTQUFZLEVBQUMsU0FBeUIsR0FDOUcsd0ZBQThDLHdCQUE1RCxZQUE0RSxFQUE5RCxTQUE4QyxHQUlOLDJEQUE4QiwwQkFBQyw2QkFBdUIsRUFBVyx3QkFBWSxFQUFDLHNCQUEwQixFQUE5SixhQUF3TCxFQUFsSSxTQUE4QixFQUFDLFNBQXVCLEVBQVcsVUFBWSxFQUFDLFVBQTBCLEdBQ3JJLDRHQUFpQyxvQ0FBMUQsYUFLTSxFQUxtQixVQUFpQyxtREFSTixvQkFBNEIsRUFBQyx3RkFBbUQsd0JBQTVJLFlBZ0NNLEVBaENzRCxTQUE0QixFQUFDLFNBQW1ELEdBRVAsNkhBQTBCLEdBS1EsK0dBQW1CLEdBVWpHLHdIQUE0QjtzRUFsQnpILDZFQWtDZSxLQWpDWCx5TkFnQ00sc0ZBaEN1SSwwREFBOEQsdUJBQTNNLFlBZ0NNLEVBaEN1SSxTQUE4RDs2RUFuQnZOLDhHQXVETSxLQXRERixzR0FhTSxLQVpGLGtHQVdNLEtBVkYsaU1BQTZILEtBQVAsOEJBQUMsTUFDdkgsK0xBQThILEtBQVYsaUNBQUksTUFDeEgsZ01BQWdJLEtBQVgsa0NBQUssTUFDMUgsbU1BRU0sS0FDTixzTUFFTSxLQUNOLGtNQUE0SCxLQUdwSSxvR0F1Q00sS0F0Q0YsNExBQXdFLElBRXhFLDRMQWtDZSxpREFwQ2EsbUJBQWMsU0FBMUMsYUFBd0UsRUFBNUMsU0FBYyxHQUU1QixvQkFBZSxTQUE3QixhQWtDZSxFQWxDRCxTQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIiwiPGRpdiBjbGFzcz1cImZyYW1ld29yay10YWJsZS1saXN0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj4jPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIj5OQU1FPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHRvdGFsXCI+VE9UQUw8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgYXNzaWduZWRcIj5cclxuICAgICAgICAgICAgICAgIDwhLS0gQVNTSUdORUQgLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB1bmFzc2lnbmVkXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIFVOQVNTSUdORUQgLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhY3Rpb25cIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICA8bGliLWZyYW1ld29yay10YWJsZS1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2xpYi1mcmFtZXdvcmstdGFibGUtbG9hZGVyPlxyXG4gICAgICAgIDwhLS0gd2hlbiBjbGljayBvbiByb3cgdGhlbiBhY3RpdmUgY2xhc3Mgd2FzIHRydWUgJiByYWRpbyB3YXMgY2hlY2tlZCAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgKGNsaWNrKT1cInNlbGVjdEZyYW1ld29yayhmcmFtZXdvcmspXCIgW2NsYXNzLnJvdy1jbGlja2FibGVdPVwidHJ1ZVwiIFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudEZyYW1ld29yaz8uaWQ9PWZyYW1ld29yay5pZFwiICpuZ0Zvcj1cImxldCBmcmFtZXdvcmsgb2YgZnJhbWV3b3Jrc0xpc3Q/LmRhdGE7IGxldCBpID0gaW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cImkrZnJhbWV3b3Jrc0xpc3Q/LmZyb21cIiBwbGFjZW1lbnQ9XCJib3R0b21cIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+e3tpK2ZyYW1ld29ya3NMaXN0Py5mcm9tfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvIFtjaGVja2VkXT1cImN1cnJlbnRGcmFtZXdvcms/LmlkPT1mcmFtZXdvcmsuaWRcIj48L2FwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lciB2eC1mcy0xMiB2eC1sYWJlbC10eHQgdngtcHItNVwiIFthcHBUb29sdGlwXT1cImZyYW1ld29yaz8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e2ZyYW1ld29yaz8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi1wYXJ0XCIgKm5nSWY9XCJmcmFtZXdvcms/LndpdGhpbj8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aGluLWJveFwiPldpdGhpbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFthcHBUb29sdGlwXT1cImNoaWxkXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBmcmFtZXdvcms/LndpdGhpbjsgbGV0IGkgPSBpbmRleFwiPiB7e2NoaWxkfX0gPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiaSE9MFwiPiYjeGU5NmI7PC9pPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdG90YWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG90YWwtdmFsdWUgdngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNFwiPnt7ZnJhbWV3b3JrPy50b3RhbENvbnRyb2xzfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBhc3NpZ25lZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImFzc2lnbmVkLXZhbHVlIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1wci0xIHZ4LW1yLTEgdngtZC1pbmxpbmUtYmxvY2tcIj57e2ZyYW1ld29yaz8uYXNzaWduZWQ/LmNvdW50fX08L3NwYW4+IHt7ZnJhbWV3b3JrPy5hc3NpZ25lZD8ucGVyY2VudGFnZX19JVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB1bmFzc2lnbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidW5hc3NpZ25lZC12YWx1ZSB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXBsLTEgdngtcHItMSB2eC1saC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtcHItMSB2eC1tci0xIHZ4LWQtaW5saW5lLWJsb2NrXCI+e3tmcmFtZXdvcms/LnVuYXNzaWduZWQ/LmNvdW50fX08L3NwYW4+IHt7ZnJhbWV3b3JrPy51bmFzc2lnbmVkPy5wZXJjZW50YWdlfX0lXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIGFjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhcnJvdyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTcwOzwvaT48L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -138,8 +138,12 @@ export class FrameworkListComponent {
138
138
  close() {
139
139
  this.closeFramework.emit();
140
140
  }
141
- getFrameworksCount() {
142
- this.responsibilityService.getFrameWorkCount().pipe(takeUntil(this.unsubscribe)).subscribe({
141
+ getFrameworksCount(data) {
142
+ let params = new HttpParams();
143
+ if ((data === null || data === void 0 ? void 0 : data.search) || this.searchText.frameWork) {
144
+ params = params.append('search', this.searchText.frameWork);
145
+ }
146
+ this.responsibilityService.getFrameWorkCount(params).pipe(takeUntil(this.unsubscribe)).subscribe({
143
147
  next: (res) => {
144
148
  var _a, _b, _c, _d;
145
149
  this.frameworkCount = {
@@ -255,6 +259,7 @@ export class FrameworkListComponent {
255
259
  if (this.searchText.frameWork != event) {
256
260
  this.searchText.frameWork = event;
257
261
  this.getFrameworksList({ search: true });
262
+ this.getFrameworksCount({ search: true });
258
263
  }
259
264
  break;
260
265
  case 'categories':
@@ -370,8 +375,8 @@ export class FrameworkListComponent {
370
375
  FrameworkListComponent.decorators = [
371
376
  { type: Component, args: [{
372
377
  selector: 'app-framework-list',
373
- template: "<!-- <p>framework-list works!</p> -->\r\n<div class=\"framework-list\">\r\n <div class=\"framework-list-head\">\r\n <h3 *ngIf=\"currentList=='framework'\" class=\"framework-list-title\"> Select From a Framework</h3>\r\n <h3 *ngIf=\"currentList=='categories'\" class=\"framework-list-title\"> Select From a Framework >\r\n {{selectedValues?.framework?.name}}</h3>\r\n\r\n <h3 *ngIf=\"currentList=='responsibilities'\" class=\"framework-list-title\">\r\n <i class=\"icons\" (click)=\"goBack()\">&#xe91d;</i> {{selectedValues?.framework?.name}}</h3>\r\n\r\n <!-- <h3 *ngIf=\"breadCrumb.length>0\" class=\"framework-list-title\">\r\n <i class=\"icons\" *ngIf=\"breadCrumb?.length > 0\" (click)=\"getCategoryDetailsById()\">&#xe91d;</i>\r\n <ng-container *ngFor=\"let item of breadCrumb; let i = index\">\r\n <span class=\"arrow\">{{(i>0)?'>':''}}</span>\r\n <span\r\n [class.link]=\"tableComponent.currentEntity || (!(tableComponent.currentEntity) && i !== breadCrumb?.length -1)\"\r\n (click)=\"getCategoryDetailsById(item.itemId)\" [appTooltip]=\"item.itemName\" placement=\"bottom\"\r\n delay=\"0\">{{item.itemName}}\r\n </span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"tableComponent.currentEntity\"> <span class=\"arrow\">></span>\r\n {{breadCrumb[breadCrumb?.length - 1].itemName}}\r\n <span>&nbsp;for {{tableComponent.currentEntity}}</span>\r\n </ng-container>\r\n </h3> -->\r\n </div>\r\n <div class=\"framework-list-body\">\r\n <div class=\"filter-card-row\" *ngIf=\"currentList=='framework'\">\r\n <!--this section will not appear on child part -->\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"changeTab('regulations')\">\r\n <div class=\"left\">\r\n <label>Regulations</label>\r\n </div>\r\n\r\n <span class=\"counter\">{{frameworkCount.regulations}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"changeTab('standards')\">\r\n <div class=\"left\">\r\n <label>Standards</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.standards}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'internalControls'\"\r\n (click)=\"changeTab('internalControls')\">\r\n <div class=\"left\">\r\n <label>Internal Controls</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.internalControls}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'others'\" (click)=\"changeTab('others')\">\r\n <div class=\"left\">\r\n <label>Others</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.others}}</span>\r\n </div>\r\n </div>\r\n <div class=\"framework-list-search\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchField [placeholder]=\"placeholderText[currentList]\"\r\n (keyup.enter)=\"searchBy($event.target.value,currentList)\" />\r\n </div>\r\n <!-- <app-workflow-pagination></app-workflow-pagination> -->\r\n <app-pagination *ngIf=\"currentList=='framework' && frameworkData.totalPages > 1\" [start]=\"frameworkData.from\"\r\n [end]=\"frameworkData.to\" [total]=\"frameworkData.totalRecords\" [pageCount]=\"frameworkData.totalPages\"\r\n [currentPage]=\"frameworkData.currentPage\" (selectedPage)=\"changePage($event,'frameworks')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='categories' && subCategoriesList.totalPages > 1\"\r\n [start]=\"subCategoriesList.from\" [end]=\"subCategoriesList.to\" [total]=\"subCategoriesList.totalRecords\"\r\n [pageCount]=\"subCategoriesList.totalPages\" [currentPage]=\"subCategoriesList.currentPage\"\r\n (selectedPage)=\"changePage($event,'categories')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='responsibilities' && responsibilitiesList.totalPages > 1\"\r\n [start]=\"responsibilitiesList.from\" [end]=\"responsibilitiesList.to\"\r\n [total]=\"responsibilitiesList.totalRecords\" [pageCount]=\"responsibilitiesList.totalPages\"\r\n [currentPage]=\"responsibilitiesList.currentPage\" (selectedPage)=\"changePage($event,'responsibilities')\">\r\n </app-pagination>\r\n <!-- For parent -->\r\n <!-- <div class=\"framework-list-pagination\">\r\n <app-workflow-pagination></app-workflow-pagination>\r\n </div> -->\r\n <div class=\"framework-list-table\" [class.no-card]=\"breadCrumb.length>0\">\r\n\r\n\r\n\r\n\r\n <app-framework-list-table *ngIf=\"currentList=='framework'\" [listLoader]=\"loader\"\r\n [frameworkType]=\"'framework'\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworksList]=\"frameworkData\">\r\n </app-framework-list-table>\r\n <app-framework-list-table *ngIf=\"currentList=='categories'\" [listLoader]=\"loader\"\r\n [frameworksList]=\"subCategoriesList\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworkType]=\"'subFramework'\">\r\n </app-framework-list-table>\r\n <app-framework-responsibility-table *ngIf=\"currentList=='responsibilities'\" [listLoader]=\"loader\"\r\n [currentSelectedControl]=\"selectedValues[currentList]\" [controlsList]=\"responsibilitiesList.data\"\r\n (selectedControl)=\"selectFramework($event)\" (assignControl)=\"assignSelectedControl($event)\">\r\n </app-framework-responsibility-table>\r\n <app-no-data *ngIf=\"frameworkData?.data?.length==0 && currentList=='framework' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"subCategoriesList?.data?.length==0 && currentList=='categories' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"responsibilitiesList?.data?.length==0 && currentList=='responsibilities' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <!-- old table list -->\r\n <!-- <app-parent-table #parentTable *ngIf=\"showParent\" [search]=\"search\"\r\n (expandCategory)=\"expandCategory($event)\" [tableList]=\"categoryList[activeTab].list\"\r\n (entrustFramework)=\"entrustFrameworkDetails($event)\">\r\n </app-parent-table> -->\r\n </div>\r\n\r\n\r\n </div>\r\n <!-- [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0\" -->\r\n <app-floating-bar [selectedData]=\"(selectedValues[currentList]?.name)?[selectedValues[currentList]]:[]\"\r\n [displayElementKey]=\"floatingBarDisplayKeys[currentList]\" [isDisabled]=\"!selectedValues[currentList]?.name\" (closeEvent)=\"save()\" (closeList)=\"goBack()\"\r\n (deleteEvent)=\"remove()\"></app-floating-bar>\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n</div>",
374
- styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .framework-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0;z-index:-1}::ng-deep .framework-list-head{height:44px;background:#fbfbfb;padding:12px}::ng-deep .framework-list-title{line-height:20px;font-size:14px;color:#161b2f;margin:0;font-weight:500;display:flex;align-items:center}::ng-deep .framework-list-title i{font-size:20px;margin-right:8px;cursor:pointer}::ng-deep .framework-list-title span.link{color:#1e5dd3;cursor:pointer;text-transform:capitalize}::ng-deep .framework-list-title span.link.not-click{pointer-events:none;color:#161b2f}::ng-deep .framework-list-title span.link:last-of-type{pointer-events:none;color:#161b2f}::ng-deep .framework-list-title span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}::ng-deep .framework-list-title span.arrow{margin:0 8px;display:inline-block;font-size:20px}::ng-deep .framework-list-title span.arrow:empty{display:none}::ng-deep .framework-list-search{position:relative;margin-bottom:8px}::ng-deep .framework-list-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .framework-list-search input:focus{border-color:#1e5dd3}::ng-deep .framework-list-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .framework-list app-workflow-pagination .pagination-sec{padding-top:0!important}::ng-deep .framework-list-body{padding:28px 36px 12px;height:calc(100vh - 120px)}::ng-deep .framework-list-body .filter-card{display:flex;align-items:center;border:1px solid #dbdbdb;border-radius:4px;height:55px;padding:12px 15px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .framework-list-body .filter-card.active{box-shadow:0 3px 6px #1e5dd340}::ng-deep .framework-list-body .filter-card.active .counter{background:#f1f1f1;color:#161b2f}::ng-deep .framework-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .framework-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .framework-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .framework-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .framework-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .framework-list-body .filter-card-row{display:flex;padding-bottom:8px}::ng-deep .framework-list-table{position:relative;height:calc(100% - 138px);overflow:hidden;overflow-y:auto}::ng-deep .framework-list-table app-parent-table{height:calc(100vh - 260px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;display:block;padding-right:8px;margin-right:-8px}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .framework-list-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table.no-card{height:calc(100vh - 232px)}::ng-deep .framework-list-table:before{background:#fff;position:absolute;top:0;right:-8px;height:32px;width:8px;content:\"\"}"]
378
+ template: "<!-- <p>framework-list works!</p> -->\r\n<div class=\"framework-list\">\r\n <div class=\"framework-list-head\">\r\n <h3 *ngIf=\"currentList=='framework'\" class=\"framework-list-title\"> Select From a Framework</h3>\r\n <h3 *ngIf=\"currentList=='categories'\" class=\"framework-list-title\"> Select From a Framework >\r\n {{selectedValues?.framework?.name}}</h3>\r\n\r\n <h3 *ngIf=\"currentList=='responsibilities'\" class=\"framework-list-title\">\r\n <i class=\"icons\" (click)=\"goBack()\">&#xe91d;</i> {{selectedValues?.framework?.name}}</h3>\r\n\r\n <!-- <h3 *ngIf=\"breadCrumb.length>0\" class=\"framework-list-title\">\r\n <i class=\"icons\" *ngIf=\"breadCrumb?.length > 0\" (click)=\"getCategoryDetailsById()\">&#xe91d;</i>\r\n <ng-container *ngFor=\"let item of breadCrumb; let i = index\">\r\n <span class=\"arrow\">{{(i>0)?'>':''}}</span>\r\n <span\r\n [class.link]=\"tableComponent.currentEntity || (!(tableComponent.currentEntity) && i !== breadCrumb?.length -1)\"\r\n (click)=\"getCategoryDetailsById(item.itemId)\" [appTooltip]=\"item.itemName\" placement=\"bottom\"\r\n delay=\"0\">{{item.itemName}}\r\n </span>\r\n\r\n </ng-container>\r\n <ng-container *ngIf=\"tableComponent.currentEntity\"> <span class=\"arrow\">></span>\r\n {{breadCrumb[breadCrumb?.length - 1].itemName}}\r\n <span>&nbsp;for {{tableComponent.currentEntity}}</span>\r\n </ng-container>\r\n </h3> -->\r\n </div>\r\n <div class=\"framework-list-body\">\r\n <div class=\"filter-card-row\" *ngIf=\"currentList=='framework'\">\r\n <!--this section will not appear on child part -->\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'regulations'\" (click)=\"changeTab('regulations')\">\r\n <div class=\"left\">\r\n <label>Regulations</label>\r\n </div>\r\n\r\n <span class=\"counter\">{{frameworkCount.regulations}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'standards'\" (click)=\"changeTab('standards')\">\r\n <div class=\"left\">\r\n <label>Standards</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.standards}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'internalControls'\"\r\n (click)=\"changeTab('internalControls')\">\r\n <div class=\"left\">\r\n <label>Internal Controls</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.internalControls}}</span>\r\n </div>\r\n <div class=\"filter-card\" [class.active]=\"activeTab == 'others'\" (click)=\"changeTab('others')\">\r\n <div class=\"left\">\r\n <label>Others</label>\r\n </div>\r\n <span class=\"counter\">{{frameworkCount.others}}</span>\r\n </div>\r\n </div>\r\n <div class=\"framework-list-search\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" #searchField [placeholder]=\"placeholderText[currentList]\"\r\n (keyup.enter)=\"searchBy($event.target.value,currentList)\" />\r\n </div>\r\n <!-- <app-workflow-pagination></app-workflow-pagination> -->\r\n <app-pagination *ngIf=\"currentList=='framework' && frameworkData.totalPages > 1\" [start]=\"frameworkData.from\"\r\n [end]=\"frameworkData.to\" [total]=\"frameworkData.totalRecords\" [pageCount]=\"frameworkData.totalPages\"\r\n [currentPage]=\"frameworkData.currentPage\" (selectedPage)=\"changePage($event,'frameworks')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='categories' && subCategoriesList.totalPages > 1\"\r\n [start]=\"subCategoriesList.from\" [end]=\"subCategoriesList.to\" [total]=\"subCategoriesList.totalRecords\"\r\n [pageCount]=\"subCategoriesList.totalPages\" [currentPage]=\"subCategoriesList.currentPage\"\r\n (selectedPage)=\"changePage($event,'categories')\"></app-pagination>\r\n <app-pagination *ngIf=\"currentList=='responsibilities' && responsibilitiesList.totalPages > 1\"\r\n [start]=\"responsibilitiesList.from\" [end]=\"responsibilitiesList.to\"\r\n [total]=\"responsibilitiesList.totalRecords\" [pageCount]=\"responsibilitiesList.totalPages\"\r\n [currentPage]=\"responsibilitiesList.currentPage\" (selectedPage)=\"changePage($event,'responsibilities')\">\r\n </app-pagination>\r\n <!-- For parent -->\r\n <!-- <div class=\"framework-list-pagination\">\r\n <app-workflow-pagination></app-workflow-pagination>\r\n </div> -->\r\n <!-- [class.no-card]=\"breadCrumb.length>0\" -->\r\n <div class=\"framework-list-table\" [class.no-card]=\"currentList=='categories' || currentList=='responsibilities'\">\r\n <app-framework-list-table *ngIf=\"currentList=='framework'\" [listLoader]=\"loader\"\r\n [frameworkType]=\"'framework'\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworksList]=\"frameworkData\">\r\n </app-framework-list-table>\r\n <app-framework-list-table *ngIf=\"currentList=='categories'\" [listLoader]=\"loader\"\r\n [frameworksList]=\"subCategoriesList\" (selectedFramework)=\"selectFramework($event)\"\r\n [currentFramework]=\"selectedValues[currentList]\" [frameworkType]=\"'subFramework'\">\r\n </app-framework-list-table>\r\n <app-framework-responsibility-table *ngIf=\"currentList=='responsibilities'\" [listLoader]=\"loader\"\r\n [currentSelectedControl]=\"selectedValues[currentList]\" [controlsList]=\"responsibilitiesList.data\"\r\n (selectedControl)=\"selectFramework($event)\" (assignControl)=\"assignSelectedControl($event)\">\r\n </app-framework-responsibility-table>\r\n <app-no-data *ngIf=\"frameworkData?.data?.length==0 && currentList=='framework' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"subCategoriesList?.data?.length==0 && currentList=='categories' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <app-no-data *ngIf=\"responsibilitiesList?.data?.length==0 && currentList=='responsibilities' && !loader\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\"\r\n [noDataText]=\"'No data to display'\"></app-no-data>\r\n <!-- old table list -->\r\n <!-- <app-parent-table #parentTable *ngIf=\"showParent\" [search]=\"search\"\r\n (expandCategory)=\"expandCategory($event)\" [tableList]=\"categoryList[activeTab].list\"\r\n (entrustFramework)=\"entrustFrameworkDetails($event)\">\r\n </app-parent-table> -->\r\n </div>\r\n\r\n\r\n </div>\r\n <!-- [singularText]=\"'User selected'\" [pluralText]=\"'Users selected'\" (closeEvent)=\"save(selectedIds)\"\r\n (closeList)=\"close()\" (deleteEvent)=\"deleteEvent($event)\"\r\n [isDisabled]=\"(groupsList?.length + usersList?.length) === 0 || selectedUsers?.length === 0\" -->\r\n <app-floating-bar [selectedData]=\"(selectedValues[currentList]?.name)?[selectedValues[currentList]]:[]\"\r\n [displayElementKey]=\"floatingBarDisplayKeys[currentList]\" [isDisabled]=\"!selectedValues[currentList]?.name\" (closeEvent)=\"save()\" (closeList)=\"goBack()\"\r\n (deleteEvent)=\"remove()\"></app-floating-bar>\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n</div>",
379
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::ng-deep .framework-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:500px;bottom:0;left:0;z-index:-1}::ng-deep .framework-list-head{height:44px;background:#fbfbfb;padding:12px}::ng-deep .framework-list-title{line-height:20px;font-size:14px;color:#161b2f;margin:0;font-weight:500;display:flex;align-items:center}::ng-deep .framework-list-title i{font-size:20px;margin-right:8px;cursor:pointer}::ng-deep .framework-list-title span.link{color:#1e5dd3;cursor:pointer;text-transform:capitalize}::ng-deep .framework-list-title span.link.not-click{pointer-events:none;color:#161b2f}::ng-deep .framework-list-title span.link:last-of-type{pointer-events:none;color:#161b2f}::ng-deep .framework-list-title span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}::ng-deep .framework-list-title span.arrow{margin:0 8px;display:inline-block;font-size:20px}::ng-deep .framework-list-title span.arrow:empty{display:none}::ng-deep .framework-list-search{position:relative;margin-bottom:8px}::ng-deep .framework-list-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .framework-list-search input:focus{border-color:#1e5dd3}::ng-deep .framework-list-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#f1f1f1}::ng-deep .framework-list app-workflow-pagination .pagination-sec{padding-top:0!important}::ng-deep .framework-list-body{padding:28px 36px 12px;height:calc(100vh - 120px)}::ng-deep .framework-list-body .filter-card{display:flex;align-items:center;border:1px solid #dbdbdb;border-radius:4px;height:55px;padding:12px 15px;width:100%;justify-content:space-between;cursor:pointer}::ng-deep .framework-list-body .filter-card.active{box-shadow:0 3px 6px #1e5dd340}::ng-deep .framework-list-body .filter-card.active .counter{background:#f1f1f1;color:#161b2f}::ng-deep .framework-list-body .filter-card label{font-weight:600;text-transform:uppercase;color:#747576;line-height:16px;margin-left:0;font-size:11px;width:100%;pointer-events:none}::ng-deep .framework-list-body .filter-card p{line-height:16px;font-size:10px;color:#161b2f;font-weight:600;margin:0}::ng-deep .framework-list-body .filter-card span.counter{display:flex;height:32px;min-width:32px;border-radius:4px;background:#042e7d;color:#fff;font-size:11px;font-weight:600;justify-content:center;align-items:center;padding:0 5px;line-height:32px}::ng-deep .framework-list-body .filter-card .left{display:flex;flex-wrap:wrap}::ng-deep .framework-list-body .filter-card+.filter-card{margin-left:4px}::ng-deep .framework-list-body .filter-card-row{display:flex;padding-bottom:8px}::ng-deep .framework-list-table{position:relative;height:calc(100% - 116px);overflow:hidden;overflow-y:auto}::ng-deep .framework-list-table app-parent-table{height:calc(100vh - 260px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;display:block;padding-right:8px;margin-right:-8px}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table app-parent-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .framework-list-table::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::ng-deep .framework-list-table::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .framework-list-table.no-card{height:calc(100vh - 212px)}::ng-deep .framework-list-table:before{background:#fff;position:absolute;top:0;right:-8px;height:32px;width:8px;content:\"\"}"]
375
380
  },] }
376
381
  ];
377
382
  FrameworkListComponent.ctorParameters = () => [
@@ -390,4 +395,4 @@ FrameworkListComponent.propDecorators = {
390
395
  searchfield: [{ type: ViewChild, args: ['searchField',] }],
391
396
  searchCategory: [{ type: ViewChild, args: ['searchCategory',] }]
392
397
  };
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFTdkYsTUFBTSxPQUFPLHNCQUFzQjtJQW1HakMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFsR2hFLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBRWIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLHNCQUFpQixHQUFHO1lBQ2xCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENB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LENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDM0IsTUFBTTtZQUNSLEtBQUssa0JBQWtCO2dCQUNyQixtQ0FBbUM7Z0JBQ25DLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxJQUFTO1FBQzdCLElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7O1lBbFpGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5Qix1blFBQThDOzthQUUvQzs7O1lBUlEscUJBQXFCOzs7NkJBZTNCLFNBQVMsU0FBQyxhQUFhOytCQUN2QixNQUFNOzZCQUNOLE1BQU07NEJBQ04sTUFBTTtxQ0FDTixLQUFLO3FCQWtDTCxLQUFLOzRCQVNMLEtBQUs7Z0NBRUwsS0FBSztpQ0FDTCxLQUFLOzBCQUNMLFNBQVMsU0FBQyxhQUFhOzZCQUN2QixTQUFTLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZElkcywgU2VsZWN0ZWRWYWx1ZXMgfSBmcm9tICcuL2ZyYW1ld29yay1pbnRlZ3JhdGlvbi1pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgUGFyZW50VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3BhcmVudC10YWJsZS9wYXJlbnQtdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyYW1ld29yay1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZyYW1ld29ya0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgYnJlYWRDcnVtYjogYW55W10gPSBbXTtcclxuICBzZWFyY2ggPSAnJztcclxuICBzaG93UGFyZW50ID0gdHJ1ZTtcclxuICBzaG93Q2hpbGQgPSBmYWxzZTtcclxuICBwYXJlbnREYXRhOiBvYmplY3QgPSB7fVxyXG4gIEBWaWV3Q2hpbGQoJ3BhcmVudFRhYmxlJykgdGFibGVDb21wb25lbnQhOiBQYXJlbnRUYWJsZUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgZW50cnVzdEZyYW1ld29yayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VGcmFtZXdvcmsgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFzc2lnbkNvbnRyb2wgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgcHJldmlvdXNTZWxlY3RlZFZhbHVlcyE6IGFueTtcclxuICBzdWJDYXRlZ29yaWVzTGlzdCA9IHtcclxuICAgIGZyb206IDEsXHJcbiAgICB0bzogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGRhdGE6IFtdLFxyXG4gIH07XHJcbiAgcmVzcG9uc2liaWxpdGllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBkYXRhOiBbXSxcclxuICB9O1xyXG5cclxuICBzZWFyY2hUZXh0ID0ge1xyXG4gICAgZnJhbWVXb3JrOiAnJyxcclxuICAgIGNhdGVnb3J5OiAnJyxcclxuICAgIHJlc3BvbnNpYmlsaXR5OiAnJyxcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkVmFsdWVzOiBTZWxlY3RlZFZhbHVlcyA9IHtcclxuICAgIGZyYW1ld29yazoge30sXHJcbiAgICBjYXRlZ29yaWVzOiB7fSxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6IHt9XHJcbiAgfVxyXG5cclxuXHJcbiAgc3VibWlzc2lvbkxvYWRlciA9IGZhbHNlO1xyXG4gIGN1cnJlbnRDYXRlZ29yeTogYW55ID0ge307XHJcblxyXG4gIEBJbnB1dCgpIHBvbGljeTogYW55ID0ge31cclxuICAvLyBAT3V0cHV0KCkgY2hhbmdlVGFiID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjdXJyZW50QnVzaW5lc3NDeWNsZSE6IGFueTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIC8vcHJvZ3JhbVxyXG4gIHN1Ykxpc3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmcmFtZVdvcmtMaXN0OiBhbnk7XHJcbiAgLy8gQElucHV0KCkgYWxsUHJvZ3JhbXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRGcmFtZVdvcmshOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yaWVzOiBhbnlbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEZpZWxkJykgc2VhcmNoZmllbGQhOiBhbnk7XHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoQ2F0ZWdvcnknKSBzZWFyY2hDYXRlZ29yeSE6IGFueTtcclxuXHJcbiAgZnJhbWV3b3JrRGF0YSA9IHtcclxuICAgIGRhdGE6IFtdLFxyXG4gICAgZnJvbTogMCxcclxuICAgIHRvOiAwLFxyXG4gICAgdG90YWxQYWdlczogMCxcclxuICAgIHRvdGFsUmVjb3JkczogMCxcclxuICAgIGN1cnJlbnRQYWdlOiAxLFxyXG5cclxuICB9XHJcbiAgZnJhbWV3b3JrQ291bnQgPSB7XHJcbiAgICByZWd1bGF0aW9uczogMCxcclxuICAgIHN0YW5kYXJkczogMCxcclxuICAgIGludGVybmFsQ29udHJvbHM6IDAsXHJcbiAgICBvdGhlcnM6IDBcclxuICB9XHJcbiAgZnJhbWVUeXBlT2JqZWN0ID0ge1xyXG4gICAgcmVndWxhdGlvbnM6IDEsXHJcbiAgICBzdGFuZGFyZHM6IDIsXHJcbiAgICBpbnRlcm5hbENvbnRyb2xzOiAzLFxyXG4gICAgb3RoZXJzOiAwLFxyXG4gIH1cclxuICBwbGFjZWhvbGRlclRleHQgPSB7XHJcbiAgICBmcmFtZXdvcms6ICdTZWFyY2ggRnJhbWV3b3JrcycsXHJcbiAgICBjYXRlZ29yaWVzOiAnU2VhcmNoIENhdGVnb3JpZXMnLFxyXG4gICAgcmVzcG9uc2liaWxpdGllczogJ1NlYXJjaCBSZXNwb25zaWJpbGl0aWVzJ1xyXG4gIH1cclxuICBjb250cm9sc0xpc3Q6IGFueVtdID0gW11cclxuICBkaXNwbGF5Q29uZmlybWF0aW9uTWVzc2FnZSA9IGZhbHNlO1xyXG5cclxuICBhY3RpdmVUYWI6ICdyZWd1bGF0aW9ucycgfCAnc3RhbmRhcmRzJyB8ICdpbnRlcm5hbENvbnRyb2xzJyB8ICdvdGhlcnMnID0gJ3JlZ3VsYXRpb25zJ1xyXG5cclxuICBjdXJyZW50TGlzdDogJ2ZyYW1ld29yaycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycgPSAnZnJhbWV3b3JrJztcclxuICBmbG9hdGluZ0JhckRpc3BsYXlLZXlzID0ge1xyXG4gICAgZnJhbWV3b3JrOiAnbmFtZScsXHJcbiAgICBjYXRlZ29yaWVzOiAnbmFtZScsXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiAnbmFtZScsXHJcbiAgfVxyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IHtcclxuICAgICAgICBmcmFtZXdvcms6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5mcmFtZXdvcmsgPz8ge30sXHJcbiAgICAgICAgY2F0ZWdvcmllczogdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPz8ge30sXHJcbiAgICAgICAgcmVzcG9uc2liaWxpdGllczogdGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPz8ge30sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEZyYW1ld29ya3NDb3VudCgpO1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIGV4cGFuZENhdGVnb3J5KGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmIChjYXRlZ29yeS5jYXRlZ29yeV9uYW1lKSB7XHJcbiAgICAgIHRoaXMuYnJlYWRDcnVtYiA9IFtdO1xyXG4gICAgICBjYXRlZ29yeS5jYXRlZ29yeV9uYW1lLmZvckVhY2goKGNhdGVnb3J5SXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IG9iajtcclxuICAgICAgICBpZiAoaW5kZXggPT0gY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZS5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICBvYmogPSB7XHJcbiAgICAgICAgICAgIGl0ZW1OYW1lOiBjYXRlZ29yeUl0ZW0sXHJcbiAgICAgICAgICAgIGl0ZW1JZDogY2F0ZWdvcnkuX2lkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9iaiA9IHtcclxuICAgICAgICAgICAgaXRlbU5hbWU6IGNhdGVnb3J5SXRlbSxcclxuICAgICAgICAgICAgaXRlbUlkOiBjYXRlZ29yeS5wYXJlbnRfY2F0X29ial9pZHNbaW5kZXhdXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYnJlYWRDcnVtYi5wdXNoKG9iaik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLy8gZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpZD86IGFueSkge1xyXG5cclxuICAvLyAgIGlmICghaWQgfHwgaWQgPT0gbnVsbCkge1xyXG4gIC8vICAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAvLyAgICAgdGhpcy5zaG93UGFyZW50ID0gdHJ1ZTtcclxuICAvLyAgICAgdGhpcy5zaG93Q2hpbGQgPSBmYWxzZTtcclxuICAvLyAgICAgY29uc29sZS5sb2coKVxyXG4gIC8vICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IE9iamVjdC5hc3NpZ24odGhpcy5wYXJlbnREYXRhKVxyXG4gIC8vICAgICB0aGlzLnNob3dQYXJlbnQgPSBmYWxzZTtcclxuICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5zaG93UGFyZW50ID0gdHJ1ZTtcclxuICAvLyAgICAgfSwgMTAwKTtcclxuICAvLyAgICAgcmV0dXJuXHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLnRhYmxlQ29tcG9uZW50LmdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQpO1xyXG4gIC8vIH1cclxuICBlbnRydXN0RnJhbWV3b3JrRGV0YWlscyhyZXBvcnQ6IGFueSkge1xyXG4gICAgdGhpcy5lbnRydXN0RnJhbWV3b3JrLmVtaXQocmVwb3J0KTtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlRnJhbWV3b3JrLmVtaXQoKTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXRGcmFtZXdvcmtzQ291bnQoKSB7XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZVdvcmtDb3VudCgpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtDb3VudCA9IHtcclxuICAgICAgICAgIHJlZ3VsYXRpb25zOiByZXMucmVndWxhdGlvbnMgPz8gMCxcclxuICAgICAgICAgIHN0YW5kYXJkczogcmVzLnN0YW5kYXJkcyA/PyAwLFxyXG4gICAgICAgICAgaW50ZXJuYWxDb250cm9sczogcmVzLmludGVybmFsQ29udHJvbHMgPz8gMCxcclxuICAgICAgICAgIG90aGVyczogcmVzLm90aGVycyA/PyAwXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RnJhbWV3b3Jrc0xpc3QoZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCd0eXBlJywgdGhpcy5mcmFtZVR5cGVPYmplY3RbdGhpcy5hY3RpdmVUYWJdKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yaykge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2gnLCB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCB0aGlzLmZyYW1ld29ya0RhdGEuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWVXb3JrTGlzdChwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEuZGF0YSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS5mcm9tID0gcmVzLml0ZW1zX2Zyb207XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLnRvID0gcmVzLml0ZW1zX3RvO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50b3RhbFBhZ2VzID0gcmVzLnRvdGFsX3BhZ2VzO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFN1YkNhdGVnb3JpZXMoaWQ/OiBhbnksIGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGRhdGE/LnNlYXJjaCB8fCB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkpIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEZyYW1ld29ya1N1YkNhdGVnb3JpZXMoaWQsIHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gW107XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hhbmdlVGFiKHR5cGU6ICdyZWd1bGF0aW9ucycgfCAnc3RhbmRhcmRzJyB8ICdpbnRlcm5hbENvbnRyb2xzJyB8ICdvdGhlcnMnKSB7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYiA9IHR5cGU7XHJcbiAgICB0aGlzLmZyYW1ld29ya0RhdGEuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayA9ICcnO1xyXG4gICAgdGhpcy5zZWFyY2hmaWVsZC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmdldEZyYW1ld29ya3NMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXNwb25zaWJpbGl0aWVzKGlkPzogYW55LCBkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZXdvcmtDb250cm9scyhpZCwgcGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sc0xpc3QgPSByZXM7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5mcm9tID0gcmVzLml0ZW1zX2Zyb20gPz8gMTtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LnRvID0gcmVzLml0ZW1zX3RvID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFBhZ2VzID0gcmVzLnRvdGFsX3BhZ2VzID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFJlY29yZHMgPSByZXMudG90YWxfaXRlbXMgPz8gMDtcclxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNMaXN0LmRhdGEgPSByZXMuZGF0YSA/PyByZXM7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IGFueSwgdHlwZTogJ2ZyYW1ld29ya3MnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3Jrcyc6XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCwgeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkLCB7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgc2VhcmNoQnkoZXZlbnQ6IGFueSwgdHlwZTogJ2ZyYW1ld29yaycgfCAnY2F0ZWdvcmllcycgfCAncmVzcG9uc2liaWxpdGllcycpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrID0gZXZlbnQ7XHJcbiAgICAgICAgICB0aGlzLmdldEZyYW1ld29ya3NMaXN0KHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQsIHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkLCB7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGcmFtZXdvcmsoZGF0YTogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBkYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2NhdGVnb3JpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5hc3NpZ25TZWxlY3RlZENvbnRyb2wodGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnb0JhY2soKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLmNsb3NlRnJhbWV3b3JrLmVtaXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdmcmFtZXdvcmsnXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcydcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50TGlzdCkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBzYXZlQ2hhbmdlcyh0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnIHwgJ3Byb2dyYW1zT25seScpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3JpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgLy8gdGhpcy5zdWJtaXRwcm9ncmFtSW50ZWdyYXRpb24oKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzc2lnblNlbGVjdGVkQ29udHJvbChkYXRhOiBhbnkpIHtcclxuICAgIGxldCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xyXG4gICAgdGhpcy5hc3NpZ25Db250cm9sLmVtaXQoeyBkYXRhLCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmFtZXdvcmstbGlzdC9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFTdkYsTUFBTSxPQUFPLHNCQUFzQjtJQW1HakMsWUFBb0IscUJBQTRDO1FBQTVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFsR2hFLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBRWIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLHNCQUFpQixHQUFHO1lBQ2xCLElBQUksRUFBRSxDQUFDO1lBQ1AsRUFBRSxFQUFFLENBQUM7WUFDTCxXQUFXLEVBQUUsQ0FBQztZQUNkLFVBQVUsRUFBRSxDQUFDO1lBQ2IsWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLEVBQUUsRUFBRTtTQUNULENB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b21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRJZHMsIFNlbGVjdGVkVmFsdWVzIH0gZnJvbSAnLi9mcmFtZXdvcmstaW50ZWdyYXRpb24taW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFBhcmVudFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJlbnQtdGFibGUvcGFyZW50LXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmFtZXdvcmstbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyYW1ld29yay1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmFtZXdvcmstbGlzdC5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmFtZXdvcmtMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIGJyZWFkQ3J1bWI6IGFueVtdID0gW107XHJcbiAgc2VhcmNoID0gJyc7XHJcbiAgc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgc2hvd0NoaWxkID0gZmFsc2U7XHJcbiAgcGFyZW50RGF0YTogb2JqZWN0ID0ge31cclxuICBAVmlld0NoaWxkKCdwYXJlbnRUYWJsZScpIHRhYmxlQ29tcG9uZW50ITogUGFyZW50VGFibGVDb21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIGVudHJ1c3RGcmFtZXdvcmsgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRnJhbWV3b3JrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhc3NpZ25Db250cm9sID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIHByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMhOiBhbnk7XHJcbiAgc3ViQ2F0ZWdvcmllc0xpc3QgPSB7XHJcbiAgICBmcm9tOiAxLFxyXG4gICAgdG86IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBkYXRhOiBbXSxcclxuICB9O1xyXG4gIHJlc3BvbnNpYmlsaXRpZXNMaXN0ID0ge1xyXG4gICAgZnJvbTogMSxcclxuICAgIHRvOiAwLFxyXG4gICAgY3VycmVudFBhZ2U6IDEsXHJcbiAgICB0b3RhbFBhZ2VzOiAwLFxyXG4gICAgdG90YWxSZWNvcmRzOiAwLFxyXG4gICAgZGF0YTogW10sXHJcbiAgfTtcclxuXHJcbiAgc2VhcmNoVGV4dCA9IHtcclxuICAgIGZyYW1lV29yazogJycsXHJcbiAgICBjYXRlZ29yeTogJycsXHJcbiAgICByZXNwb25zaWJpbGl0eTogJycsXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZFZhbHVlczogU2VsZWN0ZWRWYWx1ZXMgPSB7XHJcbiAgICBmcmFtZXdvcms6IHt9LFxyXG4gICAgY2F0ZWdvcmllczoge30sXHJcbiAgICByZXNwb25zaWJpbGl0aWVzOiB7fVxyXG4gIH1cclxuXHJcblxyXG4gIHN1Ym1pc3Npb25Mb2FkZXIgPSBmYWxzZTtcclxuICBjdXJyZW50Q2F0ZWdvcnk6IGFueSA9IHt9O1xyXG5cclxuICBASW5wdXQoKSBwb2xpY3k6IGFueSA9IHt9XHJcbiAgLy8gQE91dHB1dCgpIGNoYW5nZVRhYiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGUhOiBhbnk7XHJcbiAgbG9hZGVyID0gZmFsc2U7XHJcbiAgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvL3Byb2dyYW1cclxuICBzdWJMaXN0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZnJhbWVXb3JrTGlzdDogYW55O1xyXG4gIC8vIEBJbnB1dCgpIGFsbFByb2dyYW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRnJhbWVXb3JrITogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcmllczogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hGaWVsZCcpIHNlYXJjaGZpZWxkITogYW55O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaENhdGVnb3J5Jykgc2VhcmNoQ2F0ZWdvcnkhOiBhbnk7XHJcblxyXG4gIGZyYW1ld29ya0RhdGEgPSB7XHJcbiAgICBkYXRhOiBbXSxcclxuICAgIGZyb206IDAsXHJcbiAgICB0bzogMCxcclxuICAgIHRvdGFsUGFnZXM6IDAsXHJcbiAgICB0b3RhbFJlY29yZHM6IDAsXHJcbiAgICBjdXJyZW50UGFnZTogMSxcclxuXHJcbiAgfVxyXG4gIGZyYW1ld29ya0NvdW50ID0ge1xyXG4gICAgcmVndWxhdGlvbnM6IDAsXHJcbiAgICBzdGFuZGFyZHM6IDAsXHJcbiAgICBpbnRlcm5hbENvbnRyb2xzOiAwLFxyXG4gICAgb3RoZXJzOiAwXHJcbiAgfVxyXG4gIGZyYW1lVHlwZU9iamVjdCA9IHtcclxuICAgIHJlZ3VsYXRpb25zOiAxLFxyXG4gICAgc3RhbmRhcmRzOiAyLFxyXG4gICAgaW50ZXJuYWxDb250cm9sczogMyxcclxuICAgIG90aGVyczogMCxcclxuICB9XHJcbiAgcGxhY2Vob2xkZXJUZXh0ID0ge1xyXG4gICAgZnJhbWV3b3JrOiAnU2VhcmNoIEZyYW1ld29ya3MnLFxyXG4gICAgY2F0ZWdvcmllczogJ1NlYXJjaCBDYXRlZ29yaWVzJyxcclxuICAgIHJlc3BvbnNpYmlsaXRpZXM6ICdTZWFyY2ggUmVzcG9uc2liaWxpdGllcydcclxuICB9XHJcbiAgY29udHJvbHNMaXN0OiBhbnlbXSA9IFtdXHJcbiAgZGlzcGxheUNvbmZpcm1hdGlvbk1lc3NhZ2UgPSBmYWxzZTtcclxuXHJcbiAgYWN0aXZlVGFiOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxDb250cm9scycgfCAnb3RoZXJzJyA9ICdyZWd1bGF0aW9ucydcclxuXHJcbiAgY3VycmVudExpc3Q6ICdmcmFtZXdvcmsnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnID0gJ2ZyYW1ld29yayc7XHJcbiAgZmxvYXRpbmdCYXJEaXNwbGF5S2V5cyA9IHtcclxuICAgIGZyYW1ld29yazogJ25hbWUnLFxyXG4gICAgY2F0ZWdvcmllczogJ25hbWUnLFxyXG4gICAgcmVzcG9uc2liaWxpdGllczogJ25hbWUnLFxyXG4gIH1cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzcG9uc2liaWxpdHlTZXJ2aWNlOiBSZXNwb25zaWJpbGl0eVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wcmV2aW91c1NlbGVjdGVkVmFsdWVzKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB7XHJcbiAgICAgICAgZnJhbWV3b3JrOiB0aGlzLnByZXZpb3VzU2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrID8/IHt9LFxyXG4gICAgICAgIGNhdGVnb3JpZXM6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID8/IHt9LFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXRpZXM6IHRoaXMucHJldmlvdXNTZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID8/IHt9LFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzQ291bnQoKTtcclxuICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoKTtcclxuICB9XHJcblxyXG5cclxuICBleHBhbmRDYXRlZ29yeShjYXRlZ29yeTogYW55KSB7XHJcbiAgICBpZiAoY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSkge1xyXG4gICAgICB0aGlzLmJyZWFkQ3J1bWIgPSBbXTtcclxuICAgICAgY2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZS5mb3JFYWNoKChjYXRlZ29yeUl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGxldCBvYmo7XHJcbiAgICAgICAgaWYgKGluZGV4ID09IGNhdGVnb3J5LmNhdGVnb3J5X25hbWUubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgICBpdGVtTmFtZTogY2F0ZWdvcnlJdGVtLFxyXG4gICAgICAgICAgICBpdGVtSWQ6IGNhdGVnb3J5Ll9pZFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvYmogPSB7XHJcbiAgICAgICAgICAgIGl0ZW1OYW1lOiBjYXRlZ29yeUl0ZW0sXHJcbiAgICAgICAgICAgIGl0ZW1JZDogY2F0ZWdvcnkucGFyZW50X2NhdF9vYmpfaWRzW2luZGV4XVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmJyZWFkQ3J1bWIucHVzaChvYmopO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC8vIGdldENhdGVnb3J5RGV0YWlsc0J5SWQoaWQ/OiBhbnkpIHtcclxuXHJcbiAgLy8gICBpZiAoIWlkIHx8IGlkID09IG51bGwpIHtcclxuICAvLyAgICAgdGhpcy5icmVhZENydW1iID0gW107XHJcbiAgLy8gICAgIHRoaXMuc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgLy8gICAgIHRoaXMuc2hvd0NoaWxkID0gZmFsc2U7XHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKClcclxuICAvLyAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSBPYmplY3QuYXNzaWduKHRoaXMucGFyZW50RGF0YSlcclxuICAvLyAgICAgdGhpcy5zaG93UGFyZW50ID0gZmFsc2U7XHJcbiAgLy8gICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuc2hvd1BhcmVudCA9IHRydWU7XHJcbiAgLy8gICAgIH0sIDEwMCk7XHJcbiAgLy8gICAgIHJldHVyblxyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy50YWJsZUNvbXBvbmVudC5nZXRDYXRlZ29yeURldGFpbHNCeUlkKGlkKTtcclxuICAvLyB9XHJcbiAgZW50cnVzdEZyYW1ld29ya0RldGFpbHMocmVwb3J0OiBhbnkpIHtcclxuICAgIHRoaXMuZW50cnVzdEZyYW1ld29yay5lbWl0KHJlcG9ydCk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZUZyYW1ld29yay5lbWl0KCk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0RnJhbWV3b3Jrc0NvdW50KGRhdGE/OiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgaWYgKGRhdGE/LnNlYXJjaCB8fCB0aGlzLnNlYXJjaFRleHQuZnJhbWVXb3JrKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWVXb3JrQ291bnQocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcblxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ291bnQgPSB7XHJcbiAgICAgICAgICByZWd1bGF0aW9uczogcmVzLnJlZ3VsYXRpb25zID8/IDAsXHJcbiAgICAgICAgICBzdGFuZGFyZHM6IHJlcy5zdGFuZGFyZHMgPz8gMCxcclxuICAgICAgICAgIGludGVybmFsQ29udHJvbHM6IHJlcy5pbnRlcm5hbENvbnRyb2xzID8/IDAsXHJcbiAgICAgICAgICBvdGhlcnM6IHJlcy5vdGhlcnMgPz8gMFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEZyYW1ld29ya3NMaXN0KGRhdGE/OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgndHlwZScsIHRoaXMuZnJhbWVUeXBlT2JqZWN0W3RoaXMuYWN0aXZlVGFiXSk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmspIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc2VhcmNoJywgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldEZyYW1lV29ya0xpc3QocGFyYW1zKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5mcmFtZXdvcmtEYXRhLmRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEuZnJvbSA9IHJlcy5pdGVtc19mcm9tO1xyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS50byA9IHJlcy5pdGVtc190bztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcztcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWJDYXRlZ29yaWVzKGlkPzogYW55LCBkYXRhPzogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChkYXRhPy5zZWFyY2ggfHwgdGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoVGV4dC5jYXRlZ29yeSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5U2VydmljZS5nZXRGcmFtZXdvcmtTdWJDYXRlZ29yaWVzKGlkLCBwYXJhbXMpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LmZyb20gPSByZXMuaXRlbXNfZnJvbSA/PyAxO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QudG8gPSByZXMuaXRlbXNfdG8gPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXMgPSByZXMudG90YWxfcGFnZXMgPz8gMDtcclxuICAgICAgICB0aGlzLnN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3JkcyA9IHJlcy50b3RhbF9pdGVtcyA/PyAwO1xyXG4gICAgICAgIHRoaXMuc3ViQ2F0ZWdvcmllc0xpc3QuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNoYW5nZVRhYih0eXBlOiAncmVndWxhdGlvbnMnIHwgJ3N0YW5kYXJkcycgfCAnaW50ZXJuYWxDb250cm9scycgfCAnb3RoZXJzJykge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0eXBlO1xyXG4gICAgdGhpcy5mcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dC5mcmFtZVdvcmsgPSAnJztcclxuICAgIHRoaXMuc2VhcmNoZmllbGQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVzcG9uc2liaWxpdGllcyhpZD86IGFueSwgZGF0YT86IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBpZiAoZGF0YT8uc2VhcmNoIHx8IHRoaXMuc2VhcmNoVGV4dC5yZXNwb25zaWJpbGl0eSkge1xyXG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzZWFyY2gnLCB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0RnJhbWV3b3JrQ29udHJvbHMoaWQsIHBhcmFtcykucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbHNMaXN0ID0gcmVzO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuZnJvbSA9IHJlcy5pdGVtc19mcm9tID8/IDE7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC50byA9IHJlcy5pdGVtc190byA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxQYWdlcyA9IHJlcy50b3RhbF9wYWdlcyA/PyAwO1xyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QudG90YWxSZWNvcmRzID0gcmVzLnRvdGFsX2l0ZW1zID8/IDA7XHJcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzTGlzdC5kYXRhID0gcmVzLmRhdGEgPz8gcmVzO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmtzJyB8ICdjYXRlZ29yaWVzJyB8ICdyZXNwb25zaWJpbGl0aWVzJykge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgJ2ZyYW1ld29ya3MnOlxyXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrRGF0YS5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0RnJhbWV3b3Jrc0xpc3QoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5zdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQsIHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzLl9pZCwgeyBzZWFyY2g6IHRydWUgfSlcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNlYXJjaEJ5KGV2ZW50OiBhbnksIHR5cGU6ICdmcmFtZXdvcmsnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnKSB7XHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayAhPSBldmVudCkge1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hUZXh0LmZyYW1lV29yayA9IGV2ZW50O1xyXG4gICAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzTGlzdCh7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgICAgdGhpcy5nZXRGcmFtZXdvcmtzQ291bnQoeyBzZWFyY2g6IHRydWUgfSlcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LmNhdGVnb3J5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQuY2F0ZWdvcnkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0U3ViQ2F0ZWdvcmllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yay5faWQsIHsgc2VhcmNoOiB0cnVlIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0LnJlc3BvbnNpYmlsaXR5ICE9IGV2ZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaFRleHQucmVzcG9uc2liaWxpdHkgPSBldmVudDtcclxuICAgICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkLCB7IHNlYXJjaDogdHJ1ZSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGcmFtZXdvcmsoZGF0YTogYW55KSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmZyYW1ld29yayA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBkYXRhO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0gZGF0YTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5wYXJlbnRfbGlzdF9kZXRhaWxzPy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LmNoaWxkX2xpc3RfZGV0YWlscy5sZW5ndGggPT0gMCAmJiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5mcmFtZXdvcms/LnRvdGFsQ29udHJvbHMgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ2NhdGVnb3JpZXMnO1xyXG4gICAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yaWVzKHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrLl9pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdjYXRlZ29yaWVzJzpcclxuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0ID0gJ3Jlc3BvbnNpYmlsaXRpZXMnO1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMuX2lkKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgdGhpcy5hc3NpZ25TZWxlY3RlZENvbnRyb2wodGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnb0JhY2soKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudExpc3QpIHtcclxuICAgICAgY2FzZSAnZnJhbWV3b3JrJzpcclxuICAgICAgICB0aGlzLmNsb3NlRnJhbWV3b3JrLmVtaXQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdmcmFtZXdvcmsnXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3Jlc3BvbnNpYmlsaXRpZXMnOlxyXG4gICAgICAgIHRoaXMuY3VycmVudExpc3QgPSAnY2F0ZWdvcmllcydcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZSgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50TGlzdCkge1xyXG4gICAgICBjYXNlICdmcmFtZXdvcmsnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuZnJhbWV3b3JrID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jYXRlZ29yaWVzID0ge307XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5yZXNwb25zaWJpbGl0aWVzID0ge307XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2NhdGVnb3JpZXMnOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2F0ZWdvcmllcyA9IHt9O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMucmVzcG9uc2liaWxpdGllcyA9IHt9O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyZXNwb25zaWJpbGl0aWVzJzpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSB7fTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBzYXZlQ2hhbmdlcyh0eXBlOiAncHJvZ3JhbXMnIHwgJ2NhdGVnb3JpZXMnIHwgJ3Jlc3BvbnNpYmlsaXRpZXMnIHwgJ3Byb2dyYW1zT25seScpIHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdwcm9ncmFtcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdjYXRlZ29yaWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmNhdGVnb3JpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3JpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnY2F0ZWdvcmllcyc6XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdCA9ICdyZXNwb25zaWJpbGl0aWVzJztcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLnJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcclxuICAgICAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmVzcG9uc2liaWxpdGllcyc6XHJcbiAgICAgICAgLy8gdGhpcy5zdWJtaXRwcm9ncmFtSW50ZWdyYXRpb24oKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzc2lnblNlbGVjdGVkQ29udHJvbChkYXRhOiBhbnkpIHtcclxuICAgIGxldCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xyXG4gICAgdGhpcy5hc3NpZ25Db250cm9sLmVtaXQoeyBkYXRhLCBzZWxlY3RlZEZyYW1ld29ya0RhdGEgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -86,8 +86,8 @@ export function View_FrameworkListComponent_0(_l) { return i1.ɵvid(0, [i1.ɵqud
86
86
  } if (("deleteEvent" === en)) {
87
87
  var pd_2 = (_co.remove() !== false);
88
88
  ad = (pd_2 && ad);
89
- } return ad; }, i13.View_FloatingBarComponent_0, i13.RenderType_FloatingBarComponent)), i1.ɵdid(38, 638976, null, 0, i14.FloatingBarComponent, [], { selectedData: [0, "selectedData"], displayElementKey: [1, "displayElementKey"], isDisabled: [2, "isDisabled"] }, { closeEvent: "closeEvent", deleteEvent: "deleteEvent", closeList: "closeList" }), i1.ɵpad(39, 1), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListComponent_14)), i1.ɵdid(41, 16384, null, 0, i12.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.currentList == "framework"); _ck(_v, 6, 0, currVal_0); var currVal_1 = (_co.currentList == "categories"); _ck(_v, 8, 0, currVal_1); var currVal_2 = (_co.currentList == "responsibilities"); _ck(_v, 10, 0, currVal_2); var currVal_3 = (_co.currentList == "framework"); _ck(_v, 13, 0, currVal_3); var currVal_5 = ((_co.currentList == "framework") && (_co.frameworkData.totalPages > 1)); _ck(_v, 19, 0, currVal_5); var currVal_6 = ((_co.currentList == "categories") && (_co.subCategoriesList.totalPages > 1)); _ck(_v, 21, 0, currVal_6); var currVal_7 = ((_co.currentList == "responsibilities") && (_co.responsibilitiesList.totalPages > 1)); _ck(_v, 23, 0, currVal_7); var currVal_9 = (_co.currentList == "framework"); _ck(_v, 26, 0, currVal_9); var currVal_10 = (_co.currentList == "categories"); _ck(_v, 28, 0, currVal_10); var currVal_11 = (_co.currentList == "responsibilities"); _ck(_v, 30, 0, currVal_11); var currVal_12 = (((((_co.frameworkData == null) ? null : ((_co.frameworkData.data == null) ? null : _co.frameworkData.data.length)) == 0) && (_co.currentList == "framework")) && !_co.loader); _ck(_v, 32, 0, currVal_12); var currVal_13 = (((((_co.subCategoriesList == null) ? null : ((_co.subCategoriesList.data == null) ? null : _co.subCategoriesList.data.length)) == 0) && (_co.currentList == "categories")) && !_co.loader); _ck(_v, 34, 0, currVal_13); var currVal_14 = (((((_co.responsibilitiesList == null) ? null : ((_co.responsibilitiesList.data == null) ? null : _co.responsibilitiesList.data.length)) == 0) && (_co.currentList == "responsibilities")) && !_co.loader); _ck(_v, 36, 0, currVal_14); var currVal_15 = (((_co.selectedValues[_co.currentList] == null) ? null : _co.selectedValues[_co.currentList].name) ? _ck(_v, 39, 0, _co.selectedValues[_co.currentList]) : i1.ɵEMPTY_ARRAY); var currVal_16 = _co.floatingBarDisplayKeys[_co.currentList]; var currVal_17 = !((_co.selectedValues[_co.currentList] == null) ? null : _co.selectedValues[_co.currentList].name); _ck(_v, 38, 0, currVal_15, currVal_16, currVal_17); var currVal_18 = _co.loader; _ck(_v, 41, 0, currVal_18); }, function (_ck, _v) { var _co = _v.component; var currVal_4 = _co.placeholderText[_co.currentList]; _ck(_v, 17, 0, currVal_4); var currVal_8 = (_co.breadCrumb.length > 0); _ck(_v, 24, 0, currVal_8); }); }
89
+ } return ad; }, i13.View_FloatingBarComponent_0, i13.RenderType_FloatingBarComponent)), i1.ɵdid(38, 638976, null, 0, i14.FloatingBarComponent, [], { selectedData: [0, "selectedData"], displayElementKey: [1, "displayElementKey"], isDisabled: [2, "isDisabled"] }, { closeEvent: "closeEvent", deleteEvent: "deleteEvent", closeList: "closeList" }), i1.ɵpad(39, 1), (_l()(), i1.ɵand(16777216, null, null, 1, null, View_FrameworkListComponent_14)), i1.ɵdid(41, 16384, null, 0, i12.NgIf, [i1.ViewContainerRef, i1.TemplateRef], { ngIf: [0, "ngIf"] }, null)], function (_ck, _v) { var _co = _v.component; var currVal_0 = (_co.currentList == "framework"); _ck(_v, 6, 0, currVal_0); var currVal_1 = (_co.currentList == "categories"); _ck(_v, 8, 0, currVal_1); var currVal_2 = (_co.currentList == "responsibilities"); _ck(_v, 10, 0, currVal_2); var currVal_3 = (_co.currentList == "framework"); _ck(_v, 13, 0, currVal_3); var currVal_5 = ((_co.currentList == "framework") && (_co.frameworkData.totalPages > 1)); _ck(_v, 19, 0, currVal_5); var currVal_6 = ((_co.currentList == "categories") && (_co.subCategoriesList.totalPages > 1)); _ck(_v, 21, 0, currVal_6); var currVal_7 = ((_co.currentList == "responsibilities") && (_co.responsibilitiesList.totalPages > 1)); _ck(_v, 23, 0, currVal_7); var currVal_9 = (_co.currentList == "framework"); _ck(_v, 26, 0, currVal_9); var currVal_10 = (_co.currentList == "categories"); _ck(_v, 28, 0, currVal_10); var currVal_11 = (_co.currentList == "responsibilities"); _ck(_v, 30, 0, currVal_11); var currVal_12 = (((((_co.frameworkData == null) ? null : ((_co.frameworkData.data == null) ? null : _co.frameworkData.data.length)) == 0) && (_co.currentList == "framework")) && !_co.loader); _ck(_v, 32, 0, currVal_12); var currVal_13 = (((((_co.subCategoriesList == null) ? null : ((_co.subCategoriesList.data == null) ? null : _co.subCategoriesList.data.length)) == 0) && (_co.currentList == "categories")) && !_co.loader); _ck(_v, 34, 0, currVal_13); var currVal_14 = (((((_co.responsibilitiesList == null) ? null : ((_co.responsibilitiesList.data == null) ? null : _co.responsibilitiesList.data.length)) == 0) && (_co.currentList == "responsibilities")) && !_co.loader); _ck(_v, 36, 0, currVal_14); var currVal_15 = (((_co.selectedValues[_co.currentList] == null) ? null : _co.selectedValues[_co.currentList].name) ? _ck(_v, 39, 0, _co.selectedValues[_co.currentList]) : i1.ɵEMPTY_ARRAY); var currVal_16 = _co.floatingBarDisplayKeys[_co.currentList]; var currVal_17 = !((_co.selectedValues[_co.currentList] == null) ? null : _co.selectedValues[_co.currentList].name); _ck(_v, 38, 0, currVal_15, currVal_16, currVal_17); var currVal_18 = _co.loader; _ck(_v, 41, 0, currVal_18); }, function (_ck, _v) { var _co = _v.component; var currVal_4 = _co.placeholderText[_co.currentList]; _ck(_v, 17, 0, currVal_4); var currVal_8 = ((_co.currentList == "categories") || (_co.currentList == "responsibilities")); _ck(_v, 24, 0, currVal_8); }); }
90
90
  export function View_FrameworkListComponent_Host_0(_l) { return i1.ɵvid(0, [(_l()(), i1.ɵeld(0, 0, null, null, 1, "app-framework-list", [], null, null, null, View_FrameworkListComponent_0, RenderType_FrameworkListComponent)), i1.ɵdid(1, 638976, null, 0, i15.FrameworkListComponent, [i16.ResponsibilityService], null, null)], function (_ck, _v) { _ck(_v, 1, 0); }, null); }
91
91
  var FrameworkListComponentNgFactory = i1.ɵccf("app-framework-list", i15.FrameworkListComponent, View_FrameworkListComponent_Host_0, { previousSelectedValues: "previousSelectedValues", policy: "policy", frameWorkList: "frameWorkList", selectedFrameWork: "selectedFrameWork", selectedCategories: "selectedCategories" }, { entrustFramework: "entrustFramework", closeFramework: "closeFramework", assignControl: "assignControl" }, []);
92
92
  export { FrameworkListComponentNgFactory as FrameworkListComponentNgFactory };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUVDR1EsNEdBQStGLEtBQTdCLHFEQUF3QjtpRUFDMUYsNEdBQzRDLEtBRHVCLHdSQUM1QjtpRUFFdkMsNEdBQzhGLEtBQTFGLGdKQUFpRCxZQUEvQjs7d0JBQWtCO01BQXBDLHdCQUFpRCxLQUFaLG1DQUFRLE1BQUksOFBBQW9DO2lFQW9CekYseUdBNEJNLEtBMUJGLHlLQU1NLFlBTitEOzt3QkFBa0M7TUFBdkcsd0JBTU0sS0FMRiw2RkFFTSxLQURGLDhFQUEwQixLQUFuQix3Q0FBVyxNQUd0QixpR0FBMkQsS0FBckMsZ0NBQThCLE1BRXhELHlLQUtNLFlBTDZEOzt3QkFBZ0M7TUFBbkcsd0JBS00sS0FKRiw2RkFFTSxLQURGLDhFQUF3QixLQUFqQixzQ0FBUyxNQUVwQixrR0FBeUQsS0FBbkMsaUNBQTRCLE1BRXRELDBLQU1NLFlBTEY7O3dCQUF1QztNQUQzQyx3QkFNTSxLQUpGLDhGQUVNLEtBREYsK0VBQWdDLEtBQXpCLDhDQUFpQixNQUU1QixrR0FBZ0UsS0FBMUMsaUNBQW1DLE1BRTdELDBLQUtNLFlBTDBEOzt3QkFBNkI7TUFBN0Ysd0JBS00sS0FKRiw4RkFFTSxLQURGLCtFQUFxQixLQUFkLG1DQUFNLE1BRWpC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QkFBd0I7TUFGNUIsa1ZBRWdELEtBRjlCLGFBQXFGLElBR3ZHLHlMQUFzRCxpREFySDlDLCtDQUFnQyxHQUFwQyxZQUErRixFQUEzRixTQUFnQyxHQUNoQyxnREFBaUMsR0FBckMsWUFDNEMsRUFEeEMsU0FBaUMsR0FHakMsc0RBQXVDLEdBQTNDLGFBQzhGLEVBRDFGLFNBQXVDLEdBcUJkLCtDQUFnQyxHQUE3RCxhQTRCTSxFQTVCdUIsU0FBZ0MsR0FtQzdDLHNGQUFnRSxJQUFoRixhQUVnSCxFQUZoRyxTQUFnRSxHQUdoRSwyRkFBcUUsSUFBckYsYUFHc0UsRUFIdEQsU0FBcUUsR0FJckUsb0dBQThFLElBQTlGLGFBSWlCLEVBSkQsU0FBOEUsR0FjaEUsK0NBQWdDLEdBQTFELGFBRzJCLEVBSEQsU0FBZ0MsR0FJaEMsaURBQWlDLEdBQTNELGFBRzJCLEVBSEQsVUFBaUMsR0FJdkIsdURBQXVDLEdBQTNFLGFBR3FDLEVBSEQsVUFBdUMsR0FJOUQsdUxBQTZFLFVBQTFGLGFBRXNELEVBRnpDLFVBQTZFLEdBRzdFLG9NQUFrRixVQUEvRixhQUVzRCxFQUZ6QyxVQUFrRixHQUdsRixtTkFBMkYsVUFBeEcsYUFFc0QsRUFGekMsVUFBMkYsR0FlOUYsMkxBQXFGLEdBQ25HLCtDQUF5RCxlQUFDLGdHQUFpRCxxQkFEL0csYUFFZ0QsRUFGOUIsVUFBcUYsRUFDbkcsVUFBeUQsRUFBQyxVQUFpRCxHQUU1RixvQkFBYyxTQUFqQyxhQUFzRCxFQUFuQyxVQUFjLG1EQTdETyx1Q0FBNEMsZUFBNUUsYUFDZ0UsRUFEaEMsU0FBNEMsR0FvQjlDLDBDQUFxQyxHQUF2RSxhQStCTSxFQS9CNEIsU0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8IS0tIDxwPmZyYW1ld29yay1saXN0IHdvcmtzITwvcD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyYW1ld29yay1saXN0LWhlYWRcIj5cclxuICAgICAgICA8aDMgKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaydcIiBjbGFzcz1cImZyYW1ld29yay1saXN0LXRpdGxlXCI+IFNlbGVjdCBGcm9tIGEgRnJhbWV3b3JrPC9oMz5cclxuICAgICAgICA8aDMgKm5nSWY9XCJjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnXCIgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC10aXRsZVwiPiBTZWxlY3QgRnJvbSBhIEZyYW1ld29yayA+XHJcbiAgICAgICAgICAgIHt7c2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8ubmFtZX19PC9oMz5cclxuXHJcbiAgICAgICAgPGgzICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICAoY2xpY2spPVwiZ29CYWNrKClcIj4mI3hlOTFkOzwvaT4ge3tzZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5uYW1lfX08L2gzPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGgzICpuZ0lmPVwiYnJlYWRDcnVtYi5sZW5ndGg+MFwiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiYnJlYWRDcnVtYj8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJnZXRDYXRlZ29yeURldGFpbHNCeUlkKClcIj4mI3hlOTFkOzwvaT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93XCI+e3soaT4wKT8nPic6Jyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmxpbmtdPVwidGFibGVDb21wb25lbnQuY3VycmVudEVudGl0eSB8fCAoISh0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5KSAmJiBpICE9PSBicmVhZENydW1iPy5sZW5ndGggLTEpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpdGVtLml0ZW1JZClcIiBbYXBwVG9vbHRpcF09XCJpdGVtLml0ZW1OYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIj57e2l0ZW0uaXRlbU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5XCI+IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3ticmVhZENydW1iW2JyZWFkQ3J1bWI/Lmxlbmd0aCAtIDFdLml0ZW1OYW1lfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuPiZuYnNwO2ZvciB7e3RhYmxlQ29tcG9uZW50LmN1cnJlbnRFbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9oMz4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXJvd1wiICpuZ0lmPVwiY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnXCI+XHJcbiAgICAgICAgICAgIDwhLS10aGlzIHNlY3Rpb24gd2lsbCBub3QgYXBwZWFyIG9uIGNoaWxkIHBhcnQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdyZWd1bGF0aW9ucydcIiAoY2xpY2spPVwiY2hhbmdlVGFiKCdyZWd1bGF0aW9ucycpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5SZWd1bGF0aW9uczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LnJlZ3VsYXRpb25zfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnc3RhbmRhcmRzJ1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ3N0YW5kYXJkcycpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5TdGFuZGFyZHM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LnN0YW5kYXJkc319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ2ludGVybmFsQ29udHJvbHMnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VUYWIoJ2ludGVybmFsQ29udHJvbHMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+SW50ZXJuYWwgQ29udHJvbHM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LmludGVybmFsQ29udHJvbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdvdGhlcnMnXCIgKGNsaWNrKT1cImNoYW5nZVRhYignb3RoZXJzJylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk90aGVyczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7ZnJhbWV3b3JrQ291bnQub3RoZXJzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1zZWFyY2hcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAjc2VhcmNoRmllbGQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyVGV4dFtjdXJyZW50TGlzdF1cIlxyXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaEJ5KCRldmVudC50YXJnZXQudmFsdWUsY3VycmVudExpc3QpXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxhcHAtd29ya2Zsb3ctcGFnaW5hdGlvbj48L2FwcC13b3JrZmxvdy1wYWdpbmF0aW9uPiAtLT5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaycgJiYgZnJhbWV3b3JrRGF0YS50b3RhbFBhZ2VzID4gMVwiIFtzdGFydF09XCJmcmFtZXdvcmtEYXRhLmZyb21cIlxyXG4gICAgICAgICAgICBbZW5kXT1cImZyYW1ld29ya0RhdGEudG9cIiBbdG90YWxdPVwiZnJhbWV3b3JrRGF0YS50b3RhbFJlY29yZHNcIiBbcGFnZUNvdW50XT1cImZyYW1ld29ya0RhdGEudG90YWxQYWdlc1wiXHJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJmcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudCwnZnJhbWV3b3JrcycpXCI+PC9hcHAtcGFnaW5hdGlvbj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnICYmIHN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXMgPiAxXCJcclxuICAgICAgICAgICAgW3N0YXJ0XT1cInN1YkNhdGVnb3JpZXNMaXN0LmZyb21cIiBbZW5kXT1cInN1YkNhdGVnb3JpZXNMaXN0LnRvXCIgW3RvdGFsXT1cInN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgICAgIFtwYWdlQ291bnRdPVwic3ViQ2F0ZWdvcmllc0xpc3QudG90YWxQYWdlc1wiIFtjdXJyZW50UGFnZV09XCJzdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZVwiXHJcbiAgICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQsJ2NhdGVnb3JpZXMnKVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJyAmJiByZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFBhZ2VzID4gMVwiXHJcbiAgICAgICAgICAgIFtzdGFydF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC5mcm9tXCIgW2VuZF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC50b1wiXHJcbiAgICAgICAgICAgIFt0b3RhbF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFJlY29yZHNcIiBbcGFnZUNvdW50XT1cInJlc3BvbnNpYmlsaXRpZXNMaXN0LnRvdGFsUGFnZXNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2VcIiAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50LCdyZXNwb25zaWJpbGl0aWVzJylcIj5cclxuICAgICAgICA8L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwhLS0gRm9yIHBhcmVudCAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1wYWdpbmF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LXBhZ2luYXRpb24+PC9hcHAtd29ya2Zsb3ctcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC10YWJsZVwiIFtjbGFzcy5uby1jYXJkXT1cImJyZWFkQ3J1bWIubGVuZ3RoPjBcIj5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgIDxhcHAtZnJhbWV3b3JrLWxpc3QtdGFibGUgKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaydcIiBbbGlzdExvYWRlcl09XCJsb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgW2ZyYW1ld29ya1R5cGVdPVwiJ2ZyYW1ld29yaydcIiAoc2VsZWN0ZWRGcmFtZXdvcmspPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRGcmFtZXdvcmtdPVwic2VsZWN0ZWRWYWx1ZXNbY3VycmVudExpc3RdXCIgW2ZyYW1ld29ya3NMaXN0XT1cImZyYW1ld29ya0RhdGFcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJhbWV3b3JrLWxpc3QtdGFibGU+XHJcbiAgICAgICAgICAgIDxhcHAtZnJhbWV3b3JrLWxpc3QtdGFibGUgKm5nSWY9XCJjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnXCIgW2xpc3RMb2FkZXJdPVwibG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtmcmFtZXdvcmtzTGlzdF09XCJzdWJDYXRlZ29yaWVzTGlzdFwiIChzZWxlY3RlZEZyYW1ld29yayk9XCJzZWxlY3RGcmFtZXdvcmsoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbY3VycmVudEZyYW1ld29ya109XCJzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF1cIiBbZnJhbWV3b3JrVHlwZV09XCInc3ViRnJhbWV3b3JrJ1wiPlxyXG4gICAgICAgICAgICA8L2FwcC1mcmFtZXdvcmstbGlzdC10YWJsZT5cclxuICAgICAgICAgICAgPGFwcC1mcmFtZXdvcmstcmVzcG9uc2liaWxpdHktdGFibGUgKm5nSWY9XCJjdXJyZW50TGlzdD09J3Jlc3BvbnNpYmlsaXRpZXMnXCIgW2xpc3RMb2FkZXJdPVwibG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtjdXJyZW50U2VsZWN0ZWRDb250cm9sXT1cInNlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XVwiIFtjb250cm9sc0xpc3RdPVwicmVzcG9uc2liaWxpdGllc0xpc3QuZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRDb250cm9sKT1cInNlbGVjdEZyYW1ld29yaygkZXZlbnQpXCIgKGFzc2lnbkNvbnRyb2wpPVwiYXNzaWduU2VsZWN0ZWRDb250cm9sKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlPlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJmcmFtZXdvcmtEYXRhPy5kYXRhPy5sZW5ndGg9PTAgJiYgY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnICYmICFsb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cInN1YkNhdGVnb3JpZXNMaXN0Py5kYXRhPy5sZW5ndGg9PTAgJiYgY3VycmVudExpc3Q9PSdjYXRlZ29yaWVzJyAmJiAhbG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzTGlzdD8uZGF0YT8ubGVuZ3RoPT0wICYmIGN1cnJlbnRMaXN0PT0ncmVzcG9uc2liaWxpdGllcycgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgPCEtLSBvbGQgdGFibGUgbGlzdCAtLT5cclxuICAgICAgICAgICAgPCEtLSA8YXBwLXBhcmVudC10YWJsZSAjcGFyZW50VGFibGUgKm5nSWY9XCJzaG93UGFyZW50XCIgW3NlYXJjaF09XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgKGV4cGFuZENhdGVnb3J5KT1cImV4cGFuZENhdGVnb3J5KCRldmVudClcIiBbdGFibGVMaXN0XT1cImNhdGVnb3J5TGlzdFthY3RpdmVUYWJdLmxpc3RcIlxyXG4gICAgICAgICAgICAgICAgKGVudHJ1c3RGcmFtZXdvcmspPVwiZW50cnVzdEZyYW1ld29ya0RldGFpbHMoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2FwcC1wYXJlbnQtdGFibGU+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gW3Npbmd1bGFyVGV4dF09XCInVXNlciBzZWxlY3RlZCdcIiBbcGx1cmFsVGV4dF09XCInVXNlcnMgc2VsZWN0ZWQnXCIgKGNsb3NlRXZlbnQpPVwic2F2ZShzZWxlY3RlZElkcylcIlxyXG4gICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgW2lzRGlzYWJsZWRdPVwiKGdyb3Vwc0xpc3Q/Lmxlbmd0aCArIHVzZXJzTGlzdD8ubGVuZ3RoKSA9PT0gMCB8fCBzZWxlY3RlZFVzZXJzPy5sZW5ndGggPT09IDBcIiAtLT5cclxuICAgIDxhcHAtZmxvYXRpbmctYmFyIFtzZWxlY3RlZERhdGFdPVwiKHNlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XT8ubmFtZSk/W3NlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XV06W11cIlxyXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCJmbG9hdGluZ0JhckRpc3BsYXlLZXlzW2N1cnJlbnRMaXN0XVwiIFtpc0Rpc2FibGVkXT1cIiFzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF0/Lm5hbWVcIiAoY2xvc2VFdmVudCk9XCJzYXZlKClcIiAoY2xvc2VMaXN0KT1cImdvQmFjaygpXCJcclxuICAgICAgICAoZGVsZXRlRXZlbnQpPVwicmVtb3ZlKClcIj48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG5cclxuPC9kaXY+Il19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lm5nZmFjdG9yeS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJhbWV3b3JrLWxpc3QvZnJhbWV3b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUVDR1EsNEdBQStGLEtBQTdCLHFEQUF3QjtpRUFDMUYsNEdBQzRDLEtBRHVCLHdSQUM1QjtpRUFFdkMsNEdBQzhGLEtBQTFGLGdKQUFpRCxZQUEvQjs7d0JBQWtCO01BQXBDLHdCQUFpRCxLQUFaLG1DQUFRLE1BQUksOFBBQW9DO2lFQW9CekYseUdBNEJNLEtBMUJGLHlLQU1NLFlBTitEOzt3QkFBa0M7TUFBdkcsd0JBTU0sS0FMRiw2RkFFTSxLQURGLDhFQUEwQixLQUFuQix3Q0FBVyxNQUd0QixpR0FBMkQsS0FBckMsZ0NBQThCLE1BRXhELHlLQUtNLFlBTDZEOzt3QkFBZ0M7TUFBbkcsd0JBS00sS0FKRiw2RkFFTSxLQURGLDhFQUF3QixLQUFqQixzQ0FBUyxNQUVwQixrR0FBeUQsS0FBbkMsaUNBQTRCLE1BRXRELDBLQU1NLFlBTEY7O3dCQUF1QztNQUQzQyx3QkFNTSxLQUpGLDhGQUVNLEtBREYsK0VBQWdDLEtBQXpCLDhDQUFpQixNQUU1QixrR0FBZ0UsS0FBMUMsaUNBQW1DLE1BRTdELDBLQUtNLFlBTDBEOzt3QkFBNkI7TUFBN0Ysd0JBS00sS0FKRiw4RkFFTSxLQURGLCtFQUFxQixLQUFkLG1DQUFNLE1BRWpC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QkFBd0I7TUFGNUIsa1ZBRWdELEtBRjlCLGFBQXFGLElBR3ZHLHlMQUFzRCxpREFsSDlDLCtDQUFnQyxHQUFwQyxZQUErRixFQUEzRixTQUFnQyxHQUNoQyxnREFBaUMsR0FBckMsWUFDNEMsRUFEeEMsU0FBaUMsR0FHakMsc0RBQXVDLEdBQTNDLGFBQzhGLEVBRDFGLFNBQXVDLEdBcUJkLCtDQUFnQyxHQUE3RCxhQTRCTSxFQTVCdUIsU0FBZ0MsR0FtQzdDLHNGQUFnRSxJQUFoRixhQUVnSCxFQUZoRyxTQUFnRSxHQUdoRSwyRkFBcUUsSUFBckYsYUFHc0UsRUFIdEQsU0FBcUUsR0FJckUsb0dBQThFLElBQTlGLGFBSWlCLEVBSkQsU0FBOEUsR0FXaEUsK0NBQWdDLEdBQTFELGFBRzJCLEVBSEQsU0FBZ0MsR0FJaEMsaURBQWlDLEdBQTNELGFBRzJCLEVBSEQsVUFBaUMsR0FJdkIsdURBQXVDLEdBQTNFLGFBR3FDLEVBSEQsVUFBdUMsR0FJOUQsdUxBQTZFLFVBQTFGLGFBRXNELEVBRnpDLFVBQTZFLEdBRzdFLG9NQUFrRixVQUEvRixhQUVzRCxFQUZ6QyxVQUFrRixHQUdsRixtTkFBMkYsVUFBeEcsYUFFc0QsRUFGekMsVUFBMkYsR0FlOUYsMkxBQXFGLEdBQ25HLCtDQUF5RCxlQUFDLGdHQUFpRCxxQkFEL0csYUFFZ0QsRUFGOUIsVUFBcUYsRUFDbkcsVUFBeUQsRUFBQyxVQUFpRCxHQUU1RixvQkFBYyxTQUFqQyxhQUFzRCxFQUFuQyxVQUFjLG1EQTFETyx1Q0FBNEMsZUFBNUUsYUFDZ0UsRUFEaEMsU0FBNEMsR0FxQjlDLDRGQUE4RSxJQUFoSCxhQTJCTSxFQTNCNEIsU0FBOEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iLCI8IS0tIDxwPmZyYW1ld29yay1saXN0IHdvcmtzITwvcD4gLS0+XHJcbjxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZyYW1ld29yay1saXN0LWhlYWRcIj5cclxuICAgICAgICA8aDMgKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaydcIiBjbGFzcz1cImZyYW1ld29yay1saXN0LXRpdGxlXCI+IFNlbGVjdCBGcm9tIGEgRnJhbWV3b3JrPC9oMz5cclxuICAgICAgICA8aDMgKm5nSWY9XCJjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnXCIgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC10aXRsZVwiPiBTZWxlY3QgRnJvbSBhIEZyYW1ld29yayA+XHJcbiAgICAgICAgICAgIHt7c2VsZWN0ZWRWYWx1ZXM/LmZyYW1ld29yaz8ubmFtZX19PC9oMz5cclxuXHJcbiAgICAgICAgPGgzICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICAoY2xpY2spPVwiZ29CYWNrKClcIj4mI3hlOTFkOzwvaT4ge3tzZWxlY3RlZFZhbHVlcz8uZnJhbWV3b3JrPy5uYW1lfX08L2gzPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGgzICpuZ0lmPVwiYnJlYWRDcnVtYi5sZW5ndGg+MFwiIGNsYXNzPVwiZnJhbWV3b3JrLWxpc3QtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICpuZ0lmPVwiYnJlYWRDcnVtYj8ubGVuZ3RoID4gMFwiIChjbGljayk9XCJnZXRDYXRlZ29yeURldGFpbHNCeUlkKClcIj4mI3hlOTFkOzwvaT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBicmVhZENydW1iOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93XCI+e3soaT4wKT8nPic6Jyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmxpbmtdPVwidGFibGVDb21wb25lbnQuY3VycmVudEVudGl0eSB8fCAoISh0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5KSAmJiBpICE9PSBicmVhZENydW1iPy5sZW5ndGggLTEpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ2V0Q2F0ZWdvcnlEZXRhaWxzQnlJZChpdGVtLml0ZW1JZClcIiBbYXBwVG9vbHRpcF09XCJpdGVtLml0ZW1OYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIj57e2l0ZW0uaXRlbU5hbWV9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWJsZUNvbXBvbmVudC5jdXJyZW50RW50aXR5XCI+IDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge3ticmVhZENydW1iW2JyZWFkQ3J1bWI/Lmxlbmd0aCAtIDFdLml0ZW1OYW1lfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuPiZuYnNwO2ZvciB7e3RhYmxlQ29tcG9uZW50LmN1cnJlbnRFbnRpdHl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9oMz4gLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXJvd1wiICpuZ0lmPVwiY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnXCI+XHJcbiAgICAgICAgICAgIDwhLS10aGlzIHNlY3Rpb24gd2lsbCBub3QgYXBwZWFyIG9uIGNoaWxkIHBhcnQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdyZWd1bGF0aW9ucydcIiAoY2xpY2spPVwiY2hhbmdlVGFiKCdyZWd1bGF0aW9ucycpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5SZWd1bGF0aW9uczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LnJlZ3VsYXRpb25zfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNhcmRcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVRhYiA9PSAnc3RhbmRhcmRzJ1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ3N0YW5kYXJkcycpXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD5TdGFuZGFyZHM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LnN0YW5kYXJkc319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT0gJ2ludGVybmFsQ29udHJvbHMnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VUYWIoJ2ludGVybmFsQ29udHJvbHMnKVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWw+SW50ZXJuYWwgQ29udHJvbHM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50ZXJcIj57e2ZyYW1ld29ya0NvdW50LmludGVybmFsQ29udHJvbHN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09ICdvdGhlcnMnXCIgKGNsaWNrKT1cImNoYW5nZVRhYignb3RoZXJzJylcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPk90aGVyczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRlclwiPnt7ZnJhbWV3b3JrQ291bnQub3RoZXJzfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1zZWFyY2hcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAjc2VhcmNoRmllbGQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyVGV4dFtjdXJyZW50TGlzdF1cIlxyXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaEJ5KCRldmVudC50YXJnZXQudmFsdWUsY3VycmVudExpc3QpXCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxhcHAtd29ya2Zsb3ctcGFnaW5hdGlvbj48L2FwcC13b3JrZmxvdy1wYWdpbmF0aW9uPiAtLT5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJjdXJyZW50TGlzdD09J2ZyYW1ld29yaycgJiYgZnJhbWV3b3JrRGF0YS50b3RhbFBhZ2VzID4gMVwiIFtzdGFydF09XCJmcmFtZXdvcmtEYXRhLmZyb21cIlxyXG4gICAgICAgICAgICBbZW5kXT1cImZyYW1ld29ya0RhdGEudG9cIiBbdG90YWxdPVwiZnJhbWV3b3JrRGF0YS50b3RhbFJlY29yZHNcIiBbcGFnZUNvdW50XT1cImZyYW1ld29ya0RhdGEudG90YWxQYWdlc1wiXHJcbiAgICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJmcmFtZXdvcmtEYXRhLmN1cnJlbnRQYWdlXCIgKHNlbGVjdGVkUGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudCwnZnJhbWV3b3JrcycpXCI+PC9hcHAtcGFnaW5hdGlvbj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJjdXJyZW50TGlzdD09J2NhdGVnb3JpZXMnICYmIHN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUGFnZXMgPiAxXCJcclxuICAgICAgICAgICAgW3N0YXJ0XT1cInN1YkNhdGVnb3JpZXNMaXN0LmZyb21cIiBbZW5kXT1cInN1YkNhdGVnb3JpZXNMaXN0LnRvXCIgW3RvdGFsXT1cInN1YkNhdGVnb3JpZXNMaXN0LnRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgICAgIFtwYWdlQ291bnRdPVwic3ViQ2F0ZWdvcmllc0xpc3QudG90YWxQYWdlc1wiIFtjdXJyZW50UGFnZV09XCJzdWJDYXRlZ29yaWVzTGlzdC5jdXJyZW50UGFnZVwiXHJcbiAgICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQsJ2NhdGVnb3JpZXMnKVwiPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJyAmJiByZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFBhZ2VzID4gMVwiXHJcbiAgICAgICAgICAgIFtzdGFydF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC5mcm9tXCIgW2VuZF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC50b1wiXHJcbiAgICAgICAgICAgIFt0b3RhbF09XCJyZXNwb25zaWJpbGl0aWVzTGlzdC50b3RhbFJlY29yZHNcIiBbcGFnZUNvdW50XT1cInJlc3BvbnNpYmlsaXRpZXNMaXN0LnRvdGFsUGFnZXNcIlxyXG4gICAgICAgICAgICBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdGllc0xpc3QuY3VycmVudFBhZ2VcIiAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50LCdyZXNwb25zaWJpbGl0aWVzJylcIj5cclxuICAgICAgICA8L2FwcC1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwhLS0gRm9yIHBhcmVudCAtLT5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC1wYWdpbmF0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXdvcmtmbG93LXBhZ2luYXRpb24+PC9hcHAtd29ya2Zsb3ctcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDwhLS0gW2NsYXNzLm5vLWNhcmRdPVwiYnJlYWRDcnVtYi5sZW5ndGg+MFwiIC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcmFtZXdvcmstbGlzdC10YWJsZVwiIFtjbGFzcy5uby1jYXJkXT1cImN1cnJlbnRMaXN0PT0nY2F0ZWdvcmllcycgfHwgY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiPlxyXG4gICAgICAgICAgICA8YXBwLWZyYW1ld29yay1saXN0LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdmcmFtZXdvcmsnXCIgW2xpc3RMb2FkZXJdPVwibG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtmcmFtZXdvcmtUeXBlXT1cIidmcmFtZXdvcmsnXCIgKHNlbGVjdGVkRnJhbWV3b3JrKT1cInNlbGVjdEZyYW1ld29yaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIFtjdXJyZW50RnJhbWV3b3JrXT1cInNlbGVjdGVkVmFsdWVzW2N1cnJlbnRMaXN0XVwiIFtmcmFtZXdvcmtzTGlzdF09XCJmcmFtZXdvcmtEYXRhXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLWZyYW1ld29yay1saXN0LXRhYmxlPlxyXG4gICAgICAgICAgICA8YXBwLWZyYW1ld29yay1saXN0LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdjYXRlZ29yaWVzJ1wiIFtsaXN0TG9hZGVyXT1cImxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbZnJhbWV3b3Jrc0xpc3RdPVwic3ViQ2F0ZWdvcmllc0xpc3RcIiAoc2VsZWN0ZWRGcmFtZXdvcmspPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRGcmFtZXdvcmtdPVwic2VsZWN0ZWRWYWx1ZXNbY3VycmVudExpc3RdXCIgW2ZyYW1ld29ya1R5cGVdPVwiJ3N1YkZyYW1ld29yaydcIj5cclxuICAgICAgICAgICAgPC9hcHAtZnJhbWV3b3JrLWxpc3QtdGFibGU+XHJcbiAgICAgICAgICAgIDxhcHAtZnJhbWV3b3JrLXJlc3BvbnNpYmlsaXR5LXRhYmxlICpuZ0lmPVwiY3VycmVudExpc3Q9PSdyZXNwb25zaWJpbGl0aWVzJ1wiIFtsaXN0TG9hZGVyXT1cImxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbY3VycmVudFNlbGVjdGVkQ29udHJvbF09XCJzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF1cIiBbY29udHJvbHNMaXN0XT1cInJlc3BvbnNpYmlsaXRpZXNMaXN0LmRhdGFcIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkQ29udHJvbCk9XCJzZWxlY3RGcmFtZXdvcmsoJGV2ZW50KVwiIChhc3NpZ25Db250cm9sKT1cImFzc2lnblNlbGVjdGVkQ29udHJvbCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLWZyYW1ld29yay1yZXNwb25zaWJpbGl0eS10YWJsZT5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiZnJhbWV3b3JrRGF0YT8uZGF0YT8ubGVuZ3RoPT0wICYmIGN1cnJlbnRMaXN0PT0nZnJhbWV3b3JrJyAmJiAhbG9hZGVyXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJzdWJDYXRlZ29yaWVzTGlzdD8uZGF0YT8ubGVuZ3RoPT0wICYmIGN1cnJlbnRMaXN0PT0nY2F0ZWdvcmllcycgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCJcclxuICAgICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0xpc3Q/LmRhdGE/Lmxlbmd0aD09MCAmJiBjdXJyZW50TGlzdD09J3Jlc3BvbnNpYmlsaXRpZXMnICYmICFsb2FkZXJcIlxyXG4gICAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiXHJcbiAgICAgICAgICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgIDwhLS0gb2xkIHRhYmxlIGxpc3QgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPGFwcC1wYXJlbnQtdGFibGUgI3BhcmVudFRhYmxlICpuZ0lmPVwic2hvd1BhcmVudFwiIFtzZWFyY2hdPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgICAgIChleHBhbmRDYXRlZ29yeSk9XCJleHBhbmRDYXRlZ29yeSgkZXZlbnQpXCIgW3RhYmxlTGlzdF09XCJjYXRlZ29yeUxpc3RbYWN0aXZlVGFiXS5saXN0XCJcclxuICAgICAgICAgICAgICAgIChlbnRydXN0RnJhbWV3b3JrKT1cImVudHJ1c3RGcmFtZXdvcmtEZXRhaWxzKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9hcHAtcGFyZW50LXRhYmxlPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFtzaW5ndWxhclRleHRdPVwiJ1VzZXIgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ1VzZXJzIHNlbGVjdGVkJ1wiIChjbG9zZUV2ZW50KT1cInNhdmUoc2VsZWN0ZWRJZHMpXCJcclxuICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgIFtpc0Rpc2FibGVkXT1cIihncm91cHNMaXN0Py5sZW5ndGggKyB1c2Vyc0xpc3Q/Lmxlbmd0aCkgPT09IDAgfHwgc2VsZWN0ZWRVc2Vycz8ubGVuZ3RoID09PSAwXCIgLS0+XHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cIihzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF0/Lm5hbWUpP1tzZWxlY3RlZFZhbHVlc1tjdXJyZW50TGlzdF1dOltdXCJcclxuICAgICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiZmxvYXRpbmdCYXJEaXNwbGF5S2V5c1tjdXJyZW50TGlzdF1cIiBbaXNEaXNhYmxlZF09XCIhc2VsZWN0ZWRWYWx1ZXNbY3VycmVudExpc3RdPy5uYW1lXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgKGNsb3NlTGlzdCk9XCJnb0JhY2soKVwiXHJcbiAgICAgICAgKGRlbGV0ZUV2ZW50KT1cInJlbW92ZSgpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxyXG4gICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cclxuXHJcbjwvZGl2PiJdfQ==