@hmcts/ccd-case-ui-toolkit 7.0.76 → 7.0.77-ungrey-back-button-2

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 (101) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +100 -33
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +49 -37
  3. package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +7 -4
  4. package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +3 -1
  5. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
  6. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +96 -0
  7. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +82 -0
  8. package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
  9. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +21 -21
  10. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
  11. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +22 -22
  12. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +77 -35
  13. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +32 -29
  14. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +33 -28
  15. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +137 -63
  16. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +28 -28
  17. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +124 -105
  18. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +30 -4
  19. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +110 -32
  20. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +27 -18
  21. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +19 -7
  22. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +55 -45
  23. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
  24. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +58 -39
  25. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +15 -2
  26. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +74 -23
  27. package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
  28. package/esm2022/lib/shared/domain/index.mjs +2 -1
  29. package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
  30. package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
  31. package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
  32. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
  33. package/esm2022/lib/shared/services/index.mjs +2 -1
  34. package/esm2022/lib/shared/services/journey/index.mjs +2 -0
  35. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +117 -0
  36. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1440 -737
  37. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  38. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +16 -3
  39. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  40. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +7 -2
  41. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  42. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  43. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +1 -0
  44. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
  45. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
  46. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  47. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
  48. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
  49. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
  50. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
  51. package/lib/shared/components/palette/base-field/index.d.ts +2 -0
  52. package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
  53. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  54. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  55. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
  56. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
  57. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -4
  58. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  59. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
  60. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  61. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +5 -2
  62. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  63. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +12 -5
  64. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  65. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +4 -2
  66. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts.map +1 -1
  67. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +7 -3
  68. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +1 -0
  70. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +10 -5
  72. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -3
  74. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  75. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +6 -2
  76. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
  77. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +6 -3
  78. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  79. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
  80. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  81. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +7 -3
  82. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  83. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +5 -0
  84. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  85. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +6 -3
  86. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  87. package/lib/shared/domain/index.d.ts +1 -0
  88. package/lib/shared/domain/index.d.ts.map +1 -1
  89. package/lib/shared/domain/journey/index.d.ts +3 -0
  90. package/lib/shared/domain/journey/index.d.ts.map +1 -0
  91. package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
  92. package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
  93. package/lib/shared/domain/journey/journey.model.d.ts +19 -0
  94. package/lib/shared/domain/journey/journey.model.d.ts.map +1 -0
  95. package/lib/shared/services/index.d.ts +1 -0
  96. package/lib/shared/services/index.d.ts.map +1 -1
  97. package/lib/shared/services/journey/index.d.ts +2 -0
  98. package/lib/shared/services/journey/index.d.ts.map +1 -0
  99. package/lib/shared/services/journey/multipage-component-state.service.d.ts +26 -0
  100. package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
  101. package/package.json +1 -1
@@ -4,73 +4,72 @@ import { forkJoin } from 'rxjs';
4
4
  import { CasesService } from '../../../../case-editor/services/cases.service';
5
5
  import { LinkedCasesErrorMessages, LinkedCasesPages } from '../../enums/write-linked-cases-field.enum';
6
6
  import { LinkedCasesService } from '../../services/linked-cases.service';
7
+ import { AbstractFieldWriteJourneyComponent } from '../../../base-field';
8
+ import { MultipageComponentStateService } from '../../../../../services';
7
9
  import * as i0 from "@angular/core";
8
10
  import * as i1 from "@angular/forms";
9
11
  import * as i2 from "../../../../case-editor/services/cases.service";
10
12
  import * as i3 from "../../services/linked-cases.service";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "../../../../../pipes/case-reference/case-reference.pipe";
13
+ import * as i4 from "../../../../../services";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "../../../../../pipes/case-reference/case-reference.pipe";
13
16
  const _c0 = a0 => ({ "govuk-form-group--error": a0 });
14
17
  function UnLinkCasesComponent_div_0_div_4_p_1_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelementStart(0, "p", 11)(1, "span", 12);
18
+ i0.ɵɵelementStart(0, "p", 9)(1, "span", 10);
16
19
  i0.ɵɵtext(2, "Error:");
17
20
  i0.ɵɵelementEnd();
18
21
  i0.ɵɵtext(3);
19
22
  i0.ɵɵelementEnd();
20
23
  } if (rf & 2) {
21
- const ctx_r1 = i0.ɵɵnextContext(3);
24
+ const ctx_r0 = i0.ɵɵnextContext(3);
22
25
  i0.ɵɵadvance(3);
23
- i0.ɵɵtextInterpolate1(" ", ctx_r1.unlinkErrorMessage, " ");
26
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.unlinkErrorMessage, " ");
24
27
  } }
25
28
  function UnLinkCasesComponent_div_0_div_4_div_3_Template(rf, ctx) { if (rf & 1) {
26
- const _r3 = i0.ɵɵgetCurrentView();
27
- i0.ɵɵelementStart(0, "div", 13)(1, "input", 14);
28
- i0.ɵɵlistener("change", function UnLinkCasesComponent_div_0_div_4_div_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onChange($event.target)); });
29
+ const _r2 = i0.ɵɵgetCurrentView();
30
+ i0.ɵɵelementStart(0, "div", 11)(1, "input", 12);
31
+ i0.ɵɵlistener("change", function UnLinkCasesComponent_div_0_div_4_div_3_Template_input_change_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.onChange($event.target)); });
29
32
  i0.ɵɵelementEnd();
30
- i0.ɵɵelementStart(2, "label", 15);
33
+ i0.ɵɵelementStart(2, "label", 13);
31
34
  i0.ɵɵtext(3);
32
35
  i0.ɵɵpipe(4, "ccdCaseReference");
33
36
  i0.ɵɵelementEnd()();
34
37
  } if (rf & 2) {
35
- const case_r4 = ctx.$implicit;
38
+ const case_r3 = ctx.$implicit;
36
39
  i0.ɵɵadvance();
37
- i0.ɵɵpropertyInterpolate1("id", "case-reference-", case_r4.caseReference, "");
38
- i0.ɵɵproperty("value", case_r4.caseReference)("checked", case_r4.unlink);
40
+ i0.ɵɵpropertyInterpolate1("id", "case-reference-", case_r3.caseReference, "");
41
+ i0.ɵɵproperty("value", case_r3.caseReference)("checked", case_r3.unlink);
39
42
  i0.ɵɵadvance();
40
- i0.ɵɵpropertyInterpolate("for", case_r4.caseReference);
43
+ i0.ɵɵpropertyInterpolate("for", case_r3.caseReference);
41
44
  i0.ɵɵadvance();
42
- i0.ɵɵtextInterpolate2(" ", case_r4.caseName, " ", i0.ɵɵpipeBind1(4, 7, case_r4.caseReference), " ");
45
+ i0.ɵɵtextInterpolate2(" ", case_r3.caseName, " ", i0.ɵɵpipeBind1(4, 7, case_r3.caseReference), " ");
43
46
  } }
44
47
  function UnLinkCasesComponent_div_0_div_4_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelementStart(0, "div", 7);
46
- i0.ɵɵtemplate(1, UnLinkCasesComponent_div_0_div_4_p_1_Template, 4, 1, "p", 8);
47
- i0.ɵɵelementStart(2, "div", 9);
48
- i0.ɵɵtemplate(3, UnLinkCasesComponent_div_0_div_4_div_3_Template, 5, 9, "div", 10);
48
+ i0.ɵɵelementStart(0, "div", 5);
49
+ i0.ɵɵtemplate(1, UnLinkCasesComponent_div_0_div_4_p_1_Template, 4, 1, "p", 6);
50
+ i0.ɵɵelementStart(2, "div", 7);
51
+ i0.ɵɵtemplate(3, UnLinkCasesComponent_div_0_div_4_div_3_Template, 5, 9, "div", 8);
49
52
  i0.ɵɵelementEnd()();
50
53
  } if (rf & 2) {
51
- const ctx_r1 = i0.ɵɵnextContext(2);
52
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r1.unlinkErrorMessage))("formGroup", ctx_r1.unlinkCaseForm);
54
+ const ctx_r0 = i0.ɵɵnextContext(2);
55
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r0.unlinkErrorMessage))("formGroup", ctx_r0.unlinkCaseForm);
53
56
  i0.ɵɵadvance();
54
- i0.ɵɵproperty("ngIf", ctx_r1.unlinkErrorMessage);
57
+ i0.ɵɵproperty("ngIf", ctx_r0.unlinkErrorMessage);
55
58
  i0.ɵɵadvance(2);
56
- i0.ɵɵproperty("ngForOf", ctx_r1.linkedCases);
59
+ i0.ɵɵproperty("ngForOf", ctx_r0.linkedCases);
57
60
  } }
58
61
  function UnLinkCasesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
59
- const _r1 = i0.ɵɵgetCurrentView();
60
62
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h1", 3);
61
63
  i0.ɵɵtext(3, "Select the cases you want to unlink from this case");
62
64
  i0.ɵɵelementEnd();
63
65
  i0.ɵɵtemplate(4, UnLinkCasesComponent_div_0_div_4_Template, 4, 6, "div", 4);
64
- i0.ɵɵelementStart(5, "div", 5)(6, "button", 6);
65
- i0.ɵɵlistener("click", function UnLinkCasesComponent_div_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onNext()); });
66
- i0.ɵɵtext(7, "Next");
67
- i0.ɵɵelementEnd()()()();
66
+ i0.ɵɵelementEnd()();
68
67
  } if (rf & 2) {
69
- const ctx_r1 = i0.ɵɵnextContext();
68
+ const ctx_r0 = i0.ɵɵnextContext();
70
69
  i0.ɵɵadvance(4);
71
- i0.ɵɵproperty("ngIf", ctx_r1.unlinkCaseForm);
70
+ i0.ɵɵproperty("ngIf", ctx_r0.unlinkCaseForm);
72
71
  } }
73
- export class UnLinkCasesComponent {
72
+ export class UnLinkCasesComponent extends AbstractFieldWriteJourneyComponent {
74
73
  fb;
75
74
  casesService;
76
75
  linkedCasesService;
@@ -85,16 +84,30 @@ export class UnLinkCasesComponent {
85
84
  unlinkErrorMessage;
86
85
  isLoaded;
87
86
  isServerError = false;
88
- constructor(fb, casesService, linkedCasesService) {
87
+ constructor(fb, casesService, linkedCasesService, multipageComponentStateService) {
88
+ super(multipageComponentStateService);
89
89
  this.fb = fb;
90
90
  this.casesService = casesService;
91
91
  this.linkedCasesService = linkedCasesService;
92
92
  }
93
93
  ngOnInit() {
94
94
  this.getLinkedCases();
95
+ // the journey can become broken in some situations as the journeyPageNumber is not correct, account for this and set to the correct value
96
+ const journeyPageNumber = this.getJourneyCollection()['journeyPageNumber'];
97
+ const linkedCasesPageNumber = this.getJourneyCollection()['linkedCasesPage'];
98
+ console.log(journeyPageNumber, linkedCasesPageNumber);
99
+ if (linkedCasesPageNumber < journeyPageNumber) {
100
+ this.getJourneyCollection()['journeyPageNumber'] = linkedCasesPageNumber;
101
+ }
102
+ }
103
+ getJourneyCollection() {
104
+ return this.multipageComponentStateService.getJourneyCollection()[0];
95
105
  }
96
106
  getLinkedCases() {
97
107
  this.caseId = this.linkedCasesService.caseId;
108
+ if (this.linkedCasesService.cachedFieldValues && this.linkedCasesService.linkedCases) {
109
+ this.linkedCasesService.caseFieldValue = this.linkedCasesService.cachedFieldValues;
110
+ }
98
111
  if (this.linkedCasesService.linkedCases.length > 0) {
99
112
  this.linkedCases = this.linkedCasesService.linkedCases;
100
113
  this.getAllLinkedCaseInformation();
@@ -178,6 +191,12 @@ export class UnLinkCasesComponent {
178
191
  // Return linked cases state and error messages to the parent
179
192
  this.emitLinkedCasesState(navigateToNextPage);
180
193
  }
194
+ next() {
195
+ this.onNext();
196
+ if (this.errorMessages.length === 0) {
197
+ super.next();
198
+ }
199
+ }
181
200
  // Return linked cases state and error messages to the parent
182
201
  emitLinkedCasesState(isNavigateToNextPage) {
183
202
  this.linkedCasesStateEmitter.emit({
@@ -190,20 +209,20 @@ export class UnLinkCasesComponent {
190
209
  this.errorMessages = [];
191
210
  this.unlinkErrorMessage = null;
192
211
  }
193
- static ɵfac = function UnLinkCasesComponent_Factory(t) { return new (t || UnLinkCasesComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CasesService), i0.ɵɵdirectiveInject(i3.LinkedCasesService)); };
194
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnLinkCasesComponent, selectors: [["ccd-unlink-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter", notifyAPIFailure: "notifyAPIFailure" }, decls: 1, vars: 1, consts: [["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["class", "govuk-form-group form-group", 3, "ngClass", "formGroup", 4, "ngIf"], [1, "govuk-button-group"], ["type", "button", "id", "next-button", 1, "button", "button-primary", 3, "click"], [1, "govuk-form-group", "form-group", 3, "ngClass", "formGroup"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item"], ["formArrayName", "linkedCases", "name", "linkedCases", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value", "checked"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function UnLinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
195
- i0.ɵɵtemplate(0, UnLinkCasesComponent_div_0_Template, 8, 1, "div", 0);
212
+ static ɵfac = function UnLinkCasesComponent_Factory(t) { return new (t || UnLinkCasesComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.CasesService), i0.ɵɵdirectiveInject(i3.LinkedCasesService), i0.ɵɵdirectiveInject(i4.MultipageComponentStateService)); };
213
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnLinkCasesComponent, selectors: [["ccd-unlink-cases"]], outputs: { linkedCasesStateEmitter: "linkedCasesStateEmitter", notifyAPIFailure: "notifyAPIFailure" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "govuk-grid-row", 4, "ngIf"], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], [1, "govuk-heading-xl"], ["class", "govuk-form-group form-group", 3, "ngClass", "formGroup", 4, "ngIf"], [1, "govuk-form-group", "form-group", 3, "ngClass", "formGroup"], ["id", "unlink-cases-error", "class", "govuk-error-message", 4, "ngIf"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], ["id", "unlink-cases-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-checkboxes__item"], ["formArrayName", "linkedCases", "name", "linkedCases", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "value", "checked"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function UnLinkCasesComponent_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵtemplate(0, UnLinkCasesComponent_div_0_Template, 5, 1, "div", 0);
196
215
  } if (rf & 2) {
197
216
  i0.ɵɵproperty("ngIf", ctx.linkedCases.length > 0);
198
- } }, dependencies: [i4.NgClass, i4.NgForOf, i4.NgIf, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormArrayName, i5.CaseReferencePipe], encapsulation: 2 });
217
+ } }, dependencies: [i5.NgClass, i5.NgForOf, i5.NgIf, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormArrayName, i6.CaseReferencePipe], encapsulation: 2 });
199
218
  }
200
219
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnLinkCasesComponent, [{
201
220
  type: Component,
202
- args: [{ selector: 'ccd-unlink-cases', template: "<div class=\"govuk-grid-row\" *ngIf=\"linkedCases.length > 0\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\">Select the cases you want to unlink from this case</h1>\n <div class=\"govuk-form-group form-group\" [ngClass]=\"{'govuk-form-group--error': unlinkErrorMessage}\" [formGroup]=\"unlinkCaseForm\" *ngIf=\"unlinkCaseForm\">\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"unlinkErrorMessage\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{unlinkErrorMessage}}\n </p>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let case of linkedCases\">\n <input class=\"govuk-checkboxes__input\" id=\"case-reference-{{case.caseReference}}\" formArrayName=\"linkedCases\" name=\"linkedCases\"\n type=\"checkbox\" [value]=\"case.caseReference\" [checked]=\"case.unlink\" (change)=\"onChange($event.target)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{case.caseReference}}\">\n {{case.caseName }} {{case.caseReference | ccdCaseReference}}\n </label>\n </div>\n </div>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"button button-primary\" type=\"button\" id=\"next-button\" (click)=\"onNext()\">Next</button>\n </div>\n </div>\n</div>\n" }]
203
- }], () => [{ type: i1.FormBuilder }, { type: i2.CasesService }, { type: i3.LinkedCasesService }], { linkedCasesStateEmitter: [{
221
+ args: [{ selector: 'ccd-unlink-cases', template: "<div class=\"govuk-grid-row\" *ngIf=\"linkedCases.length > 0\">\n <div class=\"govuk-grid-column-full\">\n <h1 class=\"govuk-heading-xl\">Select the cases you want to unlink from this case</h1>\n <div class=\"govuk-form-group form-group\" [ngClass]=\"{'govuk-form-group--error': unlinkErrorMessage}\" [formGroup]=\"unlinkCaseForm\" *ngIf=\"unlinkCaseForm\">\n <p id=\"unlink-cases-error\" class=\"govuk-error-message\" *ngIf=\"unlinkErrorMessage\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{unlinkErrorMessage}}\n </p>\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let case of linkedCases\">\n <input class=\"govuk-checkboxes__input\" id=\"case-reference-{{case.caseReference}}\" formArrayName=\"linkedCases\" name=\"linkedCases\"\n type=\"checkbox\" [value]=\"case.caseReference\" [checked]=\"case.unlink\" (change)=\"onChange($event.target)\">\n <label class=\"govuk-label govuk-checkboxes__label\" for=\"{{case.caseReference}}\">\n {{case.caseName }} {{case.caseReference | ccdCaseReference}}\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
222
+ }], () => [{ type: i1.FormBuilder }, { type: i2.CasesService }, { type: i3.LinkedCasesService }, { type: i4.MultipageComponentStateService }], { linkedCasesStateEmitter: [{
204
223
  type: Output
205
224
  }], notifyAPIFailure: [{
206
225
  type: Output
207
226
  }] }); })();
208
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnLinkCasesComponent, { className: "UnLinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.ts", lineNumber: 14 }); })();
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5saW5rLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL3VubGluay1jYXNlcy91bmxpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvdW5saW5rLWNhc2VzL3VubGluay1jYXNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFhLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7SUNGakUsQUFERiw2QkFBa0YsZUFDNUM7SUFBQSxzQkFBTTtJQUFBLGlCQUFPO0lBQUMsWUFDcEQ7SUFBQSxpQkFBSTs7O0lBRGdELGVBQ3BEO0lBRG9ELDBEQUNwRDs7OztJQUdJLEFBREYsK0JBQXFFLGdCQUV1QztJQUFuQyxvTUFBVSw4QkFBdUIsS0FBQztJQUR6RyxpQkFDMEc7SUFDeEcsaUNBQWdGO0lBQzlFLFlBQ0o7O0lB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O0lBQ0wsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7OEVBbklVLG9CQUFvQjs2REFBcEIsb0JBQW9CO1lDYmpDLHFFQUEyRDs7WUFBOUIsaURBQTRCOzs7aUZEYTVDLG9CQUFvQjtjQUpoQyxTQUFTOzJCQUNFLGtCQUFrQjt3R0FTckIsdUJBQXVCO2tCQUQ3QixNQUFNO1lBR0EsZ0JBQWdCO2tCQUR0QixNQUFNOztrRkFQSSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldywgRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtlZENhc2VzU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLCBMaW5rZWRDYXNlc1BhZ2VzIH0gZnJvbSAnLi4vLi4vZW51bXMvd3JpdGUtbGlua2VkLWNhc2VzLWZpZWxkLmVudW0nO1xuaW1wb3J0IHsgTGlua2VkQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdW5saW5rLWNhc2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VubGluay1jYXNlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVW5MaW5rQ2FzZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExJTktFRF9DQVNFU19UQUJfSUQgPSAnbGlua2VkX2Nhc2VzX3NzY3MnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG5cbiAgcHVibGljIHVubGlua0Nhc2VGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgdW5saW5rRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldExpbmtlZENhc2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlua2VkQ2FzZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlSWQ7XG4gICAgaWYgKHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcztcbiAgICAgIHRoaXMuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZXNTZXJ2aWNlLmdldENhc2VWaWV3VjIodGhpcy5jYXNlSWQpLnN1YnNjcmliZSgoY2FzZVZpZXc6IENhc2VWaWV3KSA9PiB7XG4gICAgICAgIGNvbnN0IGxpbmtlZENhc2VzVGFiID0gY2FzZVZpZXcudGFicy5maW5kKHRhYiA9PiB0YWIuaWQgPT09IFVuTGlua0Nhc2VzQ29tcG9uZW50LkxJTktFRF9DQVNFU19UQUJfSUQpO1xuICAgICAgICBpZiAobGlua2VkQ2FzZXNUYWIpIHtcbiAgICAgICAgICBjb25zdCBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IGxpbmtlZENhc2VzVGFiLmZpZWxkc1swXS52YWx1ZTtcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzID0gbGlua2VkQ2FzZXM7XG4gICAgICAgICAgdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMgPSBsaW5rZWRDYXNlcztcbiAgICAgICAgICB0aGlzLmdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICB0aGlzLmxpbmtlZENhc2VzLmZvckVhY2gobGlua2VkQ2FzZSA9PiB7XG4gICAgICBzZWFyY2hDYXNlc1Jlc3BvbnNlLnB1c2godGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMihsaW5rZWRDYXNlLmNhc2VSZWZlcmVuY2UpKTtcbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIHNlYXJjaENhc2VzLmZvckVhY2goKHJlc3BvbnNlOiBDYXNlVmlldykgPT4ge1xuICAgICAgICAgIGNvbnN0IGxpbmtlZENhc2VGcm9tTGlzdCA9IHRoaXMubGlua2VkQ2FzZXMuZmluZChsaW5rZWRDYXNlID0+IGxpbmtlZENhc2UuY2FzZVJlZmVyZW5jZSA9PT0gcmVzcG9uc2UuY2FzZV9pZCk7XG4gICAgICAgICAgaWYgKGxpbmtlZENhc2VGcm9tTGlzdCkge1xuICAgICAgICAgICAgY29uc3QgY2FzZU5hbWUgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRDYXNlTmFtZShyZXNwb25zZSk7XG4gICAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzLmZpbmQobGlua2VkQ2FzZSA9PiBsaW5rZWRDYXNlLmNhc2VSZWZlcmVuY2UgPT09IHJlc3BvbnNlLmNhc2VfaWQpLmNhc2VOYW1lID0gY2FzZU5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXM7XG4gICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZTogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xuICAgIHJldHVybiBmb3JrSm9pbihzZWFyY2hDYXNlc1Jlc3BvbnNlKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnVubGlua0Nhc2VGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBsaW5rZWRDYXNlczogdGhpcy5nZXRMaW5rZWRDYXNlc0Zvcm1BcnJheVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRMaW5rZWRDYXNlc0Zvcm1BcnJheSgpOiBGb3JtQXJyYXkge1xuICAgIGNvbnN0IGZvcm1GaWVsZEFycmF5ID0gdGhpcy5saW5rZWRDYXNlcy5tYXAodmFsID0+IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgY2FzZVJlZmVyZW5jZTogdmFsLmNhc2VSZWZlcmVuY2UsXG4gICAgICByZWFzb25zOiB2YWwucmVhc29ucyxcbiAgICAgIGNyZWF0ZWREYXRlVGltZTogdmFsLmNyZWF0ZWREYXRlVGltZSxcbiAgICAgIGNhc2VUeXBlOiB2YWwuY2FzZVR5cGUsXG4gICAgICBjYXNlU3RhdGU6IHZhbC5jYXNlU3RhdGUsXG4gICAgICBjYXNlU2VydmljZTogdmFsLmNhc2VTZXJ2aWNlLFxuICAgICAgY2FzZU5hbWU6IHZhbC5jYXNlTmFtZSB8fCBVbkxpbmtDYXNlc0NvbXBvbmVudC5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgdW5saW5rOiB2YWwudW5saW5rXG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzLmZiLmFycmF5KGZvcm1GaWVsZEFycmF5KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZShjYXNlU2VsZWN0ZWQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XG4gICAgY29uc3Qgc2VsZWN0ZWRDYXNlID0gdGhpcy5saW5rZWRDYXNlcy5maW5kKGxpbmtlZENhc2UgPT4gbGlua2VkQ2FzZS5jYXNlUmVmZXJlbmNlID09PSBjYXNlU2VsZWN0ZWQudmFsdWUpO1xuICAgIGlmIChzZWxlY3RlZENhc2UpIHtcbiAgICAgIHNlbGVjdGVkQ2FzZS51bmxpbmsgPSBjYXNlU2VsZWN0ZWQuY2hlY2tlZCA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XG4gICAgbGV0IG5hdmlnYXRlVG9OZXh0UGFnZSA9IHRydWU7XG4gICAgY29uc3QgY2FzZXNNYXJrZWRUb1VubGluayA9IHRoaXMubGlua2VkQ2FzZXMuZmluZChsaW5rZWRDYXNlID0+IGxpbmtlZENhc2UudW5saW5rICYmIGxpbmtlZENhc2UudW5saW5rID09PSB0cnVlKTtcbiAgICBpZiAoIWNhc2VzTWFya2VkVG9VbmxpbmspIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICdjYXNlLXNlbGVjdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMuVW5saW5rQ2FzZVNlbGVjdGlvbkVycm9yLFxuICAgICAgICBmaWVsZElkOiBgY2FzZS1yZWZlcmVuY2UtJHt0aGlzLmxpbmtlZENhc2VzWzBdLmNhc2VSZWZlcmVuY2V9YFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVubGlua0Vycm9yTWVzc2FnZSA9IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5VbmxpbmtDYXNlU2VsZWN0aW9uRXJyb3I7XG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gUmV0dXJuIGxpbmtlZCBjYXNlcyBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICAgIHRoaXMuZW1pdExpbmtlZENhc2VzU3RhdGUobmF2aWdhdGVUb05leHRQYWdlKTtcbiAgfVxuXG4gIC8vIFJldHVybiBsaW5rZWQgY2FzZXMgc3RhdGUgYW5kIGVycm9yIG1lc3NhZ2VzIHRvIHRoZSBwYXJlbnRcbiAgcHVibGljIGVtaXRMaW5rZWRDYXNlc1N0YXRlKGlzTmF2aWdhdGVUb05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saW5rZWRDYXNlc1N0YXRlRW1pdHRlci5lbWl0KHtcbiAgICAgIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IExpbmtlZENhc2VzUGFnZXMuVU5MSU5LX0NBU0UsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGlzTmF2aWdhdGVUb05leHRQYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0RXJyb3JNZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICB0aGlzLnVubGlua0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiICpuZ0lmPVwibGlua2VkQ2FzZXMubGVuZ3RoID4gMFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbFwiPlxuICAgIDxoMSBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGxcIj5TZWxlY3QgdGhlIGNhc2VzIHlvdSB3YW50IHRvIHVubGluayBmcm9tIHRoaXMgY2FzZTwvaDE+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiB1bmxpbmtFcnJvck1lc3NhZ2V9XCIgW2Zvcm1Hcm91cF09XCJ1bmxpbmtDYXNlRm9ybVwiICpuZ0lmPVwidW5saW5rQ2FzZUZvcm1cIj5cbiAgICAgIDxwIGlkPVwidW5saW5rLWNhc2VzLWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJ1bmxpbmtFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+IHt7dW5saW5rRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGVja2JveGVzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCIgKm5nRm9yPVwibGV0IGNhc2Ugb2YgbGlua2VkQ2FzZXNcIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwiY2FzZS1yZWZlcmVuY2Ute3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiIGZvcm1BcnJheU5hbWU9XCJsaW5rZWRDYXNlc1wiIG5hbWU9XCJsaW5rZWRDYXNlc1wiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiBbdmFsdWVdPVwiY2FzZS5jYXNlUmVmZXJlbmNlXCIgW2NoZWNrZWRdPVwiY2FzZS51bmxpbmtcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudC50YXJnZXQpXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInt7Y2FzZS5jYXNlUmVmZXJlbmNlfX1cIj5cbiAgICAgICAgICAgICAge3tjYXNlLmNhc2VOYW1lIH19IHt7Y2FzZS5jYXNlUmVmZXJlbmNlIHwgY2NkQ2FzZVJlZmVyZW5jZX19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstYnV0dG9uLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1wcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwibmV4dC1idXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5OZXh0PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
227
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnLinkCasesComponent, { className: "UnLinkCasesComponent", filePath: "lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.ts", lineNumber: 16 }); })();
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5saW5rLWNhc2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL3VubGluay1jYXNlcy91bmxpbmstY2FzZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvdW5saW5rLWNhc2VzL3VubGluay1jYXNlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFhLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7O0lDSmpFLEFBREYsNEJBQWtGLGVBQzVDO0lBQUEsc0JBQU07SUFBQSxpQkFBTztJQUFDLFlBQ3BEO0lBQUEsaUJBQUk7OztJQURnRCxlQUNwRDtJQURvRCwwREFDcEQ7Ozs7SUFHSSxBQURGLCtCQUFxRSxnQkFFdUM7SUFBbkMsb01BQVUsOEJBQXVCLEtBQUM7SUFEekcsaUJBQzBHO0lBQ3hHLGlDQUFnRjtJQUM5RSxZQUNKOztJQUNGLEFBREUsaUJBQVEsRUFDSjs7O0lBTG1DLGNBQTBDO0lBQTFDLDZFQUEwQztJQUNsQyxBQUE3Qiw2Q0FBNEIsMkJBQXdCO0lBQ2pCLGNBQTRCO0lBQTVCLHNEQUE0QjtJQUM3RSxjQUNKO0lBREksbUdBQ0o7OztJQVZOLDhCQUF5SjtJQUN2Siw2RUFBa0Y7SUFHbEYsOEJBQTZEO0lBQzNELGlGQUFxRTtJQVF6RSxBQURFLGlCQUFNLEVBQ0Y7OztJQWIrRixBQUE1RCwrRUFBMkQsb0NBQTZCO0lBQ3ZFLGNBQXdCO0lBQXhCLGdEQUF3QjtJQUl6QixlQUFjO0lBQWQsNENBQWM7OztJQU52RSxBQURGLEFBREYsOEJBQTJELGFBQ3JCLFlBQ0w7SUFBQSxrRUFBa0Q7SUFBQSxpQkFBSztJQUNwRiwyRUFBeUo7SUFlN0osQUFERSxpQkFBTSxFQUNGOzs7SUFmaUksZUFBb0I7SUFBcEIsNENBQW9COztBRFkzSixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0NBQWtDO0lBa0I3QztJQUNWO0lBQ0E7SUFsQlgsTUFBTSxDQUFVLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0lBQzFELE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxtQkFBbUIsQ0FBQztJQUc5RCx1QkFBdUIsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7SUFFL0YsZ0JBQWdCLEdBQTBCLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWxFLGNBQWMsQ0FBWTtJQUMxQixNQUFNLENBQVM7SUFDZixXQUFXLEdBQWUsRUFBRSxDQUFDO0lBQzdCLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLGtCQUFrQixDQUFTO0lBQzNCLFFBQVEsQ0FBVTtJQUNsQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRTdCLFlBQTZCLEVBQWUsRUFDekIsWUFBMEIsRUFDMUIsa0JBQXNDLEVBQ3ZELDhCQUE4RDtRQUM1RCxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUpiLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUd6RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QiwySUFBMkk7UUFDM0ksTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLENBQUE7UUFDckQsSUFBSSxxQkFBcUIsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEdBQUcscUJBQXFCLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztZQUN2RCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7Z0JBQzVFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN0RyxJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUNuQixNQUFNLFdBQVcsR0FBZSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztvQkFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7b0JBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO29CQUNsRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDckMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFnQixFQUFFLEVBQUU7Z0JBQzVFLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7b0JBQ3pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDOUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO3dCQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7b0JBQ3pHLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzdCLENBQUMsRUFDQyxHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsbUJBQTBCO1FBQ3BELE9BQU8sUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1NBQzFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLHVCQUF1QjtRQUNoQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQy9ELGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYTtZQUNoQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsZUFBZSxFQUFFLEdBQUcsQ0FBQyxlQUFlO1lBQ3BDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7WUFDeEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQzVCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLG9CQUFvQixDQUFDLHNCQUFzQjtZQUNyRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07U0FDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxRQUFRLENBQUMsWUFBaUI7UUFDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLFlBQVksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsV0FBVyxFQUFFLHdCQUF3QixDQUFDLHdCQUF3QjtnQkFDOUQsT0FBTyxFQUFFLGtCQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRTthQUMvRCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7WUFDNUUsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7UUFDRCw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELG9CQUFvQixDQUFDLG9CQUE2QjtRQUN2RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1lBQ2hDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLFdBQVc7WUFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGtCQUFrQixFQUFFLG9CQUFvQjtTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDakMsQ0FBQzs4RUEzSlUsb0JBQW9COzZEQUFwQixvQkFBb0I7WUNmakMscUVBQTJEOztZQUE5QixpREFBNEI7OztpRkRlNUMsb0JBQW9CO2NBSmhDLFNBQVM7MkJBQ0Usa0JBQWtCO3FKQVNyQix1QkFBdUI7a0JBRDdCLE1BQU07WUFHQSxnQkFBZ0I7a0JBRHRCLE1BQU07O2tGQVBJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3LCBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMvY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgTGlua2VkQ2FzZXNTdGF0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc0Vycm9yTWVzc2FnZXMsIExpbmtlZENhc2VzUGFnZXMgfSBmcm9tICcuLi8uLi9lbnVtcy93cml0ZS1saW5rZWQtY2FzZXMtZmllbGQuZW51bSc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9saW5rZWQtY2FzZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5pbXBvcnQgeyBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC11bmxpbmstY2FzZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdW5saW5rLWNhc2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBVbkxpbmtDYXNlc0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExJTktFRF9DQVNFU19UQUJfSUQgPSAnbGlua2VkX2Nhc2VzX3NzY3MnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGxpbmtlZENhc2VzU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8TGlua2VkQ2FzZXNTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtlZENhc2VzU3RhdGU+KCk7XG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG5cbiAgcHVibGljIHVubGlua0Nhc2VGb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgdW5saW5rRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGlzU2VydmVyRXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhc2VzU2VydmljZTogQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua2VkQ2FzZXNTZXJ2aWNlOiBMaW5rZWRDYXNlc1NlcnZpY2UsXG4gICAgbXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlOiBNdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpIHtcbiAgICAgIHN1cGVyKG11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRMaW5rZWRDYXNlcygpO1xuICAgIC8vIHRoZSBqb3VybmV5IGNhbiBiZWNvbWUgYnJva2VuIGluIHNvbWUgIHNpdHVhdGlvbnMgYXMgdGhlIGpvdXJuZXlQYWdlTnVtYmVyIGlzIG5vdCBjb3JyZWN0LCBhY2NvdW50IGZvciB0aGlzIGFuZCBzZXQgdG8gdGhlIGNvcnJlY3QgdmFsdWVcbiAgICBjb25zdCBqb3VybmV5UGFnZU51bWJlciA9IHRoaXMuZ2V0Sm91cm5leUNvbGxlY3Rpb24oKVsnam91cm5leVBhZ2VOdW1iZXInXTtcbiAgICBjb25zdCBsaW5rZWRDYXNlc1BhZ2VOdW1iZXIgPSB0aGlzLmdldEpvdXJuZXlDb2xsZWN0aW9uKClbJ2xpbmtlZENhc2VzUGFnZSddO1xuICAgIGNvbnNvbGUubG9nKGpvdXJuZXlQYWdlTnVtYmVyLCBsaW5rZWRDYXNlc1BhZ2VOdW1iZXIpXG4gICAgaWYgKGxpbmtlZENhc2VzUGFnZU51bWJlciA8IGpvdXJuZXlQYWdlTnVtYmVyKSB7XG4gICAgICB0aGlzLmdldEpvdXJuZXlDb2xsZWN0aW9uKClbJ2pvdXJuZXlQYWdlTnVtYmVyJ10gPSBsaW5rZWRDYXNlc1BhZ2VOdW1iZXI7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEpvdXJuZXlDb2xsZWN0aW9uKCk6IEpvdXJuZXkge1xuICAgIHJldHVybiB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbigpWzBdO1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZENhc2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuY2FzZUlkO1xuICAgIGlmICh0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYWNoZWRGaWVsZFZhbHVlcyAmJiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyl7XG4gICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5jYXNlRmllbGRWYWx1ZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhY2hlZEZpZWxkVmFsdWVzO1xuICAgIH1cbiAgICBpZiAodGhpcy5saW5rZWRDYXNlc1NlcnZpY2UubGlua2VkQ2FzZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5saW5rZWRDYXNlcyA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzO1xuICAgICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXNlc1NlcnZpY2UuZ2V0Q2FzZVZpZXdWMih0aGlzLmNhc2VJZCkuc3Vic2NyaWJlKChjYXNlVmlldzogQ2FzZVZpZXcpID0+IHtcbiAgICAgICAgY29uc3QgbGlua2VkQ2FzZXNUYWIgPSBjYXNlVmlldy50YWJzLmZpbmQodGFiID0+IHRhYi5pZCA9PT0gVW5MaW5rQ2FzZXNDb21wb25lbnQuTElOS0VEX0NBU0VTX1RBQl9JRCk7XG4gICAgICAgIGlmIChsaW5rZWRDYXNlc1RhYikge1xuICAgICAgICAgIGNvbnN0IGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gbGlua2VkQ2FzZXNUYWIuZmllbGRzWzBdLnZhbHVlO1xuICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXMgPSBsaW5rZWRDYXNlcztcbiAgICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IGxpbmtlZENhc2VzO1xuICAgICAgICAgIHRoaXMuZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIHRoaXMubGlua2VkQ2FzZXMuZm9yRWFjaChsaW5rZWRDYXNlID0+IHtcbiAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaCh0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKGxpbmtlZENhc2UuY2FzZVJlZmVyZW5jZSkpO1xuICAgIH0pO1xuICAgIGlmIChzZWFyY2hDYXNlc1Jlc3BvbnNlLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlKS5zdWJzY3JpYmUoKHNlYXJjaENhc2VzOiBhbnkpID0+IHtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaCgocmVzcG9uc2U6IENhc2VWaWV3KSA9PiB7XG4gICAgICAgICAgY29uc3QgbGlua2VkQ2FzZUZyb21MaXN0ID0gdGhpcy5saW5rZWRDYXNlcy5maW5kKGxpbmtlZENhc2UgPT4gbGlua2VkQ2FzZS5jYXNlUmVmZXJlbmNlID09PSByZXNwb25zZS5jYXNlX2lkKTtcbiAgICAgICAgICBpZiAobGlua2VkQ2FzZUZyb21MaXN0KSB7XG4gICAgICAgICAgICBjb25zdCBjYXNlTmFtZSA9IHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmdldENhc2VOYW1lKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXMuZmluZChsaW5rZWRDYXNlID0+IGxpbmtlZENhc2UuY2FzZVJlZmVyZW5jZSA9PT0gcmVzcG9uc2UuY2FzZV9pZCkuY2FzZU5hbWUgPSBjYXNlTmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtlZENhc2VzID0gdGhpcy5saW5rZWRDYXNlcztcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5ub3RpZnlBUElGYWlsdXJlLmVtaXQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGluaXRGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMudW5saW5rQ2FzZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGxpbmtlZENhc2VzOiB0aGlzLmdldExpbmtlZENhc2VzRm9ybUFycmF5XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldExpbmtlZENhc2VzRm9ybUFycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgY29uc3QgZm9ybUZpZWxkQXJyYXkgPSB0aGlzLmxpbmtlZENhc2VzLm1hcCh2YWwgPT4gdGhpcy5mYi5ncm91cCh7XG4gICAgICBjYXNlUmVmZXJlbmNlOiB2YWwuY2FzZVJlZmVyZW5jZSxcbiAgICAgIHJlYXNvbnM6IHZhbC5yZWFzb25zLFxuICAgICAgY3JlYXRlZERhdGVUaW1lOiB2YWwuY3JlYXRlZERhdGVUaW1lLFxuICAgICAgY2FzZVR5cGU6IHZhbC5jYXNlVHlwZSxcbiAgICAgIGNhc2VTdGF0ZTogdmFsLmNhc2VTdGF0ZSxcbiAgICAgIGNhc2VTZXJ2aWNlOiB2YWwuY2FzZVNlcnZpY2UsXG4gICAgICBjYXNlTmFtZTogdmFsLmNhc2VOYW1lIHx8IFVuTGlua0Nhc2VzQ29tcG9uZW50LkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQsXG4gICAgICB1bmxpbms6IHZhbC51bmxpbmtcbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXMuZmIuYXJyYXkoZm9ybUZpZWxkQXJyYXkpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKGNhc2VTZWxlY3RlZDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZXMoKTtcbiAgICBjb25zdCBzZWxlY3RlZENhc2UgPSB0aGlzLmxpbmtlZENhc2VzLmZpbmQobGlua2VkQ2FzZSA9PiBsaW5rZWRDYXNlLmNhc2VSZWZlcmVuY2UgPT09IGNhc2VTZWxlY3RlZC52YWx1ZSk7XG4gICAgaWYgKHNlbGVjdGVkQ2FzZSkge1xuICAgICAgc2VsZWN0ZWRDYXNlLnVubGluayA9IGNhc2VTZWxlY3RlZC5jaGVja2VkID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldEVycm9yTWVzc2FnZXMoKTtcbiAgICBsZXQgbmF2aWdhdGVUb05leHRQYWdlID0gdHJ1ZTtcbiAgICBjb25zdCBjYXNlc01hcmtlZFRvVW5saW5rID0gdGhpcy5saW5rZWRDYXNlcy5maW5kKGxpbmtlZENhc2UgPT4gbGlua2VkQ2FzZS51bmxpbmsgJiYgbGlua2VkQ2FzZS51bmxpbmsgPT09IHRydWUpO1xuICAgIGlmICghY2FzZXNNYXJrZWRUb1VubGluaykge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJ2Nhc2Utc2VsZWN0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246IExpbmtlZENhc2VzRXJyb3JNZXNzYWdlcy5VbmxpbmtDYXNlU2VsZWN0aW9uRXJyb3IsXG4gICAgICAgIGZpZWxkSWQ6IGBjYXNlLXJlZmVyZW5jZS0ke3RoaXMubGlua2VkQ2FzZXNbMF0uY2FzZVJlZmVyZW5jZX1gXG4gICAgICB9KTtcbiAgICAgIHRoaXMudW5saW5rRXJyb3JNZXNzYWdlID0gTGlua2VkQ2FzZXNFcnJvck1lc3NhZ2VzLlVubGlua0Nhc2VTZWxlY3Rpb25FcnJvcjtcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyBSZXR1cm4gbGlua2VkIGNhc2VzIHN0YXRlIGFuZCBlcnJvciBtZXNzYWdlcyB0byB0aGUgcGFyZW50XG4gICAgdGhpcy5lbWl0TGlua2VkQ2FzZXNTdGF0ZShuYXZpZ2F0ZVRvTmV4dFBhZ2UpO1xuICB9XG5cbiAgcHVibGljIG5leHQoKSB7XG4gICAgdGhpcy5vbk5leHQoKTtcblxuICAgIGlmICh0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzdXBlci5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJuIGxpbmtlZCBjYXNlcyBzdGF0ZSBhbmQgZXJyb3IgbWVzc2FnZXMgdG8gdGhlIHBhcmVudFxuICBwdWJsaWMgZW1pdExpbmtlZENhc2VzU3RhdGUoaXNOYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtlZENhc2VzU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudExpbmtlZENhc2VzUGFnZTogTGlua2VkQ2FzZXNQYWdlcy5VTkxJTktfQ0FTRSxcbiAgICAgIGVycm9yTWVzc2FnZXM6IHRoaXMuZXJyb3JNZXNzYWdlcyxcbiAgICAgIG5hdmlnYXRlVG9OZXh0UGFnZTogaXNOYXZpZ2F0ZVRvTmV4dFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRFcnJvck1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgIHRoaXMudW5saW5rRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJsaW5rZWRDYXNlcy5sZW5ndGggPiAwXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy14bFwiPlNlbGVjdCB0aGUgY2FzZXMgeW91IHdhbnQgdG8gdW5saW5rIGZyb20gdGhpcyBjYXNlPC9oMT5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBmb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydnb3Z1ay1mb3JtLWdyb3VwLS1lcnJvcic6IHVubGlua0Vycm9yTWVzc2FnZX1cIiBbZm9ybUdyb3VwXT1cInVubGlua0Nhc2VGb3JtXCIgKm5nSWY9XCJ1bmxpbmtDYXNlRm9ybVwiPlxuICAgICAgPHAgaWQ9XCJ1bmxpbmstY2FzZXMtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInVubGlua0Vycm9yTWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj4ge3t1bmxpbmtFcnJvck1lc3NhZ2V9fVxuICAgICAgPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWNoZWNrYm94ZXNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgY2FzZSBvZiBsaW5rZWRDYXNlc1wiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJjYXNlLXJlZmVyZW5jZS17e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCIgZm9ybUFycmF5TmFtZT1cImxpbmtlZENhc2VzXCIgbmFtZT1cImxpbmtlZENhc2VzXCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJjYXNlLmNhc2VSZWZlcmVuY2VcIiBbY2hlY2tlZF09XCJjYXNlLnVubGlua1wiIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50LnRhcmdldClcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwie3tjYXNlLmNhc2VSZWZlcmVuY2V9fVwiPlxuICAgICAgICAgICAgICB7e2Nhc2UuY2FzZU5hbWUgfX0ge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -22,6 +22,10 @@ export class LinkedCasesService {
22
22
  serverLinkedApiError = null;
23
23
  isServerReasonCodeError = false;
24
24
  caseJurisdictionID = null;
25
+ storedCaseNumber = '';
26
+ cameFromFinalStep = false;
27
+ hasNavigatedInJourney = false;
28
+ cachedFieldValues;
25
29
  constructor(jurisdictionService, searchService) {
26
30
  this.jurisdictionService = jurisdictionService;
27
31
  this.searchService = searchService;
@@ -47,6 +51,13 @@ export class LinkedCasesService {
47
51
  size,
48
52
  };
49
53
  }
54
+ resetLinkedCaseData() {
55
+ this.caseFieldValue = [];
56
+ this.linkedCases = [];
57
+ this.storedCaseNumber = '';
58
+ this.cameFromFinalStep = false;
59
+ this.hasNavigatedInJourney = false;
60
+ }
50
61
  mapResponse(esSearchCasesResponse) {
51
62
  const caseInfo = this.caseFieldValue.find(item => item.value && item.value.CaseReference === esSearchCasesResponse.case_id);
52
63
  return caseInfo && {
@@ -64,9 +75,10 @@ export class LinkedCasesService {
64
75
  getAllLinkedCaseInformation() {
65
76
  const searchCasesResponse = [];
66
77
  const linkedCaseIds = this.groupLinkedCasesByCaseType(this.caseFieldValue, 'CaseType');
78
+ const caseTypeId = this.caseDetails.case_type.id;
67
79
  Object.keys(linkedCaseIds).forEach(key => {
68
80
  const esQuery = this.constructElasticSearchQuery(linkedCaseIds[key], 100);
69
- const query = this.searchService.searchCasesByIds(key, esQuery, SearchService.VIEW_WORKBASKET);
81
+ const query = this.searchService.searchCasesByIds(caseTypeId, esQuery, SearchService.VIEW_WORKBASKET);
70
82
  searchCasesResponse.push(query);
71
83
  });
72
84
  if (searchCasesResponse.length) {
@@ -91,6 +103,7 @@ export class LinkedCasesService {
91
103
  }),
92
104
  };
93
105
  });
106
+ this.initialCaseLinks = this.linkedCases;
94
107
  this.serverLinkedApiError = null;
95
108
  }, err => {
96
109
  this.serverLinkedApiError = {
@@ -135,4 +148,4 @@ export class LinkedCasesService {
135
148
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesService, [{
136
149
  type: Injectable
137
150
  }], () => [{ type: i1.JurisdictionService }, { type: i1.SearchService }], null); })();
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUFtQkE7SUFDQTtJQW5CckIsTUFBTSxDQUFVLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDO0lBRTlELGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLFdBQVcsQ0FBVztJQUN0QixNQUFNLENBQVM7SUFDZixRQUFRLENBQVM7SUFDakIsZUFBZSxHQUFzQixFQUFFLENBQUM7SUFDeEMsV0FBVyxHQUFlLEVBQUUsQ0FBQztJQUM3QixnQkFBZ0IsR0FBZSxFQUFFLENBQUM7SUFDbEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixxQkFBcUIsR0FBbUIsRUFBRSxDQUFDO0lBQzNDLHVCQUF1QixDQUFVO0lBQ2pDLFdBQVcsR0FBb0MsSUFBSSxDQUFDO0lBQ3BELG9CQUFvQixHQUFvQyxJQUFJLENBQUM7SUFDN0QsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUVqQyxZQUE2QixtQkFBd0MsRUFDeEMsYUFBNEI7UUFENUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEs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QUNsRDtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsbUJBQTZCO1FBQzlDLElBQUksUUFBUSxHQUFHLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO1FBQ3pELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDakQsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssdUJBQXVCLENBQUMsQ0FBQztZQUNsRyxJQUFJLDBCQUEwQixFQUFFLENBQUM7Z0JBQy9CLFFBQVEsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLENBQUM7WUFDOUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs0RUFySVUsa0JBQWtCO2dFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FzZVZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vY2FzZS12aWV3JztcbmltcG9ydCB7IEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2p1cmlzZGljdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb25TZXJ2aWNlLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTG92UmVmRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlJztcbmltcG9ydCB7IENhc2VMaW5rLCBFU1F1ZXJ5VHlwZSwgTGlua1JlYXNvbiB9IGZyb20gJy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaW5rZWRDYXNlc1NlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBDQVNFX05BTUVfTUlTU0lOR19URVhUID0gJ0Nhc2UgbmFtZSBtaXNzaW5nJztcblxuICBwdWJsaWMgY2FzZUZpZWxkVmFsdWUgPSBbXTtcbiAgcHVibGljIGlzTGlua2VkQ2FzZXNFdmVudFRyaWdnZXIgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VEZXRhaWxzOiBDYXNlVmlldztcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgY2FzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIGxpbmtDYXNlUmVhc29uczogTG92UmVmRGF0YU1vZGVsW10gPSBbXTtcbiAgcHVibGljIGxpbmtlZENhc2VzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBpbml0aWFsQ2FzZUxpbmtzOiBDYXNlTGlua1tdID0gW107XG4gIHB1YmxpYyBlZGl0TW9kZSA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uc1Jlc3BvbnNlOiBKdXJpc2RpY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc2VydmVySnVyaXNkaWN0aW9uRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBzZXJ2ZXJFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2ZXJMaW5rZWRBcGlFcnJvcjogeyBpZDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcgfSA9IG51bGw7XG4gIHB1YmxpYyBpc1NlcnZlclJlYXNvbkNvZGVFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgY2FzZUp1cmlzZGljdGlvbklEID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShjYXNlSWRzOiBhbnlbXSwgc2l6ZTogbnVtYmVyKTogRVNRdWVyeVR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeToge1xuICAgICAgICB0ZXJtczoge1xuICAgICAgICAgIHJlZmVyZW5jZTogY2FzZUlkcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzaXplLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbWFwUmVzcG9uc2UoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKTogYW55IHtcbiAgICBjb25zdCBjYXNlSW5mbyA9IHRoaXMuY2FzZUZpZWxkVmFsdWUuZmluZChpdGVtID0+IGl0ZW0udmFsdWUgJiYgaXRlbS52YWx1ZS5DYXNlUmVmZXJlbmNlID09PSBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCk7XG4gICAgcmV0dXJuIGNhc2VJbmZvICYmIHtcbiAgICAgIGNhc2VSZWZlcmVuY2U6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkLFxuICAgICAgY2FzZU5hbWU6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkcy5jYXNlTmFtZUhtY3RzSW50ZXJuYWwgfHwgTGlua2VkQ2FzZXNTZXJ2aWNlLkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQsXG4gICAgICBjYXNlVHlwZTogdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnQ0FTRV9UWVBFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbQ0FTRV9UWVBFXSddKSxcbiAgICAgIHNlcnZpY2U6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0pVUklTRElDVElPTicsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0pVUklTRElDVElPTl0nXSksXG4gICAgICBzdGF0ZTogdGhpcy5tYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucygnU1RBVEUnLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tTVEFURV0nXSksXG4gICAgICByZWFzb25zOiBjYXNlSW5mbz8udmFsdWU/LlJlYXNvbkZvckxpbmtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2U6IGFueVtdKTogT2JzZXJ2YWJsZTx1bmtub3duW10+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oc2VhcmNoQ2FzZXNSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWxsTGlua2VkQ2FzZUluZm9ybWF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICBjb25zdCBsaW5rZWRDYXNlSWRzID0gdGhpcy5ncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSh0aGlzLmNhc2VGaWVsZFZhbHVlLCAnQ2FzZVR5cGUnKTtcbiAgICBPYmplY3Qua2V5cyhsaW5rZWRDYXNlSWRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBlc1F1ZXJ5ID0gdGhpcy5jb25zdHJ1Y3RFbGFzdGljU2VhcmNoUXVlcnkobGlua2VkQ2FzZUlkc1trZXldLCAxMDApO1xuICAgICAgY29uc3QgcXVlcnkgPSB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoQ2FzZXNCeUlkcyhrZXksIGVzUXVlcnksIFNlYXJjaFNlcnZpY2UuVklFV19XT1JLQkFTS0VUKTtcbiAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaChxdWVyeSk7XG4gICAgfSk7XG4gICAgaWYgKHNlYXJjaENhc2VzUmVzcG9uc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2UpLnN1YnNjcmliZSgoc2VhcmNoQ2FzZXM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjYXNlc1Jlc3BvbnNlID0gW107XG4gICAgICAgIHNlYXJjaENhc2VzLmZvckVhY2gocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMuZm9yRWFjaCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNhc2VzUmVzcG9uc2UucHVzaCh0aGlzLm1hcFJlc3BvbnNlKHJlc3VsdCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxpbmtlZENhc2VzID0gY2FzZXNSZXNwb25zZS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNhc2VSZWZlcmVuY2U6IGl0ZW0uY2FzZVJlZmVyZW5jZSxcbiAgICAgICAgICAgIGNhc2VOYW1lOiBpdGVtLmNhc2VOYW1lLFxuICAgICAgICAgICAgY2FzZVNlcnZpY2U6IGl0ZW0uc2VydmljZSxcbiAgICAgICAgICAgIGNhc2VUeXBlOiBpdGVtLmNhc2VUeXBlLFxuICAgICAgICAgICAgdW5saW5rOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbnM6IGl0ZW0ucmVhc29ucyAmJiBpdGVtLnJlYXNvbnMubWFwKHJlYXNvbiA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgUmVhc29uOiByZWFzb25cbiAgICAgICAgICAgICAgfSBhcyBMaW5rUmVhc29uO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSBhcyBDYXNlTGluaztcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSBudWxsO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMuc2VydmVyTGlua2VkQXBpRXJyb3IgPSB7XG4gICAgICAgICAgaWQ6ICdiYWNrZW5kRXJyb3InLCBtZXNzYWdlOiAnU29tZSBjYXNlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudCdcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBtYXBMb29rdXBJRFRvVmFsdWVGcm9tSnVyaXNkaWN0aW9ucyhmaWVsZE5hbWUsIGZpZWxkVmFsdWUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdGVkSnVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zUmVzcG9uc2UgJiZcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5qdXJpc2RpY3Rpb24uaWQpO1xuICAgIGNvbnN0IHNlbGVjdGVkQ2FzZVR5cGUgPSBzZWxlY3RlZEp1cmlzZGljdGlvbiAmJiBzZWxlY3RlZEp1cmlzZGljdGlvbi5jYXNlVHlwZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkKTtcbiAgICBjb25zdCBzdGF0ZSA9IHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5zdGF0ZXMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGZpZWxkVmFsdWUpO1xuICAgIHN3aXRjaCAoZmllbGROYW1lKSB7XG4gICAgICBjYXNlICdKVVJJU0RJQ1RJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uZGVzY3JpcHRpb247XG4gICAgICBjYXNlICdDQVNFX1RZUEUnOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLm5hbWU7XG4gICAgICBjYXNlICdDQVNFX1RZUEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRDYXNlVHlwZSAmJiBzZWxlY3RlZENhc2VUeXBlLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnU1RBVEUnOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUubmFtZSB8fCBmaWVsZFZhbHVlO1xuICAgICAgY2FzZSAnU1RBVEVfREVTQ1JJUFRJT04nOlxuICAgICAgICByZXR1cm4gc3RhdGUgJiYgc3RhdGUuZGVzY3JpcHRpb24gfHwgZmllbGRWYWx1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlTmFtZShzZWFyY2hDYXNlc1Jlc3BvbnNlOiBDYXNlVmlldyk6IHN0cmluZyB7XG4gICAgbGV0IGNhc2VOYW1lID0gTGlua2VkQ2FzZXNTZXJ2aWNlLkNBU0VfTkFNRV9NSVNTSU5HX1RFWFQ7XG4gICAgY29uc3QgdGFicyA9IHNlYXJjaENhc2VzUmVzcG9uc2UudGFicy5maWx0ZXIodGFiID0+IHtcbiAgICAgIGNvbnN0IGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkID0gdGFiLmZpZWxkcy5maW5kKGZpZWxkID0+IGZpZWxkLmlkID09PSAnY2FzZU5hbWVIbWN0c0ludGVybmFsJyk7XG4gICAgICBpZiAoY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQpIHtcbiAgICAgICAgY2FzZU5hbWUgPSBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZC52YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2FzZU5hbWU7XG4gIH1cbn1cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9saW5rZWQtY2FzZXMvc2VydmljZXMvbGlua2VkLWNhc2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBSzFFLE1BQU0sT0FBTyxrQkFBa0I7SUF1QkE7SUFDQTtJQXZCckIsTUFBTSxDQUFVLHNCQUFzQixHQUFHLG1CQUFtQixDQUFDO0lBRTlELGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIseUJBQXlCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLFdBQVcsQ0FBVztJQUN0QixNQUFNLENBQVM7SUFDZixRQUFRLENBQVM7SUFDakIsZUFBZSxHQUFzQixFQUFFLENBQUM7SUFDeEMsV0FBVyxHQUFlLEVBQUUsQ0FBQztJQUM3QixnQkFBZ0IsR0FBZSxFQUFFLENBQUM7SUFDbEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixxQkFBcUIsR0FBbUIsRUFBRSxDQUFDO0lBQzNDLHVCQUF1QixDQUFVO0lBQ2pDLFdBQVcsR0FBb0MsSUFBSSxDQUFDO0lBQ3BELG9CQUFvQixHQUFvQyxJQUFJLENBQUM7SUFDN0QsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUMxQixnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDdEIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQzFCLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJ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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhc2VWaWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2Utdmlldyc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSwgU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IExvdlJlZkRhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi1kYXRhLXNlcnZpY2UvY29tbW9uLWRhdGEtc2VydmljZSc7XG5pbXBvcnQgeyBDYXNlTGluaywgRVNRdWVyeVR5cGUsIExpbmtSZWFzb24gfSBmcm9tICcuLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlua2VkQ2FzZXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9OQU1FX01JU1NJTkdfVEVYVCA9ICdDYXNlIG5hbWUgbWlzc2luZyc7XG5cbiAgcHVibGljIGNhc2VGaWVsZFZhbHVlID0gW107XG4gIHB1YmxpYyBpc0xpbmtlZENhc2VzRXZlbnRUcmlnZ2VyID0gZmFsc2U7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGNhc2VOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBsaW5rQ2FzZVJlYXNvbnM6IExvdlJlZkRhdGFNb2RlbFtdID0gW107XG4gIHB1YmxpYyBsaW5rZWRDYXNlczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgaW5pdGlhbENhc2VMaW5rczogQ2FzZUxpbmtbXSA9IFtdO1xuICBwdWJsaWMgZWRpdE1vZGUgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcbiAgcHVibGljIHNlcnZlckp1cmlzZGljdGlvbkVycm9yOiBib29sZWFuO1xuICBwdWJsaWMgc2VydmVyRXJyb3I6IHsgaWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gPSBudWxsO1xuICBwdWJsaWMgc2VydmVyTGlua2VkQXBpRXJyb3I6IHsgaWQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gPSBudWxsO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGNhc2VKdXJpc2RpY3Rpb25JRCA9IG51bGw7XG4gIHB1YmxpYyBzdG9yZWRDYXNlTnVtYmVyID0gJyc7XG4gIHB1YmxpYyBjYW1lRnJvbUZpbmFsU3RlcCA9IGZhbHNlO1xuICBwdWJsaWMgaGFzTmF2aWdhdGVkSW5Kb3VybmV5ID0gZmFsc2U7XG4gIHB1YmxpYyBjYWNoZWRGaWVsZFZhbHVlcztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSkge1xuICAgIHRoaXMuanVyaXNkaWN0aW9uU2VydmljZS5nZXRKdXJpc2RpY3Rpb25zKCkuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb25zKSA9PiB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZSA9IGp1cmlzZGljdGlvbnM7XG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICB0aGlzLnNlcnZlckp1cmlzZGljdGlvbkVycm9yID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBncm91cExpbmtlZENhc2VzQnlDYXNlVHlwZSA9IChhcnJPYmosIGtleSkgPT4ge1xuICAgIHJldHVybiBhcnJPYmoucmVkdWNlKChydiwgeCkgPT4ge1xuICAgICAgKHJ2W3gudmFsdWVba2V5XV0gPSBydlt4LnZhbHVlW2tleV1dIHx8IFtdKS5wdXNoKHgudmFsdWVbJ0Nhc2VSZWZlcmVuY2UnXSk7XG4gICAgICByZXR1cm4gcnY7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShjYXNlSWRzOiBhbnlbXSwgc2l6ZTogbnVtYmVyKTogRVNRdWVyeVR5cGUge1xuICAgIHJldHVybiB7XG4gICAgICBxdWVyeToge1xuICAgICAgICB0ZXJtczoge1xuICAgICAgICAgIHJlZmVyZW5jZTogY2FzZUlkcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzaXplLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcmVzZXRMaW5rZWRDYXNlRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VGaWVsZFZhbHVlID0gW107XG4gICAgdGhpcy5saW5rZWRDYXNlcyA9IFtdO1xuICAgIHRoaXMuc3RvcmVkQ2FzZU51bWJlciA9ICcnO1xuICAgIHRoaXMuY2FtZUZyb21GaW5hbFN0ZXAgPSBmYWxzZTtcbiAgICB0aGlzLmhhc05hdmlnYXRlZEluSm91cm5leSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG1hcFJlc3BvbnNlKGVzU2VhcmNoQ2FzZXNSZXNwb25zZSk6IGFueSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHMuY2FzZU5hbWVIbWN0c0ludGVybmFsIHx8IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhULFxuICAgICAgY2FzZVR5cGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ0NBU0VfVFlQRScsIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2ZpZWxkc1snW0NBU0VfVFlQRV0nXSksXG4gICAgICBzZXJ2aWNlOiB0aGlzLm1hcExvb2t1cElEVG9WYWx1ZUZyb21KdXJpc2RpY3Rpb25zKCdKVVJJU0RJQ1RJT04nLCBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9maWVsZHNbJ1tKVVJJU0RJQ1RJT05dJ10pLFxuICAgICAgc3RhdGU6IHRoaXMubWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoJ1NUQVRFJywgZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfZmllbGRzWydbU1RBVEVdJ10pLFxuICAgICAgcmVhc29uczogY2FzZUluZm8/LnZhbHVlPy5SZWFzb25Gb3JMaW5rXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbExpbmtlZENhc2VJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDYXNlc1Jlc3BvbnNlID0gW107XG4gICAgY29uc3QgbGlua2VkQ2FzZUlkcyA9IHRoaXMuZ3JvdXBMaW5rZWRDYXNlc0J5Q2FzZVR5cGUodGhpcy5jYXNlRmllbGRWYWx1ZSwgJ0Nhc2VUeXBlJyk7XG4gICAgY29uc3QgY2FzZVR5cGVJZCA9IHRoaXMuY2FzZURldGFpbHMuY2FzZV90eXBlLmlkO1xuICAgIE9iamVjdC5rZXlzKGxpbmtlZENhc2VJZHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGVzUXVlcnkgPSB0aGlzLmNvbnN0cnVjdEVsYXN0aWNTZWFyY2hRdWVyeShsaW5rZWRDYXNlSWRzW2tleV0sIDEwMCk7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hDYXNlc0J5SWRzKGNhc2VUeXBlSWQsIGVzUXVlcnksIFNlYXJjaFNlcnZpY2UuVklFV19XT1JLQkFTS0VUKTtcbiAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaChxdWVyeSk7XG4gICAgfSk7XG4gICAgaWYgKHNlYXJjaENhc2VzUmVzcG9uc2UubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2UpLnN1YnNjcmliZSgoc2VhcmNoQ2FzZXM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjYXNlc1Jlc3BvbnNlID0gW107XG4gICAgICAgIHNlYXJjaENhc2VzLmZvckVhY2gocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJlc3BvbnNlLnJlc3VsdHMuZm9yRWFjaCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNhc2VzUmVzcG9uc2UucHVzaCh0aGlzLm1hcFJlc3BvbnNlKHJlc3VsdCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rZWRDYXNlcyA9IGNhc2VzUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFJlYXNvbjogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvbjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbms7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxDYXNlTGlua3MgPSB0aGlzLmxpbmtlZENhc2VzO1xuICAgICAgICB0aGlzLnNlcnZlckxpbmtlZEFwaUVycm9yID0gbnVsbDtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICB0aGlzLnNlcnZlckxpbmtlZEFwaUVycm9yID0ge1xuICAgICAgICAgIGlkOiAnYmFja2VuZEVycm9yJywgbWVzc2FnZTogJ1NvbWUgY2FzZSBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlIGF0IHRoZSBtb21lbnQnXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWFwTG9va3VwSURUb1ZhbHVlRnJvbUp1cmlzZGljdGlvbnMoZmllbGROYW1lLCBmaWVsZFZhbHVlKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uc1Jlc3BvbnNlICYmXG4gICAgICB0aGlzLmp1cmlzZGljdGlvbnNSZXNwb25zZS5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gdGhpcy5jYXNlRGV0YWlscy5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmlkKTtcbiAgICBjb25zdCBzZWxlY3RlZENhc2VUeXBlID0gc2VsZWN0ZWRKdXJpc2RpY3Rpb24gJiYgc2VsZWN0ZWRKdXJpc2RpY3Rpb24uY2FzZVR5cGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSB0aGlzLmNhc2VEZXRhaWxzLmNhc2VfdHlwZS5pZCk7XG4gICAgY29uc3Qgc3RhdGUgPSBzZWxlY3RlZENhc2VUeXBlICYmIHNlbGVjdGVkQ2FzZVR5cGUuc3RhdGVzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlKTtcbiAgICBzd2l0Y2ggKGZpZWxkTmFtZSkge1xuICAgICAgY2FzZSAnSlVSSVNESUNUSU9OJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkSnVyaXNkaWN0aW9uICYmIHNlbGVjdGVkSnVyaXNkaWN0aW9uLmRlc2NyaXB0aW9uO1xuICAgICAgY2FzZSAnQ0FTRV9UWVBFJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5uYW1lO1xuICAgICAgY2FzZSAnQ0FTRV9UWVBFX0RFU0NSSVBUSU9OJzpcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkQ2FzZVR5cGUgJiYgc2VsZWN0ZWRDYXNlVHlwZS5kZXNjcmlwdGlvbjtcbiAgICAgIGNhc2UgJ1NUQVRFJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLm5hbWUgfHwgZmllbGRWYWx1ZTtcbiAgICAgIGNhc2UgJ1NUQVRFX0RFU0NSSVBUSU9OJzpcbiAgICAgICAgcmV0dXJuIHN0YXRlICYmIHN0YXRlLmRlc2NyaXB0aW9uIHx8IGZpZWxkVmFsdWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZU5hbWUoc2VhcmNoQ2FzZXNSZXNwb25zZTogQ2FzZVZpZXcpOiBzdHJpbmcge1xuICAgIGxldCBjYXNlTmFtZSA9IExpbmtlZENhc2VzU2VydmljZS5DQVNFX05BTUVfTUlTU0lOR19URVhUO1xuICAgIGNvbnN0IHRhYnMgPSBzZWFyY2hDYXNlc1Jlc3BvbnNlLnRhYnMuZmlsdGVyKHRhYiA9PiB7XG4gICAgICBjb25zdCBjYXNlTmFtZUhtY3RzSW50ZXJuYWxGaWVsZCA9IHRhYi5maWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gJ2Nhc2VOYW1lSG1jdHNJbnRlcm5hbCcpO1xuICAgICAgaWYgKGNhc2VOYW1lSG1jdHNJbnRlcm5hbEZpZWxkKSB7XG4gICAgICAgIGNhc2VOYW1lID0gY2FzZU5hbWVIbWN0c0ludGVybmFsRmllbGQudmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNhc2VOYW1lO1xuICB9XG59XG4iXX0=