@hmcts/ccd-case-ui-toolkit 5.0.33-angular11-upgrade → 5.0.36-prl-integration-merge-into-angular-11

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 (109) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +1520 -287
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +1 -1
  6. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +23 -17
  7. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +1 -1
  8. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.js +72 -0
  9. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +134 -0
  10. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.js +52 -0
  11. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +38 -0
  12. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +353 -0
  13. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.js +159 -0
  14. package/esm2015/lib/shared/components/palette/case-file-view/components/index.js +6 -0
  15. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.js +2 -0
  16. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.js +100 -0
  17. package/esm2015/lib/shared/components/palette/case-file-view/components/shared/index.js +2 -0
  18. package/esm2015/lib/shared/components/palette/case-file-view/index.js +4 -0
  19. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +9 -5
  20. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +1 -1
  21. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +5 -7
  22. package/esm2015/lib/shared/components/palette/index.js +2 -1
  23. package/esm2015/lib/shared/components/palette/palette.module.js +71 -15
  24. package/esm2015/lib/shared/components/palette/palette.service.js +19 -1
  25. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +2 -2
  26. package/esm2015/lib/shared/components/search-result/search-result.component.js +53 -46
  27. package/esm2015/lib/shared/domain/case-file-view/case-file-view-category.model.js +3 -0
  28. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +3 -0
  29. package/esm2015/lib/shared/domain/case-file-view/categories-and-documents.model.js +7 -0
  30. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.js +6 -0
  31. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +93 -0
  32. package/esm2015/lib/shared/domain/case-file-view/index.js +6 -0
  33. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  34. package/esm2015/lib/shared/domain/definition/jurisdiction.model.js +1 -1
  35. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +2 -2
  36. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +46 -0
  37. package/esm2015/lib/shared/services/case-file-view/index.js +2 -0
  38. package/esm2015/lib/shared/services/index.js +2 -1
  39. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +4 -1
  40. package/esm2015/public-api.js +3 -1
  41. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +1351 -273
  42. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  43. package/lib/app.config.d.ts +5 -1
  44. package/lib/app.config.d.ts.map +1 -1
  45. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -1
  46. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  47. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts +8 -0
  48. package/lib/shared/components/palette/case-file-view/case-file-view-field-read.component.d.ts.map +1 -0
  49. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +33 -0
  50. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -0
  51. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts +17 -0
  52. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-document-actions/case-file-view-folder-document-actions.component.d.ts.map +1 -0
  53. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +13 -0
  54. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -0
  55. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +53 -0
  56. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -0
  57. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts +28 -0
  58. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.d.ts.map +1 -0
  59. package/lib/shared/components/palette/case-file-view/components/index.d.ts +6 -0
  60. package/lib/shared/components/palette/case-file-view/components/index.d.ts.map +1 -0
  61. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts +6 -0
  62. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu-item.model.d.ts.map +1 -0
  63. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts +13 -0
  64. package/lib/shared/components/palette/case-file-view/components/shared/case-file-view-overlay-menu/case-file-view-overlay-menu.component.d.ts.map +1 -0
  65. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts +2 -0
  66. package/lib/shared/components/palette/case-file-view/components/shared/index.d.ts.map +1 -0
  67. package/lib/shared/components/palette/case-file-view/index.d.ts +4 -0
  68. package/lib/shared/components/palette/case-file-view/index.d.ts.map +1 -0
  69. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +5 -1
  70. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -1
  72. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +1 -2
  73. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -1
  74. package/lib/shared/components/palette/index.d.ts +1 -0
  75. package/lib/shared/components/palette/index.d.ts.map +1 -1
  76. package/lib/shared/components/palette/palette.module.d.ts +41 -29
  77. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  78. package/lib/shared/components/palette/palette.service.d.ts +2 -0
  79. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  80. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts +9 -0
  81. package/lib/shared/domain/case-file-view/case-file-view-category.model.d.ts.map +1 -0
  82. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +8 -0
  83. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -0
  84. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts +12 -0
  85. package/lib/shared/domain/case-file-view/categories-and-documents.model.d.ts.map +1 -0
  86. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts +5 -0
  87. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node-type.model.d.ts.map +1 -0
  88. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +14 -0
  89. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -0
  90. package/lib/shared/domain/case-file-view/index.d.ts +6 -0
  91. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -0
  92. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  93. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  94. package/lib/shared/domain/definition/jurisdiction.model.d.ts.map +1 -1
  95. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  96. package/lib/shared/services/case-file-view/case-file-view.service.d.ts +21 -0
  97. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -0
  98. package/lib/shared/services/case-file-view/index.d.ts +2 -0
  99. package/lib/shared/services/case-file-view/index.d.ts.map +1 -0
  100. package/lib/shared/services/index.d.ts +1 -0
  101. package/lib/shared/services/index.d.ts.map +1 -1
  102. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts +2 -1
  103. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  104. package/package.json +1 -1
  105. package/public-api.d.ts +2 -0
  106. package/public-api.d.ts.map +1 -1
  107. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +0 -22
  108. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +0 -12
  109. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +0 -1
@@ -0,0 +1,100 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/cdk/overlay";
4
+ import * as i2 from "@angular/common";
5
+ function CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelementContainerStart(0);
7
+ i0.ɵɵelementStart(1, "div", 6);
8
+ i0.ɵɵtext(2);
9
+ i0.ɵɵelementEnd();
10
+ i0.ɵɵelementContainerEnd();
11
+ } if (rf & 2) {
12
+ const ctx_r2 = i0.ɵɵnextContext(2);
13
+ i0.ɵɵadvance(2);
14
+ i0.ɵɵtextInterpolate(ctx_r2.title);
15
+ } }
16
+ function CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_2_img_2_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelement(0, "img", 10);
18
+ } if (rf & 2) {
19
+ const item_r4 = i0.ɵɵnextContext().$implicit;
20
+ const ctx_r5 = i0.ɵɵnextContext(2);
21
+ i0.ɵɵpropertyInterpolate1("alt", "", ctx_r5.title, " icon'");
22
+ i0.ɵɵproperty("src", item_r4.iconSrc, i0.ɵɵsanitizeUrl);
23
+ } }
24
+ function CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
25
+ const _r8 = i0.ɵɵgetCurrentView();
26
+ i0.ɵɵelementContainerStart(0);
27
+ i0.ɵɵelementStart(1, "div", 7);
28
+ i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_2_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r8); const item_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); item_r4.actionFn(); return ctx_r7.closeOverlay(); });
29
+ i0.ɵɵtemplate(2, CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_2_img_2_Template, 1, 2, "img", 8);
30
+ i0.ɵɵelementStart(3, "div", 9);
31
+ i0.ɵɵtext(4);
32
+ i0.ɵɵelementEnd();
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementContainerEnd();
35
+ } if (rf & 2) {
36
+ const item_r4 = ctx.$implicit;
37
+ i0.ɵɵadvance(2);
38
+ i0.ɵɵproperty("ngIf", item_r4.iconSrc);
39
+ i0.ɵɵadvance(2);
40
+ i0.ɵɵtextInterpolate(item_r4.actionText);
41
+ } }
42
+ function CaseFileViewOverlayMenuComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
43
+ i0.ɵɵelementStart(0, "div", 3);
44
+ i0.ɵɵtemplate(1, CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_1_Template, 3, 1, "ng-container", 4);
45
+ i0.ɵɵtemplate(2, CaseFileViewOverlayMenuComponent_ng_template_4_ng_container_2_Template, 5, 2, "ng-container", 5);
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const ctx_r1 = i0.ɵɵnextContext();
49
+ i0.ɵɵadvance(1);
50
+ i0.ɵɵproperty("ngIf", ctx_r1.title);
51
+ i0.ɵɵadvance(1);
52
+ i0.ɵɵproperty("ngForOf", ctx_r1.menuItems);
53
+ } }
54
+ const _c0 = [[["", "trigger", ""]]];
55
+ const _c1 = ["[trigger]"];
56
+ export class CaseFileViewOverlayMenuComponent {
57
+ constructor() {
58
+ this.title = '';
59
+ this.isOpen = false;
60
+ this.isOpenChange = new EventEmitter();
61
+ }
62
+ closeOverlay() {
63
+ const isOpen = false;
64
+ this.isOpen = isOpen;
65
+ this.isOpenChange.emit(isOpen);
66
+ }
67
+ }
68
+ CaseFileViewOverlayMenuComponent.ɵfac = function CaseFileViewOverlayMenuComponent_Factory(t) { return new (t || CaseFileViewOverlayMenuComponent)(); };
69
+ CaseFileViewOverlayMenuComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewOverlayMenuComponent, selectors: [["ccd-case-file-view-overlay-menu"]], inputs: { title: "title", menuItems: "menuItems", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange" }, ngContentSelectors: _c1, decls: 5, vars: 4, consts: [["type", "button", "cdkOverlayOrigin", "", 1, "overlay-toggle", 3, "click"], ["trigger", "cdkOverlayOrigin"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayBackdropClass", "backdropClick"], [1, "overlay-menu"], [4, "ngIf"], [4, "ngFor", "ngForOf"], [1, "overlay-menu__title"], [1, "overlay-menu__item", 3, "click"], ["class", "overlay-menu__itemIcon", 3, "src", "alt", 4, "ngIf"], [1, "overlay-menu__actionText"], [1, "overlay-menu__itemIcon", 3, "src", "alt"]], template: function CaseFileViewOverlayMenuComponent_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵprojectionDef(_c0);
71
+ i0.ɵɵelementStart(0, "div");
72
+ i0.ɵɵelementStart(1, "button", 0, 1);
73
+ i0.ɵɵlistener("click", function CaseFileViewOverlayMenuComponent_Template_button_click_1_listener($event) { $event.stopPropagation(); return ctx.isOpen = !ctx.isOpen; });
74
+ i0.ɵɵprojection(3);
75
+ i0.ɵɵelementEnd();
76
+ i0.ɵɵtemplate(4, CaseFileViewOverlayMenuComponent_ng_template_4_Template, 3, 2, "ng-template", 2);
77
+ i0.ɵɵlistener("backdropClick", function CaseFileViewOverlayMenuComponent_Template_ng_template_backdropClick_4_listener() { return ctx.closeOverlay(); });
78
+ i0.ɵɵelementEnd();
79
+ } if (rf & 2) {
80
+ const _r0 = i0.ɵɵreference(2);
81
+ i0.ɵɵadvance(4);
82
+ i0.ɵɵproperty("cdkConnectedOverlayOrigin", _r0)("cdkConnectedOverlayOpen", ctx.isOpen)("cdkConnectedOverlayHasBackdrop", true)("cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop");
83
+ } }, directives: [i1.CdkOverlayOrigin, i1.CdkConnectedOverlay, i2.NgIf, i2.NgForOf], styles: [".overlay-toggle[_ngcontent-%COMP%]{display:block;background:none;border:0;padding:0 6px;margin-right:-6px;cursor:pointer}.overlay-menu[_ngcontent-%COMP%]{background-color:#fafafa;border:1px solid grey;margin-top:8px;font-size:1rem}.overlay-menu__item[_ngcontent-%COMP%], .overlay-menu__title[_ngcontent-%COMP%]{padding:10px;border-bottom:1px solid grey}.overlay-menu__item[_ngcontent-%COMP%]:last-child, .overlay-menu__title[_ngcontent-%COMP%]:last-child{border:none}.overlay-menu__title[_ngcontent-%COMP%]{padding-left:6px;padding-right:6px}.overlay-menu__item[_ngcontent-%COMP%]{display:flex;align-items:center;cursor:pointer;font-size:.875em}.overlay-menu__item[_ngcontent-%COMP%]:hover{background-color:#fff2cc}.overlay-menu__itemIcon[_ngcontent-%COMP%]{height:1.25em;width:1.25em;margin-right:6px}"] });
84
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewOverlayMenuComponent, [{
85
+ type: Component,
86
+ args: [{
87
+ selector: 'ccd-case-file-view-overlay-menu',
88
+ templateUrl: './case-file-view-overlay-menu.component.html',
89
+ styleUrls: ['./case-file-view-overlay-menu.component.scss']
90
+ }]
91
+ }], null, { title: [{
92
+ type: Input
93
+ }], menuItems: [{
94
+ type: Input
95
+ }], isOpen: [{
96
+ type: Input
97
+ }], isOpenChange: [{
98
+ type: Output
99
+ }] }); })();
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvc2hhcmVkL2Nhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudS9jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1maWxlLXZpZXcvY29tcG9uZW50cy9zaGFyZWQvY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51L2Nhc2UtZmlsZS12aWV3LW92ZXJsYXktbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztJQ2dCakUsNkJBQTRCO0lBQzFCLDhCQUFpQztJQUFBLFlBQVM7SUFBQSxpQkFBTTtJQUNsRCwwQkFBZTs7O0lBRG9CLGVBQVM7SUFBVCxrQ0FBUzs7O0lBS3hDLDBCQUFzRzs7OztJQUF4Qiw0REFBcUI7SUFBekUsdURBQW9COzs7O0lBRmxELDZCQUE2QztJQUMzQyw4QkFBMkU7SUFBM0MsME5BQVMsa0JBQWUsa0NBQWtCO0lBQ3hFLDhHQUFzRztJQUN0Ryw4QkFBc0M7SUFBQSxZQUFtQjtJQUFBLGlCQUFNO0lBQ2pFLGlCQUFNO0lBQ1IsMEJBQWU7OztJQUhMLGVBQWtCO0lBQWxCLHNDQUFrQjtJQUNjLGVBQW1CO0lBQW5CLHdDQUFtQjs7O0lBUi9ELDhCQUEwQjtJQUN4QixpSEFFZTtJQUVmLGlIQUtlO0lBQ2pCLGlCQUFNOzs7SUFWVyxlQUFXO0lBQVgsbUNBQVc7SUFJSyxlQUFZO0lBQVosMENBQVk7Ozs7QURaakQsTUFBTSxPQUFPLGdDQUFnQztJQUw3QztRQU1rQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR25CLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0FRN0Q7SUFOUSxZQUFZO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOztnSEFaVSxnQ0FBZ0M7cUVBQWhDLGdDQUFnQzs7UUNSN0MsMkJBQUs7UUFDSCxvQ0FFcUQ7UUFEN0MsNEdBQVMsd0JBQXdCLHFDQUFtQjtRQUUxRCxrQkFBNEM7UUFDOUMsaUJBQVM7UUFFVCxpR0FvQmM7UUFkWixrSUFBaUIsa0JBQWMsSUFBQztRQWVwQyxpQkFBTTs7O1FBbkJGLGVBQXFDO1FBQXJDLCtDQUFxQyx1Q0FBQSx3Q0FBQSx3RUFBQTs7dUZERDVCLGdDQUFnQztjQUw1QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztnQkFDM0MsV0FBVyxFQUFFLDhDQUE4QztnQkFDM0QsU0FBUyxFQUFFLENBQUMsOENBQThDLENBQUM7YUFDNUQ7Z0JBRWlCLEtBQUs7a0JBQXBCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBRVUsTUFBTTtrQkFBckIsS0FBSztZQUNXLFlBQVk7a0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVJdGVtIH0gZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUtaXRlbS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUZpbGVWaWV3T3ZlcmxheU1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgbWVudUl0ZW1zOiBDYXNlRmlsZVZpZXdPdmVybGF5TWVudUl0ZW1bXTtcblxuICBASW5wdXQoKSBwdWJsaWMgaXNPcGVuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBjbG9zZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgaXNPcGVuID0gZmFsc2U7XG5cbiAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcbiAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KGlzT3Blbik7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwib3ZlcmxheS10b2dnbGVcIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGlzT3BlbiA9ICFpc09wZW5cIlxuICAgICAgICAgIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RyaWdnZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzT3BlblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3NdPVwiJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1wiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2VPdmVybGF5KClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktbWVudVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LW1lbnVfX3RpdGxlXCI+e3t0aXRsZX19PC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktbWVudV9faXRlbVwiIChjbGljayk9XCJpdGVtLmFjdGlvbkZuKCk7IGNsb3NlT3ZlcmxheSgpO1wiPlxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLmljb25TcmNcIiBbc3JjXT1cIml0ZW0uaWNvblNyY1wiIGNsYXNzPVwib3ZlcmxheS1tZW51X19pdGVtSWNvblwiIGFsdD1cInt7dGl0bGV9fSBpY29uJ1wiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXktbWVudV9fYWN0aW9uVGV4dFwiPnt7aXRlbS5hY3Rpb25UZXh0fX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './case-file-view-overlay-menu/case-file-view-overlay-menu.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZpbGUtdmlldy1vdmVybGF5LW1lbnUvY2FzZS1maWxlLXZpZXctb3ZlcmxheS1tZW51LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './case-file-view-field-read.component';
2
+ export * from './case-file-view-field.component';
3
+ export * from './components';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtZmlsZS12aWV3LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXctZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { Component, EventEmitter, Output } from '@angular/core';
2
2
  import { FormBuilder, Validators } from '@angular/forms';
3
+ import * as moment from 'moment';
3
4
  import { throwError } from 'rxjs';
4
5
  import { CasesService } from '../../../../case-editor/services/cases.service';
5
6
  import { LinkedCasesErrorMessages, LinkedCasesPages, Patterns } from '../../enums';
6
7
  import { LinkedCasesService } from '../../services/linked-cases.service';
7
8
  import { ValidatorsUtils } from '../../utils/validators.utils';
8
- import * as moment from 'moment';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../../case-editor/services/cases.service";
11
11
  import * as i2 from "@angular/forms";
@@ -107,7 +107,7 @@ function LinkCasesComponent_div_8_Template(rf, ctx) { if (rf & 1) {
107
107
  i0.ɵɵadvance(1);
108
108
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c0, !!ctx_r0.caseReasonError));
109
109
  i0.ɵɵadvance(1);
110
- i0.ɵɵproperty("ngForOf", ctx_r0.linkedCasesService.linkCaseReasons);
110
+ i0.ɵɵproperty("ngForOf", ctx_r0.linkCaseReasons);
111
111
  i0.ɵɵadvance(3);
112
112
  i0.ɵɵproperty("ngIf", ctx_r0.caseSelectionError);
113
113
  } }
@@ -206,10 +206,14 @@ export class LinkCasesComponent {
206
206
  this.linkedCasesStateEmitter = new EventEmitter();
207
207
  this.errorMessages = [];
208
208
  this.selectedCases = [];
209
+ this.linkCaseReasons = [];
209
210
  this.ISO_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS';
210
211
  }
211
212
  ngOnInit() {
212
213
  this.initForm();
214
+ this.caseId = this.linkedCasesService.caseId;
215
+ this.caseName = this.linkedCasesService.caseName;
216
+ this.linkCaseReasons = this.linkedCasesService.linkCaseReasons;
213
217
  if (this.linkedCasesService.editMode) {
214
218
  // this may have includes the currently added one but yet to be submitted.
215
219
  this.selectedCases = this.linkedCasesService.linkedCases;
@@ -225,7 +229,7 @@ export class LinkCasesComponent {
225
229
  });
226
230
  }
227
231
  get getReasonTypeFormArray() {
228
- return this.fb.array(this.linkedCasesService.linkCaseReasons.map((val) => this.fb.group({
232
+ return this.fb.array(this.linkCaseReasons.map((val) => this.fb.group({
229
233
  key: [val.key],
230
234
  value_en: [val.value_en],
231
235
  value_cy: [val.value_cy],
@@ -468,7 +472,7 @@ LinkCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkCasesComponent, se
468
472
  i0.ɵɵelementEnd();
469
473
  } if (rf & 2) {
470
474
  i0.ɵɵadvance(4);
471
- i0.ɵɵtextInterpolate2("Link cases to ", ctx.linkedCasesService.caseName, " ", i0.ɵɵpipeBind1(5, 7, ctx.linkedCasesService.caseId), "");
475
+ i0.ɵɵtextInterpolate2("Link cases to ", ctx.caseName, " ", i0.ɵɵpipeBind1(5, 7, ctx.caseId), "");
472
476
  i0.ɵɵadvance(4);
473
477
  i0.ɵɵproperty("ngIf", ctx.linkCaseForm);
474
478
  i0.ɵɵadvance(4);
@@ -490,4 +494,4 @@ LinkCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkCasesComponent, se
490
494
  }], function () { return [{ type: i1.CasesService }, { type: i2.FormBuilder }, { type: i3.ValidatorsUtils }, { type: i4.LinkedCasesService }]; }, { linkedCasesStateEmitter: [{
491
495
  type: Output
492
496
  }] }); })();
493
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBUTlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0lDUHZCLGdDQUEwRDtJQUN4RCxnQ0FBb0M7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBTzs7O0lBRDZDLGVBQ3BEO0lBRG9ELHVEQUNwRDs7O0lBUUYsZ0NB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bUN4QixlQUE4RDtRQUE5RCwrRUFBOEQ7UUFDdkUsZUFBeUI7UUFBekIsOENBQXlCO1FBZ0JWLGdCQUFrQjtRQUFsQiwyQ0FBa0I7UUFlbEMsZUFBMkI7UUFBM0IsZ0RBQTJCOzt1RkRsRHhELGtCQUFrQjtjQUw5QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7Z0JBQzFDLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7d0pBR1EsdUJBQXVCO2tCQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldywgRXJyb3JNZXNzYWdlLCBIdHRwRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1N0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIENhc2VMaW5rLFxuICBDQ0RDYXNlTGlua1R5cGUsXG4gIExpbmtDYXNlUmVhc29uLFxuICBMaW5rUmVhc29uLFxufSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNQYWdlcywgUGF0dGVybnMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rZWQtY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzVXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzLnV0aWxzJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGluay1jYXNlcycsXG4gIHN0eWxlVXJsczogWycuL2xpbmstY2FzZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmstY2FzZXMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ2FzZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG5cbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBsaW5rQ2FzZUZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIHNlbGVjdGVkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGNhc2VOdW1iZXJFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVJlYXNvbkVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlU2VsZWN0aW9uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIG5vU2VsZWN0ZWRDYXNlRXJyb3I6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBJU09fRk9STUFUID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdG9yc1V0aWxzOiBWYWxpZGF0b3JzVXRpbHMsXG4gICAgcHVibGljIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5lZGl0TW9kZSkge1xuICAgICAgLy8gdGhpcyBtYXkgaGF2ZSBpbmNsdWRlcyB0aGUgY3VycmVudGx5IGFkZGVkIG9uZSBidXQgeWV0IHRvIGJlIHN1Ym1pdHRlZC5cbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzO1xuICAgIH0gZWxzZSBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcy5sZW5ndGggIT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtDYXNlRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgY2FzZU51bWJlcjogWycnLCBbVmFsaWRhdG9ycy5taW5MZW5ndGgoMTYpLCB0aGlzLnZhbGlkYXRvcnNVdGlscy5yZWdleFBhdHRlcm4oUGF0dGVybnMuQ0FTRV9SRUYpXV0sXG4gICAgICByZWFzb25UeXBlOiB0aGlzLmdldFJlYXNvblR5cGVGb3JtQXJyYXksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldFJlYXNvblR5cGVGb3JtQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5mYi5hcnJheShcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucy5tYXAoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAga2V5OiBbdmFsLmtleV0sXG4gICAgICAgICAgdmFsdWVfZW46IFt2YWwudmFsdWVfZW5dLFxuICAgICAgICAgIHZhbHVlX2N5OiBbdmFsLnZhbHVlX2N5XSxcbiAgICAgICAgICBoaW50X3RleHRfZW46IFt2YWwuaGludF90ZXh0X2VuXSxcbiAgICAgICAgICBoaW50X3RleHRfY3k6IFt2YWwuaGludF90ZXh0X2N5XSxcbiAgICAgICAgICBsb3Zfb3JkZXI6IFt2YWwubG92X29yZGVyXSxcbiAgICAgICAgICBwYXJlbnRfa2V5OiBbdmFsLnBhcmVudF9rZXldLFxuICAgICAgICAgIHNlbGVjdGVkOiBbISF2YWwuc2VsZWN0ZWRdLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRoaXMudmFsaWRhdG9yc1V0aWxzLmZvcm1BcnJheVNlbGVjdGVkVmFsaWRhdG9yKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpID09PSBjYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvckluZm8oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLmNhc2VOdW1iZXIuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUluZm8oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlckRhdGEgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnJlcGxhY2UoL1stIF0vZywgJycpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgY2NkQXBpQ2FzZUxpbmtEYXRhOiBDQ0RDYXNlTGlua1R5cGUgPSB7XG4gICAgICAgICAgICBDYXNlUmVmZXJlbmNlOiBjYXNlVmlldy5jYXNlX2lkLFxuICAgICAgICAgICAgQ2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5pZCxcbiAgICAgICAgICAgIENyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgUmVhc29uRm9yTGluazogdGhpcy5nZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvLyBSZXR1cm4gbGlua2VkIGNhc2VzIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gIHB1YmxpYyBlbWl0TGlua2VkQ2FzZXNTdGF0ZShpc05hdmlnYXRlVG9OZXh0UGFnZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogaXNOYXZpZ2F0ZVRvTmV4dFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgcmVhc29uQ29kZTogc2VsZWN0ZWRSZWFzb24ua2V5XG4gICAgICAgICAgfSBhcyBMaW5rUmVhc29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKCk6IExpbmtSZWFzb25bXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSZWFzb25zID0gW107XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWx1ZS5mb3JFYWNoKFxuICAgICAgKHNlbGVjdGVkUmVhc29uOiBMaW5rQ2FzZVJlYXNvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRSZWFzb24uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBzZWxlY3RlZFJlYXNvbnMucHVzaCh7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBSZWFzb246IHNlbGVjdGVkUmVhc29uLmtleSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgIT09IHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk7XG4gICAgaWYgKHVwZGF0ZWRJdGVtcykge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSB1cGRhdGVkSXRlbXM7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UocG9zLCAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nLFxuICAgICAgfSk7XG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShuYXZpZ2F0ZVRvTmV4dFBhZ2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5MaW5rIGNhc2VzIHRvIHt7bGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VOYW1lfX0ge3tsaW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPlNlbGVjdCBhJm5ic3A7Y2FzZSB5b3Ugd2FudCB0byBsaW5rIHRvIHRoaXMgY2FzZTwvaDE+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwibGlua0Nhc2VGb3JtXCIgKm5nSWY9XCJsaW5rQ2FzZUZvcm1cIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+RW50ZXIgY2FzZSByZWZlcmVuY2U8L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIGlkPVwiY2FzZU51bWJlclwiIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VOdW1iZXJFcnJvcn1cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNhc2VOdW1iZXJFcnJvclwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZU51bWJlckVycm9yfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstaW5wdXQtLXdpZHRoLTIwXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FzZU51bWJlclwiIGlkPVwid2lkdGgtMjBcIiBuYW1lPVwid2lkdGgtMjBcIlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPldoeSBzaG91bGQgdGhlc2UgY2FzZXMgYmUgbGlua2VkPzwvaDM+XG4gICAgICAgIDxkaXYgaWQ9XCJ3YXN0ZS1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAgU2VsZWN0IGFsbCB0aGF0IGFwcGx5LlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlUmVhc29uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlUmVhc29uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGVja2JveGVzXCIgZm9ybUFycmF5TmFtZT1cInJlYXNvblR5cGVcIiBpZD1cImNhc2VSZWFzb25cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiAhIWNhc2VSZWFzb25FcnJvcn1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiICpuZ0Zvcj1cImxldCByZWFzb24gb2YgbGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJ7e3JlYXNvbi5rZXl9fVwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkXCIgbmFtZT1cInBvc1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24ucmVhc29uQ29kZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08YnI+PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgW2F0dHIuaWRdPVwiY2FzZS5jYXNlUmVmZXJlbmNlXCIgKGNsaWNrKT1cIm9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgY2FzZS5jYXNlUmVmZXJlbmNlKTtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1saW5rIG5vLXZpc2l0ZWQtc3RhdGVcIj5SZW1vdmU8L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhc2VsZWN0ZWRDYXNlcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNlwiPlxuICAgICAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jYXNlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy9saW5rLWNhc2VzL2xpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL2NvbXBvbmVudHMvbGluay1jYXNlcy9saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWEsV0FBVyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQVE5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQ1JyRCxnQ0FBMEQ7SUFDeEQsZ0NBQW9DO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQU87OztJQUQ2QyxlQUNwRDtJQURvRCx1REFDcEQ7OztJQVFGLGdD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QVE7UUFDVixpQkFBUTtRQUNWLGlCQUFNO1FBQ04sZ0NBQWdDO1FBQzlCLG1DQUF3RjtRQUFuQixnR0FBUyxZQUFRLElBQUM7UUFBQyxxQkFBSTtRQUFBLGlCQUFTO1FBQ3ZHLGlCQUFNO1FBQ1IsaUJBQU07UUFDUixpQkFBTTtRQUNSLGlCQUFNOztRQWxGOEIsZUFBd0Q7UUFBeEQsZ0dBQXdEO1FBRWxDLGVBQWtCO1FBQWxCLHVDQUFrQjtRQW1DeEIsZUFBOEQ7UUFBOUQsK0VBQThEO1FBQ3ZFLGVBQXlCO1FBQXpCLDhDQUF5QjtRQWdCVixnQkFBa0I7UUFBbEIsMkNBQWtCO1FBZWxDLGVBQTJCO1FBQTNCLGdEQUEyQjs7dUZEakR4RCxrQkFBa0I7Y0FMOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUMxQyxXQUFXLEVBQUUsNkJBQTZCO2FBQzNDO3dKQUdRLHVCQUF1QjtrQkFEN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcsIEVycm9yTWVzc2FnZSwgSHR0cEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUxpbmssXG4gIENDRENhc2VMaW5rVHlwZSxcbiAgTGlua0Nhc2VSZWFzb24sXG4gIExpbmtSZWFzb25cbn0gZnJvbSAnLi4vLi4vZG9tYWluL2xpbmtlZC1jYXNlcy5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzUGFnZXMsIFBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsaWRhdG9yc1V0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycy51dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1saW5rLWNhc2VzJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1jYXNlcy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay1jYXNlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDYXNlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxMaW5rZWRDYXNlc1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4oKTtcblxuICBwdWJsaWMgZXJyb3JNZXNzYWdlczogRXJyb3JNZXNzYWdlW10gPSBbXTtcbiAgcHVibGljIGxpbmtDYXNlRm9ybTogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VsZWN0ZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgY2FzZU51bWJlckVycm9yOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVhc29uRXJyb3I6IHN0cmluZztcbiAgcHVibGljIGNhc2VTZWxlY3Rpb25FcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgbm9TZWxlY3RlZENhc2VFcnJvcjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IElTT19GT1JNQVQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGF0b3JzVXRpbHM6IFZhbGlkYXRvcnNVdGlscyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkO1xuICAgIHRoaXMuY2FzZU5hbWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZTtcbiAgICB0aGlzLmxpbmtDYXNlUmVhc29ucyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucztcbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUpIHtcbiAgICAgIC8vIHRoaXMgbWF5IGhhdmUgaW5jbHVkZXMgdGhlIGN1cnJlbnRseSBhZGRlZCBvbmUgYnV0IHlldCB0byBiZSBzdWJtaXR0ZWQuXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICB9IGVsc2UgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmluaXRpYWxDYXNlTGlua3MubGVuZ3RoICE9PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaW5pdGlhbENhc2VMaW5rcztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGNhc2VOdW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDE2KSwgdGhpcy52YWxpZGF0b3JzVXRpbHMucmVnZXhQYXR0ZXJuKFBhdHRlcm5zLkNBU0VfUkVGKV1dLFxuICAgICAgcmVhc29uVHlwZTogdGhpcy5nZXRSZWFzb25UeXBlRm9ybUFycmF5LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRSZWFzb25UeXBlRm9ybUFycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoXG4gICAgICB0aGlzLmxpbmtDYXNlUmVhc29ucy5tYXAoKHZhbCkgPT5cbiAgICAgICAgdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAga2V5OiBbdmFsLmtleV0sXG4gICAgICAgICAgdmFsdWVfZW46IFt2YWwudmFsdWVfZW5dLFxuICAgICAgICAgIHZhbHVlX2N5OiBbdmFsLnZhbHVlX2N5XSxcbiAgICAgICAgICBoaW50X3RleHRfZW46IFt2YWwuaGludF90ZXh0X2VuXSxcbiAgICAgICAgICBoaW50X3RleHRfY3k6IFt2YWwuaGludF90ZXh0X2N5XSxcbiAgICAgICAgICBsb3Zfb3JkZXI6IFt2YWwubG92X29yZGVyXSxcbiAgICAgICAgICBwYXJlbnRfa2V5OiBbdmFsLnBhcmVudF9rZXldLFxuICAgICAgICAgIHNlbGVjdGVkOiBbISF2YWwuc2VsZWN0ZWRdLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHRoaXMudmFsaWRhdG9yc1V0aWxzLmZvcm1BcnJheVNlbGVjdGVkVmFsaWRhdG9yKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdENhc2VJbmZvKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZVJlYXNvbkVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IG51bGw7XG4gICAgdGhpcy5jYXNlU2VsZWN0aW9uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IG51bGw7XG4gICAgaWYgKFxuICAgICAgdGhpcy5saW5rQ2FzZUZvcm0udmFsaWQgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMuc2VsZWN0ZWRDYXNlcykgJiZcbiAgICAgICF0aGlzLmlzQ2FzZVNlbGVjdGVkKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzKSAmJlxuICAgICAgIXRoaXMuaXNDYXNlU2VsZWN0ZWRTYW1lQXNDdXJyZW50Q2FzZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLmdldENhc2VJbmZvKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9ySW5mbygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTZWxlY3RlZChsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChsaW5rZWRDYXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgY2FzZU51bWJlciA9IHRoaXMubGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXI7XG4gICAgcmV0dXJuICEhbGlua2VkQ2FzZXMuZmluZChcbiAgICAgIChjYXNlTGluaykgPT4gY2FzZUxpbmsuY2FzZVJlZmVyZW5jZS5zcGxpdCgnLScpLmpvaW4oJycpID09PSBjYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nhc2VTZWxlY3RlZFNhbWVBc0N1cnJlbnRDYXNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnNwbGl0KCctJykuam9pbignJykgPT09IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZC5zcGxpdCgnLScpLmpvaW4oJycpO1xuICB9XG5cbiAgcHVibGljIHNob3dFcnJvckluZm8oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLmNhc2VOdW1iZXIuaW52YWxpZCkge1xuICAgICAgdGhpcy5jYXNlTnVtYmVyRXJyb3IgPSBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZU51bWJlckVycm9yO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlTnVtYmVyRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmNhc2VSZWFzb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5SZWFzb25TZWxlY3Rpb25FcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLXJlYXNvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuUmVhc29uU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlUmVhc29uJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLnNlbGVjdGVkQ2FzZXMpKSB7XG4gICAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlUHJvcG9zZWRFcnJvcjtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdkdW1teS1jYXNlLW51bWJlcicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuQ2FzZVByb3Bvc2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0Nhc2VTZWxlY3RlZCh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcykpIHtcbiAgICAgIHRoaXMuY2FzZVNlbGVjdGlvbkVycm9yID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VzTGlua2VkRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rQ2FzZUZvcm0udmFsdWUuY2FzZU51bWJlci5zcGxpdCgnLScpLmpvaW4oJycpID09PSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQuc3BsaXQoJy0nKS5qb2luKCcnKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2R1bW15LWNhc2UtbnVtYmVyJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5Qcm9wb3NlZENhc2VXaXRoSW4sXG4gICAgICAgIGZpZWxkSWQ6ICdjYXNlTnVtYmVyJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZUluZm8oKTogdm9pZCB7XG4gICAgY29uc3QgY2FzZU51bWJlckRhdGEgPSB0aGlzLmxpbmtDYXNlRm9ybS52YWx1ZS5jYXNlTnVtYmVyLnJlcGxhY2UoL1stIF0vZywgJycpO1xuICAgIHRoaXMuY2FzZXNTZXJ2aWNlXG4gICAgICAuZ2V0Q2FzZVZpZXdWMihjYXNlTnVtYmVyRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgIChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRGV0YWlscyA9IGNhc2VWaWV3O1xuICAgICAgICAgIGNvbnN0IGNhc2VMaW5rOiBDYXNlTGluayA9IHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGNhc2VWaWV3LmNhc2VfaWQsXG4gICAgICAgICAgICByZWFzb25zOiB0aGlzLmdldFNlbGVjdGVkQ2FzZVJlYXNvbnMoKSxcbiAgICAgICAgICAgIGNyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgY2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVR5cGVEZXNjcmlwdGlvbjogY2FzZVZpZXcuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlOiBjYXNlVmlldy5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVN0YXRlRGVzY3JpcHRpb246IGNhc2VWaWV3LnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGNhc2VWaWV3LmNhc2VfdHlwZSAmJiBjYXNlVmlldy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uICYmIGNhc2VWaWV3LmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoY2FzZVZpZXcpLFxuICAgICAgICAgIH07XG4gICAgICAgICAgY29uc3QgY2NkQXBpQ2FzZUxpbmtEYXRhOiBDQ0RDYXNlTGlua1R5cGUgPSB7XG4gICAgICAgICAgICBDYXNlUmVmZXJlbmNlOiBjYXNlVmlldy5jYXNlX2lkLFxuICAgICAgICAgICAgQ2FzZVR5cGU6IGNhc2VWaWV3LmNhc2VfdHlwZS5pZCxcbiAgICAgICAgICAgIENyZWF0ZWREYXRlVGltZTogbW9tZW50KG5ldyBEYXRlKCkpLmZvcm1hdCh0aGlzLklTT19GT1JNQVQpLFxuICAgICAgICAgICAgUmVhc29uRm9yTGluazogdGhpcy5nZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKClcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUucHVzaCh7IGlkOiBjYXNlVmlldy5jYXNlX2lkLnRvU3RyaW5nKCksIHZhbHVlOiBjY2RBcGlDYXNlTGlua0RhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goY2FzZUxpbmspO1xuICAgICAgICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICAgICAgICB0aGlzLmVtaXRMaW5rZWRDYXNlc1N0YXRlKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VOdW1iZXJFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yO1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1udW1iZXInLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlQ2hlY2tBZ2FpbkVycm9yLFxuICAgICAgICAgICAgZmllbGRJZDogJ2Nhc2VOdW1iZXInLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUoZmFsc2UpO1xuICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICAvLyBSZXR1cm4gbGlua2VkIGNhc2VzIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gIHB1YmxpYyBlbWl0TGlua2VkQ2FzZXNTdGF0ZShpc05hdmlnYXRlVG9OZXh0UGFnZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50TGlua2VkQ2FzZXNQYWdlOiBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogaXNOYXZpZ2F0ZVRvTmV4dFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VsZWN0ZWRDYXNlUmVhc29ucygpOiBMaW5rUmVhc29uW10ge1xuICAgIGNvbnN0IHNlbGVjdGVkUmVhc29ucyA9IFtdO1xuICAgIHRoaXMubGlua0Nhc2VGb3JtLmNvbnRyb2xzLnJlYXNvblR5cGUudmFsdWUuZm9yRWFjaChcbiAgICAgIChzZWxlY3RlZFJlYXNvbjogTGlua0Nhc2VSZWFzb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkUmVhc29uLnNlbGVjdGVkKSB7XG4gICAgICAgICAgc2VsZWN0ZWRSZWFzb25zLnB1c2goe1xuICAgICAgICAgICAgcmVhc29uQ29kZTogc2VsZWN0ZWRSZWFzb24ua2V5XG4gICAgICAgICAgfSBhcyBMaW5rUmVhc29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZENDRFR5cGVDYXNlUmVhc29uKCk6IExpbmtSZWFzb25bXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRSZWFzb25zID0gW107XG4gICAgdGhpcy5saW5rQ2FzZUZvcm0uY29udHJvbHMucmVhc29uVHlwZS52YWx1ZS5mb3JFYWNoKFxuICAgICAgKHNlbGVjdGVkUmVhc29uOiBMaW5rQ2FzZVJlYXNvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRSZWFzb24uc2VsZWN0ZWQpIHtcbiAgICAgICAgICBzZWxlY3RlZFJlYXNvbnMucHVzaCh7XG4gICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICBSZWFzb246IHNlbGVjdGVkUmVhc29uLmtleSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIHNlbGVjdGVkUmVhc29ucztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTGlua2VkQ2FzZVJlbW92ZShwb3MsIHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgfHwgW107XG4gICAgY29uc3QgdXBkYXRlZEl0ZW1zID0gY2FzZUZpZWxkVmFsdWUuZmlsdGVyKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgIT09IHNlbGVjdGVkQ2FzZVJlZmVyZW5jZSk7XG4gICAgaWYgKHVwZGF0ZWRJdGVtcykge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSB1cGRhdGVkSXRlbXM7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDYXNlcy5zcGxpY2UocG9zLCAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5jYXNlUmVhc29uRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuY2FzZU51bWJlckVycm9yID0gbnVsbDtcbiAgICB0aGlzLmNhc2VTZWxlY3Rpb25FcnJvciA9IG51bGw7XG4gICAgdGhpcy5ub1NlbGVjdGVkQ2FzZUVycm9yID0gbnVsbDtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzLmxlbmd0aCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSB0aGlzLnNlbGVjdGVkQ2FzZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubm9TZWxlY3RlZENhc2VFcnJvciA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5DYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnZHVtbXktY2FzZS1zZWxlY3Rpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLkNhc2VTZWxlY3Rpb25FcnJvcixcbiAgICAgICAgZmllbGRJZDogJ2Nhc2VSZWFzb24nLFxuICAgICAgfSk7XG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShuYXZpZ2F0ZVRvTmV4dFBhZ2UpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGxcIj5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLWxcIj5MaW5rIGNhc2VzIHRvIHt7Y2FzZU5hbWV9fSB7e2Nhc2VJZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5TZWxlY3QgYSZuYnNwO2Nhc2UgeW91IHdhbnQgdG8gbGluayB0byB0aGlzIGNhc2U8L2gxPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImxpbmtDYXNlRm9ybVwiICpuZ0lmPVwibGlua0Nhc2VGb3JtXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiPkVudGVyIGNhc2UgcmVmZXJlbmNlPC9oMz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlTnVtYmVyRXJyb3J9XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlTnVtYmVyRXJyb3JcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+RXJyb3I6PC9zcGFuPiB7e2Nhc2VOdW1iZXJFcnJvcn19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0yMFwiIGZvcm1Db250cm9sTmFtZT1cImNhc2VOdW1iZXJcIiBpZD1cIndpZHRoLTIwXCIgbmFtZT1cIndpZHRoLTIwXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5XaHkgc2hvdWxkIHRoZXNlIGNhc2VzIGJlIGxpbmtlZD88L2gzPlxuICAgICAgICA8ZGl2IGlkPVwid2FzdGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgIFNlbGVjdCBhbGwgdGhhdCBhcHBseS5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY2FzZVJlYXNvbkVycm9yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7Y2FzZVJlYXNvbkVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiIGZvcm1BcnJheU5hbWU9XCJyZWFzb25UeXBlXCIgaWQ9XCJjYXNlUmVhc29uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFjYXNlUmVhc29uRXJyb3J9XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgcmVhc29uIG9mIGxpbmtDYXNlUmVhc29ucztpbmRleCBhcyBwb3NcIiBbZm9ybUdyb3VwTmFtZV09XCJwb3NcIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJ7e3JlYXNvbi5rZXl9fVwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdGVkXCIgbmFtZT1cInBvc1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJyZWFzb24udmFsdWVfZW5cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tyZWFzb24ua2V5fX1cIj57e3JlYXNvbi52YWx1ZV9lbn19PC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGJyPjxicj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjYXNlU2VsZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tjYXNlU2VsZWN0aW9uRXJyb3J9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvbiBpZD1cInByb3Bvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdENhc2VJbmZvKClcIj5Qcm9wb3NlIGNhc2UgbGluazwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8aHI+XG4gICAgICA8YnI+PGJyPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBpZD1cImNhc2VOdW1iZXJcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogISFub1NlbGVjdGVkQ2FzZUVycm9yfVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm5vU2VsZWN0ZWRDYXNlRXJyb3JcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3tub1NlbGVjdGVkQ2FzZUVycm9yfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLW1cIj5Qcm9wb3NlZCBjYXNlIGxpbmtzIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZFwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiB3aWR0aD1cIjMwMFwiPkNhc2UgbmFtZSBhbmQgbnVtYmVyPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIxNTBcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCIyMDBcIj5TdGF0ZTwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHdpZHRoPVwiNDAwXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgd2lkdGg9XCI1MFwiPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBzZWxlY3RlZENhc2VzOyBsZXQgcG9zID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cC0tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd0YWJsZS1ncm91cC1lcnJvcic6Y2FzZVNlbGVjdGlvbkVycm9yICYmIGNhc2UuY2FzZVJlZmVyZW5jZSA9PT0gbGlua0Nhc2VGb3JtLnZhbHVlLmNhc2VOdW1iZXJ9XCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPiB7e2Nhc2UuY2FzZVJlZmVyZW5jZSB8IGNjZENhc2VSZWZlcmVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3RkPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7Y2FzZS5jYXNlU2VydmljZX19PC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbdGl0bGVdPVwiY2FzZS5jYXNlU3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlU3RhdGV9fTwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zXCI+e3tyZWFzb24ucmVhc29uQ29kZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08YnI+PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgW2F0dHIuaWRdPVwiY2FzZS5jYXNlUmVmZXJlbmNlXCIgKGNsaWNrKT1cIm9uU2VsZWN0ZWRMaW5rZWRDYXNlUmVtb3ZlKHBvcywgY2FzZS5jYXNlUmVmZXJlbmNlKTtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1saW5rIG5vLXZpc2l0ZWQtc3RhdGVcIj5SZW1vdmU8L2E+PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhc2VsZWN0ZWRDYXNlcy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNlwiPlxuICAgICAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -257,4 +257,4 @@ WriteLinkedCasesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WriteLinkedCase
257
257
  }], formGroup: [{
258
258
  type: Input
259
259
  }] }); })();
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy93cml0ZS1saW5rZWQtY2FzZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7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RSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDOztrR0EzSlUseUJBQXlCOzhEQUF6Qix5QkFBeUI7UUNqQnRDLDBFQVdNO1FBQ04sOEJBQXdFO1FBQ3RFLDhCQUEyRDtRQUN6RCw0RkFHZTtRQUNmLDRGQUdlO1FBQ2YsNEZBR2U7UUFDZiw0RkFHZTtRQUNmLDRGQUdlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQU07O1FBbkNBLG1EQUE4QjtRQVlZLGVBQXVCO1FBQXZCLHlDQUF1QjtRQUN2QyxlQUE0QjtRQUE1Qiw4Q0FBNEI7UUFDekMsZUFBK0M7UUFBL0Msb0VBQStDO1FBSS9DLGVBQThDO1FBQTlDLG1FQUE4QztRQUk5QyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJeEMsZUFBMEM7UUFBMUMsK0RBQTBDO1FBSTFDLGVBQWlEO1FBQWpELHNFQUFpRDs7dUZEYnZELHlCQUF5QjtjQUpyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLHFDQUFxQzthQUNuRDtnTUFJUSxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixNQUFNO1lBR0Esb0JBQW9CO2tCQUQxQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUVkaXRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXBhZ2UvY2FzZS1lZGl0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0L2Nhc2UtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IENhc2VMaW5rLCBMaW5rZWRDYXNlc1N0YXRlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLCBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtbGlua2VkLWNhc2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVMaW5rZWRDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUVkaXRQYWdlQ29tcG9uZW50OiBDYXNlRWRpdFBhZ2VDb21wb25lbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KClcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNKb3VybmV5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZXMgPSBMaW5rZWRDYXNlc1BhZ2VzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzID0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRWRpdDogQ2FzZUVkaXRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uRGF0YVNlcnZpY2U6IENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHJlYXNvbkNvZGVBUEl1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRSRENvbW1vbkRhdGFBcGlVcmwoKSArICcvbG92L2NhdGVnb3JpZXMvQ2FzZUxpbmtpbmdSZWFzb25Db2RlJztcbiAgICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZWFzb25zID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciA9XG4gICAgICB0aGlzLmNhc2VFZGl0UGFnZUNvbXBvbmVudC5ldmVudFRyaWdnZXIubmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVM7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ292dWstaGVhZGluZy1sJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LnZhbGlkYXRpb25FcnJvcnMgPSBbXTtcblxuICAgIGlmIChsaW5rZWRDYXNlc1N0YXRlLm5hdmlnYXRlVG9OZXh0UGFnZSkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1BhZ2UgPSB0aGlzLmdldE5leHRQYWdlKGxpbmtlZENhc2VzU3RhdGUpO1xuICAgICAgdGhpcy5zZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTtcbiAgICAgIHRoaXMucHJvY2VlZFRvTmV4dFBhZ2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcyAmJiBsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMubGVuZ3RoKSB7XG4gICAgICAgIGxpbmtlZENhc2VzU3RhdGUuZXJyb3JNZXNzYWdlcy5mb3JFYWNoKChlcnJvck1lc3NhZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRWRpdFBhZ2VDb21wb25lbnQudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsgaWQ6IGVycm9yTWVzc2FnZS5maWVsZElkLCBtZXNzYWdlOiBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb259KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQXRGaW5hbFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlclxuICAgICAgICA/IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5MaW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3JcbiAgICAgICAgOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuVW5saW5rQ2FzZXNOYXZpZ2F0aW9uRXJyb3I7XG5cbiAgICBjb25zdCBidXR0b25JZCA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCA9PT0gMFxuICAgICAgPyAnYmFjay1idXR0b24nXG4gICAgICA6ICduZXh0LWJ1dHRvbic7XG5cbiAgICB0aGlzLmNhc2VFZGl0UGFnZUNvbXBvbmVudC5jYXNlTGlua0Vycm9yID0ge1xuICAgICAgY29tcG9uZW50SWQ6IGJ1dHRvbklkLFxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZWVkVG9OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0F0RmluYWxQYWdlKCkpIHtcbiAgICAgIC8vIENvbnRpbnVlIGJ1dHRvbiBldmVudCBtdXN0IGJlIGFsbG93ZWQgaW4gZmluYWwgcGFnZVxuICAgICAgdGhpcy5jYXNlRWRpdFBhZ2VDb21wb25lbnQuY2FzZUxpbmtFcnJvciA9IG51bGw7XG4gICAgICAvLyBUcmlnZ2VyIHZhbGlkYXRpb24gdG8gY2xlYXIgdGhlIFwibm90QXRGaW5hbFBhZ2VcIiBlcnJvciBpZiBub3cgYXQgdGhlIGZpbmFsIHN0YXRlXG4gICAgICB0aGlzLmZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAvLyB1cGRhdGUgZm9ybSB2YWx1ZVxuICAgICAgdGhpcy5vbkxpbmtlZENhc2VzU2VsZWN0ZWQuZW1pdCgpO1xuICAgICAgKHRoaXMuY2FzZUVkaXQuZm9ybS5jb250cm9sc1snZGF0YSddIGFzIGFueSkgPSAgbmV3IEZvcm1Hcm91cCh7Y2FzZUxpbmtzOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUpfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQXRGaW5hbFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSB0aGlzLmxpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTO1xuICB9XG5cbiAgcHVibGljIGdldE5leHRQYWdlKGxpbmtlZENhc2VzU3RhdGU6IExpbmtlZENhc2VzU3RhdGUpOiBudW1iZXIge1xuICAgIGlmICgodGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVCkgfHxcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGUuY3VycmVudExpbmtlZENhc2VzUGFnZSA9PT0gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlMgJiYgbGlua2VkQ2FzZXNTdGF0ZS5uYXZpZ2F0ZVRvUHJldmlvdXNQYWdlKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmlzTGlua2VkQ2FzZXNKb3VybmV5XG4gICAgICAgICAgICA/IExpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXG4gICAgICAgICAgICA6IExpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0U7XG4gICAgfVxuICAgIHJldHVybiBMaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaW5rZWRDYXNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VJZCkuc3Vic2NyaWJlKChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgIGNvbnN0IGNhc2VWaWV3RmlsdGVyZWQgPSBjYXNlVmlldy50YWJzLmZpbHRlcih0YWIgPT4ge1xuICAgICAgICBjb25zdCBsaW5rRmllbGQgPSB0YWIuZmllbGRzLnNvbWUoXG4gICAgICAgICAgKHtmaWVsZF90eXBlfSkgPT4gZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSAmJiBmaWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCA9PT0gJ0Nhc2VMaW5rJ1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbGlua0ZpZWxkO1xuICAgICAgfSk7XG4gICAgICBpZiAoY2FzZVZpZXdGaWx0ZXJlZCkge1xuICAgICAgICBjb25zdCBjYXNlTGlua0ZpZWxkVmFsdWUgPSBjYXNlVmlld0ZpbHRlcmVkLm1hcChmaWx0ZXJlZCA9PiBmaWx0ZXJlZC5maWVsZHMubGVuZ3RoICYmIGZpbHRlcmVkLmZpZWxkc1swXS52YWx1ZSlcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgPSBjYXNlTGlua0ZpZWxkVmFsdWUubGVuZ3RoID8gY2FzZUxpbmtGaWVsZFZhbHVlWzBdIDogW107XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpO1xuICAgICAgfVxuICAgICAgLy8gSW5pdGlhbGlzZSB0aGUgZmlyc3QgcGFnZSB0byBkaXNwbGF5XG4gICAgICB0aGlzLmxpbmtlZENhc2VzUGFnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICYmICF0aGlzLmxpbmtlZENhc2VzU2VydmljZS5zZXJ2ZXJMaW5rZWRBcGlFcnJvcilcbiAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcbiAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLk5PX0xJTktFRF9DQVNFUztcbiAgICAgIC8vIEluaXRpYWxpc2UgdGhlIGVycm9yIHRvIGJlIGRpc3BsYXllZCB3aGVuIGNsaWNrZWQgb24gQ29udGludWUgYnV0dG9uXG4gICAgICB0aGlzLnNldENvbnRpbnVlQnV0dG9uVmFsaWRhdGlvbkVycm9yTWVzc2FnZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9FcnJvckVsZW1lbnQoZWxlbWVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZWxlbWVudElkKSB7XG4gICAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7XG4gICAgICBpZiAoaHRtbEVsZW1lbnQpIHtcbiAgICAgICAgaHRtbEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnY2VudGVyJyB9KTtcbiAgICAgICAgaHRtbEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gRXJyb3IgbWVzc2FnZSBzdW1tYXJ5IC0tPlxuPGRpdiAqbmdJZj1cImVycm9yTWVzc2FnZXMubGVuZ3RoID4gMFwiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIiByb2xlPVwiYWxlcnRcIiB0YWJpbmRleD1cIi0xXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5XCI+XG4gIDxoMiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlXCIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgVGhlcmUgaXMgYSBwcm9ibGVtXG4gIDwvaDI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGVycm9yTWVzc2FnZSBvZiBlcnJvck1lc3NhZ2VzXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5XCI+XG4gICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0XCI+XG4gICAgICA8bGk+XG4gICAgICAgIDxhIChjbGljayk9XCJuYXZpZ2F0ZVRvRXJyb3JFbGVtZW50KGVycm9yTWVzc2FnZS5maWVsZElkKVwiIGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvclwiPnt7ZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufX08L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMlwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nU3dpdGNoXT1cImxpbmtlZENhc2VzUGFnZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuQkVGT1JFX1lPVV9TVEFSVFwiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtYmVmb3JlLXlvdS1zdGFydFxuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5OT19MSU5LRURfQ0FTRVNcIj5cbiAgICAgIDxjY2Qtbm8tbGlua2VkLWNhc2VzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1uby1saW5rZWQtY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5MSU5LX0NBU0VcIj5cbiAgICAgIDxjY2QtbGluay1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtbGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLlVOTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLXVubGluay1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2QtdW5saW5rLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTXCI+XG4gICAgICA8Y2NkLWxpbmtlZC1jYXNlcy1jaGVjay15b3VyLWFuc3dlcnNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1jaGVjay15b3VyLWFuc3dlcnM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGlua2VkLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtbGluay9jb21wb25lbnRzL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvY29tcG9uZW50cy93cml0ZS1saW5rZWQtY2FzZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7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RSxDQUFDO2FBQ3JCO1NBQ0Y7SUFDSCxDQUFDOztrR0ExSlUseUJBQXlCOzhEQUF6Qix5QkFBeUI7UUNqQnRDLDBFQVdNO1FBQ04sOEJBQXdFO1FBQ3RFLDhCQUEyRDtRQUN6RCw0RkFHZTtRQUNmLDRGQUdlO1FBQ2YsNEZBR2U7UUFDZiw0RkFHZTtRQUNmLDRGQUdlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQU07O1FBbkNBLG1EQUE4QjtRQVlZLGVBQXVCO1FBQXZCLHlDQUF1QjtRQUN2QyxlQUE0QjtRQUE1Qiw4Q0FBNEI7UUFDekMsZUFBK0M7UUFBL0Msb0VBQStDO1FBSS9DLGVBQThDO1FBQTlDLG1FQUE4QztRQUk5QyxlQUF3QztRQUF4Qyw2REFBd0M7UUFJeEMsZUFBMEM7UUFBMUMsK0RBQTBDO1FBSTFDLGVBQWlEO1FBQWpELHNFQUFpRDs7dUZEYnZELHlCQUF5QjtjQUpyQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsV0FBVyxFQUFFLHFDQUFxQzthQUNuRDtnTUFJUSxVQUFVO2tCQURoQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixLQUFLO1lBSUMscUJBQXFCO2tCQUQzQixNQUFNO1lBR0Esb0JBQW9CO2tCQUQxQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLXZpZXcnO1xuaW1wb3J0IHsgQ29tbW9uRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9jb21tb24tZGF0YS1zZXJ2aWNlL2NvbW1vbi1kYXRhLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUVkaXRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0LXBhZ2UvY2FzZS1lZGl0LXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhc2VFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3IvY2FzZS1lZGl0L2Nhc2UtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IENhc2VMaW5rLCBMaW5rZWRDYXNlc1N0YXRlIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcywgTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLCBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtbGlua2VkLWNhc2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWxpbmtlZC1jYXNlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVMaW5rZWRDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmllbGQ6IENhc2VGaWVsZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUVkaXRQYWdlQ29tcG9uZW50OiBDYXNlRWRpdFBhZ2VDb21wb25lbnQ7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkxpbmtlZENhc2VzU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KClcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNKb3VybmV5ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBsaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgcHVibGljIGxpbmtlZENhc2VzUGFnZXMgPSBMaW5rZWRDYXNlc1BhZ2VzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzID0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRWRpdDogQ2FzZUVkaXRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uRGF0YVNlcnZpY2U6IENvbW1vbkRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzLmNhc2VfaWQ7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKHRoaXMuY2FzZUVkaXQuY2FzZURldGFpbHMpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZURldGFpbHMgPSB0aGlzLmNhc2VFZGl0LmNhc2VEZXRhaWxzO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZWRpdE1vZGUgPSBmYWxzZTtcbiAgICAgIGNvbnN0IHJlYXNvbkNvZGVBUEl1cmwgPSB0aGlzLmFwcENvbmZpZy5nZXRSRENvbW1vbkRhdGFBcGlVcmwoKSArICcvbG92L2NhdGVnb3JpZXMvQ2FzZUxpbmtpbmdSZWFzb25Db2RlJztcbiAgICAgIHRoaXMuY29tbW9uRGF0YVNlcnZpY2UuZ2V0UmVmRGF0YShyZWFzb25Db2RlQVBJdXJsKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiByZWFzb25zID0+IHtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgPSByZWFzb25zLmxpc3Rfb2ZfdmFsdWVzLnNvcnQoKGEsIGIpID0+IChhLnZhbHVlX2VuID4gYi52YWx1ZV9lbikgPyAxIDogLTEpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciA9XG4gICAgICB0aGlzLmNhc2VFZGl0UGFnZUNvbXBvbmVudC5ldmVudFRyaWdnZXIubmFtZSA9PT0gTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJzLkxJTktfQ0FTRVM7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGxldCBsYWJlbEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ292dWstaGVhZGluZy1sJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQobGlua2VkQ2FzZXNTdGF0ZTogTGlua2VkQ2FzZXNTdGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LnZhbGlkYXRpb25FcnJvcnMgPSBbXTtcbiAgICBpZiAobGlua2VkQ2FzZXNTdGF0ZS5uYXZpZ2F0ZVRvTmV4dFBhZ2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNQYWdlID0gdGhpcy5nZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlKTtcbiAgICAgIHRoaXMuc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk7XG4gICAgICB0aGlzLnByb2NlZWRUb05leHRQYWdlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMgJiYgbGlua2VkQ2FzZXNTdGF0ZS5lcnJvck1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgICBsaW5rZWRDYXNlc1N0YXRlLmVycm9yTWVzc2FnZXMuZm9yRWFjaCgoZXJyb3JNZXNzYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiBlcnJvck1lc3NhZ2UuZmllbGRJZCwgbWVzc2FnZTogZXJyb3JNZXNzYWdlLmRlc2NyaXB0aW9ufSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rZWRDYXNlc1BhZ2UgPT09IHRoaXMubGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29udGludWVCdXR0b25WYWxpZGF0aW9uRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXJcbiAgICAgICAgPyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuTGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yXG4gICAgICAgIDogTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlVubGlua0Nhc2VzTmF2aWdhdGlvbkVycm9yO1xuXG4gICAgY29uc3QgYnV0dG9uSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcy5sZW5ndGggPT09IDBcbiAgICAgID8gJ2JhY2stYnV0dG9uJ1xuICAgICAgOiAnbmV4dC1idXR0b24nO1xuXG4gICAgdGhpcy5jYXNlRWRpdFBhZ2VDb21wb25lbnQuY2FzZUxpbmtFcnJvciA9IHtcbiAgICAgIGNvbXBvbmVudElkOiBidXR0b25JZCxcbiAgICAgIGVycm9yTWVzc2FnZVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZFRvTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBdEZpbmFsUGFnZSgpKSB7XG4gICAgICAvLyBDb250aW51ZSBidXR0b24gZXZlbnQgbXVzdCBiZSBhbGxvd2VkIGluIGZpbmFsIHBhZ2VcbiAgICAgIHRoaXMuY2FzZUVkaXRQYWdlQ29tcG9uZW50LmNhc2VMaW5rRXJyb3IgPSBudWxsO1xuICAgICAgLy8gVHJpZ2dlciB2YWxpZGF0aW9uIHRvIGNsZWFyIHRoZSBcIm5vdEF0RmluYWxQYWdlXCIgZXJyb3IgaWYgbm93IGF0IHRoZSBmaW5hbCBzdGF0ZVxuICAgICAgdGhpcy5mb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgLy8gdXBkYXRlIGZvcm0gdmFsdWVcbiAgICAgIHRoaXMub25MaW5rZWRDYXNlc1NlbGVjdGVkLmVtaXQoKTtcbiAgICAgICh0aGlzLmNhc2VFZGl0LmZvcm0uY29udHJvbHNbJ2RhdGEnXSBhcyBhbnkpID0gIG5ldyBGb3JtR3JvdXAoe2Nhc2VMaW5rczogbmV3IEZvcm1Db250cm9sKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlKX0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0F0RmluYWxQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtlZENhc2VzUGFnZSA9PT0gdGhpcy5saW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSUztcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0UGFnZShsaW5rZWRDYXNlc1N0YXRlOiBMaW5rZWRDYXNlc1N0YXRlKTogbnVtYmVyIHtcbiAgICBpZiAoKHRoaXMubGlua2VkQ2FzZXNQYWdlID09PSBMaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlQpIHx8XG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlLmN1cnJlbnRMaW5rZWRDYXNlc1BhZ2UgPT09IExpbmtlZENhc2VzUGFnZXMuQ0hFQ0tfWU9VUl9BTlNXRVJTICYmIGxpbmtlZENhc2VzU3RhdGUubmF2aWdhdGVUb1ByZXZpb3VzUGFnZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0xpbmtlZENhc2VzSm91cm5leVxuICAgICAgICAgICAgPyBMaW5rZWRDYXNlc1BhZ2VzLkxJTktfQ0FTRVxuICAgICAgICAgICAgOiBMaW5rZWRDYXNlc1BhZ2VzLlVOTElOS19DQVNFO1xuICAgIH1cbiAgICByZXR1cm4gTGlua2VkQ2FzZXNQYWdlcy5DSEVDS19ZT1VSX0FOU1dFUlM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMih0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQpLnN1YnNjcmliZSgoY2FzZVZpZXc6IENhc2VWaWV3KSA9PiB7XG4gICAgICBjb25zdCBjYXNlVmlld0ZpbHRlcmVkID0gY2FzZVZpZXcudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgICAgY29uc3QgbGlua0ZpZWxkID0gdGFiLmZpZWxkcy5zb21lKFxuICAgICAgICAgICh7ZmllbGRfdHlwZX0pID0+IGZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUgJiYgZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUuaWQgPT09ICdDYXNlTGluaydcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGxpbmtGaWVsZDtcbiAgICAgIH0pO1xuICAgICAgaWYgKGNhc2VWaWV3RmlsdGVyZWQpIHtcbiAgICAgICAgY29uc3QgY2FzZUxpbmtGaWVsZFZhbHVlID0gY2FzZVZpZXdGaWx0ZXJlZC5tYXAoZmlsdGVyZWQgPT4gZmlsdGVyZWQuZmllbGRzLmxlbmd0aCAmJiBmaWx0ZXJlZC5maWVsZHNbMF0udmFsdWUpXG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VGaWVsZFZhbHVlID0gY2FzZUxpbmtGaWVsZFZhbHVlLmxlbmd0aCA/IGNhc2VMaW5rRmllbGRWYWx1ZVswXSA6IFtdO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIC8vIEluaXRpYWxpc2UgdGhlIGZpcnN0IHBhZ2UgdG8gZGlzcGxheVxuICAgICAgdGhpcy5saW5rZWRDYXNlc1BhZ2UgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUgJiYgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUZpZWxkVmFsdWUubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhdGhpcy5saW5rZWRDYXNlc1NlcnZpY2Uuc2VydmVyTGlua2VkQXBpRXJyb3IpXG4gICAgICAgID8gTGlua2VkQ2FzZXNQYWdlcy5CRUZPUkVfWU9VX1NUQVJUXG4gICAgICAgIDogTGlua2VkQ2FzZXNQYWdlcy5OT19MSU5LRURfQ0FTRVM7XG4gICAgICAvLyBJbml0aWFsaXNlIHRoZSBlcnJvciB0byBiZSBkaXNwbGF5ZWQgd2hlbiBjbGlja2VkIG9uIENvbnRpbnVlIGJ1dHRvblxuICAgICAgdGhpcy5zZXRDb250aW51ZUJ1dHRvblZhbGlkYXRpb25FcnJvck1lc3NhZ2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuYXZpZ2F0ZVRvRXJyb3JFbGVtZW50KGVsZW1lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGVsZW1lbnRJZCkge1xuICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpO1xuICAgICAgaWYgKGh0bWxFbGVtZW50KSB7XG4gICAgICAgIGh0bWxFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgIGh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIEVycm9yIG1lc3NhZ2Ugc3VtbWFyeSAtLT5cbjxkaXYgKm5nSWY9XCJlcnJvck1lc3NhZ2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZVwiIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgIFRoZXJlIGlzIGEgcHJvYmxlbVxuICA8L2gyPlxuICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvck1lc3NhZ2Ugb2YgZXJyb3JNZXNzYWdlc1wiIGNsYXNzPVwiZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keVwiPlxuICAgIDx1bCBjbGFzcz1cImdvdnVrLWxpc3QgZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdFwiPlxuICAgICAgPGxpPlxuICAgICAgICA8YSAoY2xpY2spPVwibmF2aWdhdGVUb0Vycm9yRWxlbWVudChlcnJvck1lc3NhZ2UuZmllbGRJZClcIiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JcIj57e2Vycm9yTWVzc2FnZS5kZXNjcmlwdGlvbn19PC9hPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ1N3aXRjaF09XCJsaW5rZWRDYXNlc1BhZ2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkJFRk9SRV9ZT1VfU1RBUlRcIj5cbiAgICAgIDxjY2QtbGlua2VkLWNhc2VzLWJlZm9yZS15b3Utc3RhcnRcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmtlZC1jYXNlcy1iZWZvcmUteW91LXN0YXJ0PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTk9fTElOS0VEX0NBU0VTXCI+XG4gICAgICA8Y2NkLW5vLWxpbmtlZC1jYXNlc1xuICAgICAgICAobGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZXIpPVwib25MaW5rZWRDYXNlc1N0YXRlRW1pdHRlZCgkZXZlbnQpXCI+PC9jY2Qtbm8tbGlua2VkLWNhc2VzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxpbmtlZENhc2VzUGFnZXMuTElOS19DQVNFXCI+XG4gICAgICA8Y2NkLWxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLWxpbmstY2FzZXM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRVwiPlxuICAgICAgPGNjZC11bmxpbmstY2FzZXNcbiAgICAgICAgKGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyKT1cIm9uTGlua2VkQ2FzZXNTdGF0ZUVtaXR0ZWQoJGV2ZW50KVwiPjwvY2NkLXVubGluay1jYXNlcz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsaW5rZWRDYXNlc1BhZ2VzLkNIRUNLX1lPVVJfQU5TV0VSU1wiPlxuICAgICAgPGNjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzXG4gICAgICAgIChsaW5rZWRDYXNlc1N0YXRlRW1pdHRlcik9XCJvbkxpbmtlZENhc2VzU3RhdGVFbWl0dGVkKCRldmVudClcIj48L2NjZC1saW5rZWQtY2FzZXMtY2hlY2steW91ci1hbnN3ZXJzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,10 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { forkJoin } from 'rxjs';
3
- import { SearchService } from '../../../../services';
4
- import { JurisdictionService } from './jurisdiction.service';
3
+ import { JurisdictionService, SearchService } from '../../../../services';
5
4
  import * as i0 from "@angular/core";
6
- import * as i1 from "./jurisdiction.service";
7
- import * as i2 from "../../../../services";
5
+ import * as i1 from "../../../../services";
8
6
  export class LinkedCasesService {
9
7
  constructor(jurisdictionService, searchService) {
10
8
  this.jurisdictionService = jurisdictionService;
@@ -128,9 +126,9 @@ export class LinkedCasesService {
128
126
  }
129
127
  }
130
128
  LinkedCasesService.CASE_NAME_MISSING_TEXT = 'Case name missing';
131
- LinkedCasesService.ɵfac = function LinkedCasesService_Factory(t) { return new (t || LinkedCasesService)(i0.ɵɵinject(i1.JurisdictionService), i0.ɵɵinject(i2.SearchService)); };
129
+ LinkedCasesService.ɵfac = function LinkedCasesService_Factory(t) { return new (t || LinkedCasesService)(i0.ɵɵinject(i1.JurisdictionService), i0.ɵɵinject(i1.SearchService)); };
132
130
  LinkedCasesService.ɵprov = i0.ɵɵdefineInjectable({ token: LinkedCasesService, factory: LinkedCasesService.ɵfac });
133
131
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesService, [{
134
132
  type: Injectable
135
- }], function () { return [{ type: i1.JurisdictionService }, { type: i2.SearchService }]; }, null); })();
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc3RCxNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixZQUE2QixtQkFBd0MsRUFDeEMsYUFBNEI7UUFENUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWpCbEQsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBSWxDLG9CQUFlLEdBQXNCLEVBQUUsQ0FBQztRQUN4QyxnQkFBVyxHQUFlLEVBQUUsQ0FBQztRQUM3QixxQkFBZ0IsR0FBZSxFQUFFLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQiwwQkFBcUIsR0FBbUIsRUFBRSxDQUFDO1FBRTNDLGdCQUFXLEdBQW9DLElBQUksQ0FBQztRQUNwRCx5QkFBb0IsR0FBb0MsSUFBSSxDQUFDO1FBQzdELDRCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNoQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFXMUIsK0JBQTBCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDbEQsT0FBTyxNQUFNLENBQUMsTUFBTSxD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QUFDO1lBQzNDLEtBQUssbUJBQW1CO2dCQUN0QixPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQztZQUNsRDtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLG1CQUE2QjtRQUM5QyxJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLENBQUM7WUFDbEcsSUFBSSwwQkFBMEIsRUFBRTtnQkFDOUIsUUFBUSxHQUFHLDBCQUEwQixDQUFDLEtBQUssQ0FBQzthQUM3QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUF2SXVCLHlDQUFzQixHQUFHLG1CQUFtQixDQUFDO29GQUYxRCxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkoY2FzZUlkczogYW55W10sIHNpemU6IG51bWJlcik6IEVTUXVlcnlUeXBlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXVlcnk6IHtcbiAgICAgICAgdGVybXM6IHtcbiAgICAgICAgICByZWZlcmVuY2U6IGNhc2VJZHMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSkge1xuICAgIGNvbnN0IGNhc2VJbmZvID0gdGhpcy5jYXNlRmllbGRWYWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgPT09IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkKTtcbiAgICByZXR1cm4gY2FzZUluZm8gJiYge1xuICAgICAgY2FzZVJlZmVyZW5jZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQsXG4gICAgICBjYXNlTmFtZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzLmNhc2VOYW1lSG1jdHNJbnRlcm5hbCB8fCBMaW5rZWRDYXNlc1NlcnZpY2UuQ0FTRV9OQU1FX01JU1NJTkdfVEVYVCxcbiAgICAgIGNhc2VUeXBlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdDQVNFX1RZUEUnLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tDQVNFX1RZUEVdJ10pLFxuICAgICAgc2VydmljZTogdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnSlVSSVNESUNUSU9OJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbSlVSSVNESUNUSU9OXSddKSxcbiAgICAgIHN0YXRlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdTVEFURScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW1NUQVRFXSddKSxcbiAgICAgIHJlYXNvbnM6IGNhc2VJbmZvLnZhbHVlICYmIGNhc2VJbmZvLnZhbHVlLlJlYXNvbkZvckxpbmsgJiZcbiAgICAgICAgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluay5tYXAocmVhc29uID0+IHJlYXNvbi52YWx1ZSAmJiByZWFzb24udmFsdWUuUmVhc29uKSxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pIHtcbiAgICByZXR1cm4gZm9ya0pvaW4oc2VhcmNoQ2FzZXNSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCkge1xuICAgIGNvbnN0IHNlYXJjaENhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICBjb25zdCBsaW5rZWRDYXNlSWRzID0gdGhpcy5ncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSh0aGlzLmNhc2VGaWVsZFZhbHVlLCAnQ2FzZVR5cGUnKTtcbiAgICBPYmplY3Qua2V5cyhsaW5rZWRDYXNlSWRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBlc1F1ZXJ5ID0gdGhpcy5jb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkobGlua2VkQ2FzZUlkc1trZXldLCAxMDApXG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hDYXNlc0J5SWRzKGtleSwgZXNRdWVyeSwgU2VhcmNoU2VydmljZS5WSUVXX1dPUktCQVNLRVQpO1xuICAgICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5wdXNoKHF1ZXJ5KTtcbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgcmVzcG9uc2UucmVzdWx0cy5mb3JFYWNoKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzdWx0KSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhc2VMaW5rcyA9IGNhc2VzUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlYXNvbkNvZGU6IHJlYXNvblxuICAgICAgICAgICAgICB9IGFzIExpbmtSZWFzb25cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbmtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSBjYXNlTGlua3M7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSBudWxsO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB7XG4gICAgICAgICAgaWQ6ICdiYWNrZW5kRXJyb3InLCBtZXNzYWdlOiAnU29tZSBjYXNlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudCdcbiAgICAgICAgfVxuICAgICAgfVxuICAgIClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlICYmXG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkKTtcbiAgICBjb25zdCBzZWxlY3RlZENhc2VUeXBlID0gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uY2FzZVR5cGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5pZCk7XG4gICAgY29uc3Qgc3RhdGUgPSBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUuc3RhdGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlKTtcbiAgICBzd2l0Y2ggKGZpZWxkTmFtZSkge1xuICAgICAgY2FzZSAnSlVSSVNESUNUSU9OJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkSnVyaXNkaWN0aW9uICYmIHNlbGVjdGVkSnVyaXNkaWN0aW9uLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnQ0FTRV9UWVBFJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5uYW1lO1xuICAgICAgY2FzZSAnQ0FTRV9UWVBFX0RFU0NSSVBUSU9OJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5kZXNjcmlwdGlvbjtcbiAgICAgIGNhc2UgJ1NUQVRFJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLm5hbWUgfHwgZmllbGRWYWx1ZTtcbiAgICAgIGNhc2UgJ1NUQVRFX0RFU0NSSVBUSU9OJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLmRlc2NyaXB0aW9uIHx8IGZpZWxkVmFsdWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZU5hbWUoc2VhcmNoQ2FzZXNSZXNwb25zZTogQ2FzZVZpZXcpOiBzdHJpbmcge1xuICAgIGxldCBjYXNlTmFtZSA9IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhUO1xuICAgIGNvbnN0IHRhYnMgPSBzZWFyY2hDYXNlc1Jlc3BvbnNlLnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICBjb25zdCBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZCA9IHRhYi5maWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gJ2Nhc2VOYW1lSG1jdHNJbnRlcm5hbCcpO1xuICAgICAgaWYgKGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkKSB7XG4gICAgICAgIGNhc2VOYW1lID0gY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQudmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNhc2VOYW1lO1xuICB9XG59XG4iXX0=
133
+ }], function () { return [{ type: i1.JurisdictionService }, { type: i1.SearchService }]; }, null); })();
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWxpbmsvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQTZCLG1CQUF3QyxFQUN4QyxhQUE0QjtRQUQ1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBakJsRCxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFJbEMsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGdCQUFXLEdBQWUsRUFBRSxDQUFDO1FBQzdCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLDBCQUFxQixHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0JBQVcsR0FBb0MsSUFBSSxDQUFDO1FBQ3BELHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFDN0QsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQiwrQkFBMEIsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7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S0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksVUFBVSxDQUFDO1lBQ2xEO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsbUJBQTZCO1FBQzlDLElBQUksUUFBUSxHQUFHLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssdUJBQXVCLENBQUMsQ0FBQztZQUNsRyxJQUFJLDBCQUEwQixFQUFFO2dCQUM5QixRQUFRLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxDQUFDO2FBQzdDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOztBQXZJdUIseUNBQXNCLEdBQUcsbUJBQW1CLENBQUM7b0ZBRjFELGtCQUFrQjswREFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQjt1RkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vY2FzZS12aWV3JztcbmltcG9ydCB7IEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2p1cmlzZGljdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTG92UmVmRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VMaW5rLCBFU1F1ZXJ5VHlwZSwgTGlua1JlYXNvbiB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfTkFNRV9NSVNTSU5HX1RFWFQgPSAnQ2FzZSBuYW1lIG1pc3NpbmcnO1xuXG4gIHB1YmxpYyBjYXNlRmllbGRWYWx1ZSA9IFtdO1xuICBwdWJsaWMgaXNMaW5rZWRDYXNlc0V2ZW50VHJpZ2dlciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZURldGFpbHM6IENhc2VWaWV3O1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgbGlua0Nhc2VSZWFzb25zOiBMb3ZSZWZEYXRhTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgbGlua2VkQ2FzZXM6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGluaXRpYWxDYXNlTGlua3M6IENhc2VMaW5rW10gPSBbXTtcbiAgcHVibGljIGVkaXRNb2RlID0gZmFsc2U7XG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zUmVzcG9uc2U6IEp1cmlzZGljdGlvbltdID0gW107XG4gIHB1YmxpYyBzZXJ2ZXJKdXJpc2RpY3Rpb25FcnJvcjogYm9vbGVhbjtcbiAgcHVibGljIHNlcnZlckVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ID0gbnVsbDtcbiAgcHVibGljIHNlcnZlckxpbmtlZEFwaUVycm9yOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ID0gbnVsbDtcbiAgcHVibGljIGlzU2VydmVyUmVhc29uQ29kZUVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBjYXNlSnVyaXNkaWN0aW9uSUQgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkganVyaXNkaWN0aW9uU2VydmljZTogSnVyaXNkaWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlKSB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmdldEp1cmlzZGljdGlvbnMoKS5zdWJzY3JpYmUoKGp1cmlzZGljdGlvbnMpID0+IHtcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlID0ganVyaXNkaWN0aW9ucztcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIHRoaXMuc2VydmVySnVyaXNkaWN0aW9uRXJyb3IgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlID0gKGFyck9iaiwga2V5KSA9PiB7XG4gICAgcmV0dXJuIGFyck9iai5yZWR1Y2UoKHJ2LCB4KSA9PiB7XG4gICAgICAocnZbeC52YWx1ZVtrZXldXSA9IHJ2W3gudmFsdWVba2V5XV0gfHwgW10pLnB1c2goeC52YWx1ZVsnQ2FzZVJlZmVyZW5jZSddKTtcbiAgICAgIHJldHVybiBydjtcbiAgICB9LCB7fSk7XG4gIH07XG5cbiAgcHVibGljIGNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShjYXNlSWRzOiBhbnlbXSwgc2l6ZTogbnVtYmVyKTogRVNRdWVyeVR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeToge1xuICAgICAgICB0ZXJtczoge1xuICAgICAgICAgIHJlZmVyZW5jZTogY2FzZUlkcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzaXplLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbWFwUmVzcG9uc2UoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8udmFsdWUgJiYgY2FzZUluZm8udmFsdWUuUmVhc29uRm9yTGluayAmJlxuICAgICAgICBjYXNlSW5mby52YWx1ZS5SZWFzb25Gb3JMaW5rLm1hcChyZWFzb24gPT4gcmVhc29uLnZhbHVlICYmIHJlYXNvbi52YWx1ZS5SZWFzb24pLFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSkge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKSB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGxpbmtlZENhc2VJZHMgPSB0aGlzLmdyb3VwTGlua2VkQ2FzZXNCeUNhc2VUeXBlKHRoaXMuY2FzZUZpZWxkVmFsdWUsICdDYXNlVHlwZScpO1xuICAgIE9iamVjdC5rZXlzKGxpbmtlZENhc2VJZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGVzUXVlcnkgPSB0aGlzLmNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShsaW5rZWRDYXNlSWRzW2tleV0sIDEwMClcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaENhc2VzQnlJZHMoa2V5LCBlc1F1ZXJ5LCBTZWFyY2hTZXJ2aWNlLlZJRVdfV09SS0JBU0tFVCk7XG4gICAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlLnB1c2gocXVlcnkpO1xuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY2FzZXNSZXNwb25zZSA9IFtdO1xuICAgICAgICBzZWFyY2hDYXNlcy5mb3JFYWNoKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICByZXNwb25zZS5yZXN1bHRzLmZvckVhY2goKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICBjYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5tYXBSZXNwb25zZShyZXN1bHQpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgY2FzZUxpbmtzID0gY2FzZXNSZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVhc29uQ29kZTogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvblxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGlua1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IG51bGw7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJMaW5rZWRBcGlFcnJvciA9IHtcbiAgICAgICAgICBpZDogJ2JhY2tlbmRFcnJvcicsIG1lc3NhZ2U6ICdTb21lIGNhc2UgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50J1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkSnVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UgJiZcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQpO1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FzZVR5cGUgPSBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5jYXNlVHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkKTtcbiAgICBjb25zdCBzdGF0ZSA9IHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5zdGF0ZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGZpZWxkVmFsdWUpO1xuICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICBjYXNlICdKVVJJU0RJQ1RJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdDQVNFX1RZUEUnOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLm5hbWU7XG4gICAgICBjYXNlICdDQVNFX1RZUEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnU1RBVEUnOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUubmFtZSB8fCBmaWVsZFZhbHVlO1xuICAgICAgY2FzZSAnU1RBVEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuZGVzY3JpcHRpb24gfHwgZmllbGRWYWx1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlTmFtZShzZWFyY2hDYXNlc1Jlc3BvbnNlOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgbGV0IGNhc2VOYW1lID0gTGlua2VkQ2FzZXNTZXJ2aWNlLkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQ7XG4gICAgY29uc3QgdGFicyA9IHNlYXJjaENhc2VzUmVzcG9uc2UudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgIGNvbnN0IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZU5hbWVIbWN0c0ludGVybmFsJyk7XG4gICAgICBpZiAoY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQpIHtcbiAgICAgICAgY2FzZU5hbWUgPSBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2FzZU5hbWU7XG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,7 @@ export * from './palette.service';
3
3
  export * from './unsupported-field.component';
4
4
  export * from './address';
5
5
  export * from './base-field';
6
+ export * from './case-file-view';
6
7
  export * from './case-link';
7
8
  export * from './case-flag';
8
9
  export * from './case-link';
@@ -35,4 +36,4 @@ export * from './utils';
35
36
  export * from './waystopay';
36
37
  export * from './yes-no';
37
38
  export * from './judicial-user';
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BhbGV0dGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9hZGRyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtbGluayc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtZmxhZyc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtbGluayc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wbGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lLXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZW1haWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maXhlZC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9sYWJlbCc7XG5leHBvcnQgKiBmcm9tICcuL21hcmtkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uZXktZ2JwJztcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGktc2VsZWN0LWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1zdW1tYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtdWsnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1hcmVhJztcbmV4cG9ydCAqIGZyb20gJy4vdW5zdXBwb3J0ZWQtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YXlzdG9wYXknO1xuZXhwb3J0ICogZnJvbSAnLi95ZXMtbm8nO1xuZXhwb3J0ICogZnJvbSAnLi9qdWRpY2lhbC11c2VyJztcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91bnN1cHBvcnRlZC1maWVsZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWZpZWxkJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS1maWxlLXZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWZsYWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLWxpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGxleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZml4ZWQtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpeGVkLXJhZGlvLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9oaXN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGFiZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXJrZG93bic7XG5leHBvcnQgKiBmcm9tICcuL21vbmV5LWdicCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpLXNlbGVjdC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItc3VtbWFyeSc7XG5leHBvcnQgKiBmcm9tICcuL29yZ2FuaXNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BhbGV0dGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFsZXR0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lLXVrJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtYXJlYSc7XG5leHBvcnQgKiBmcm9tICcuL3Vuc3VwcG9ydGVkLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vd2F5c3RvcGF5JztcbmV4cG9ydCAqIGZyb20gJy4veWVzLW5vJztcbmV4cG9ydCAqIGZyb20gJy4vanVkaWNpYWwtdXNlcic7XG4iXX0=