@hmcts/ccd-case-ui-toolkit 7.1.51-ongoing-accessibility → 7.1.51-ongoing-accessibility-v1.1

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 (106) hide show
  1. package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +154 -33
  2. package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +103 -43
  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 +7 -1
  5. package/esm2022/lib/shared/components/case-list/case-list.component.mjs +6 -6
  6. package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
  7. package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +15 -5
  8. package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +95 -0
  9. package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +81 -0
  10. package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
  11. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +6 -6
  12. package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +30 -21
  13. package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
  14. package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +25 -22
  15. package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +154 -36
  16. package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +33 -29
  17. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +33 -28
  18. package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +177 -71
  19. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.mjs +32 -28
  20. package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +123 -105
  21. package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +31 -4
  22. package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +147 -33
  23. package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +44 -23
  24. package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +31 -9
  25. package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +84 -50
  26. package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
  27. package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +84 -44
  28. package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +25 -2
  29. package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +110 -30
  30. package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
  31. package/esm2022/lib/shared/domain/index.mjs +2 -1
  32. package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
  33. package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
  34. package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
  35. package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
  36. package/esm2022/lib/shared/services/index.mjs +2 -1
  37. package/esm2022/lib/shared/services/journey/index.mjs +2 -0
  38. package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +117 -0
  39. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1865 -789
  40. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  41. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +19 -3
  42. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  43. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +11 -2
  44. package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
  45. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  46. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +3 -0
  47. package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
  48. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
  49. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  50. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +5 -1
  51. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  52. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
  53. package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
  54. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
  55. package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
  56. package/lib/shared/components/palette/base-field/index.d.ts +2 -0
  57. package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
  58. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
  59. package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
  60. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
  61. package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
  62. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +16 -4
  63. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  64. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
  65. package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
  66. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +5 -2
  67. package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
  68. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +21 -6
  69. package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
  70. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.d.ts +5 -2
  71. 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
  72. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +7 -3
  73. package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
  74. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +1 -0
  75. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  76. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +18 -6
  77. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  78. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -4
  79. package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
  80. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +8 -3
  81. package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
  82. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +8 -3
  83. package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
  84. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
  85. package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
  86. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +9 -3
  87. package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
  88. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +8 -0
  89. package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
  90. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +10 -3
  91. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  92. package/lib/shared/domain/index.d.ts +1 -0
  93. package/lib/shared/domain/index.d.ts.map +1 -1
  94. package/lib/shared/domain/journey/index.d.ts +3 -0
  95. package/lib/shared/domain/journey/index.d.ts.map +1 -0
  96. package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
  97. package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
  98. package/lib/shared/domain/journey/journey.model.d.ts +19 -0
  99. package/lib/shared/domain/journey/journey.model.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/journey/index.d.ts +2 -0
  103. package/lib/shared/services/journey/index.d.ts.map +1 -0
  104. package/lib/shared/services/journey/multipage-component-state.service.d.ts +26 -0
  105. package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
  106. package/package.json +1 -1
@@ -1,13 +1,14 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { FormControl, FormGroup } from '@angular/forms';
3
3
  import { CaseFlagFieldState, CaseFlagFormFields, CaseFlagWizardStepTitle, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationStep } from '../../../enums';
4
+ import { AbstractJourneyComponent } from '../../../../base-field';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  import * as i2 from "@angular/forms";
7
8
  import * as i3 from "rpx-xui-translation";
8
9
  const _c0 = a0 => ({ "form-group-error": a0 });
9
10
  function UpdateFlagAddTranslationFormComponent_div_14_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
11
+ i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
11
12
  i0.ɵɵtext(2);
12
13
  i0.ɵɵpipe(3, "rpxTranslate");
13
14
  i0.ɵɵelementEnd();
@@ -22,7 +23,7 @@ function UpdateFlagAddTranslationFormComponent_div_14_Template(rf, ctx) { if (rf
22
23
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.otherFlagDescriptionCharLimitErrorMessage), " ");
23
24
  } }
24
25
  function UpdateFlagAddTranslationFormComponent_div_24_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "div", 21)(1, "span", 20);
26
+ i0.ɵɵelementStart(0, "div", 19)(1, "span", 18);
26
27
  i0.ɵɵtext(2);
27
28
  i0.ɵɵpipe(3, "rpxTranslate");
28
29
  i0.ɵɵelementEnd();
@@ -37,7 +38,7 @@ function UpdateFlagAddTranslationFormComponent_div_24_Template(rf, ctx) { if (rf
37
38
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.otherFlagDescriptionWelshCharLimitErrorMessage), " ");
38
39
  } }
39
40
  function UpdateFlagAddTranslationFormComponent_div_34_Template(rf, ctx) { if (rf & 1) {
40
- i0.ɵɵelementStart(0, "div", 22)(1, "span", 20);
41
+ i0.ɵɵelementStart(0, "div", 20)(1, "span", 18);
41
42
  i0.ɵɵtext(2);
42
43
  i0.ɵɵpipe(3, "rpxTranslate");
43
44
  i0.ɵɵelementEnd();
@@ -52,7 +53,7 @@ function UpdateFlagAddTranslationFormComponent_div_34_Template(rf, ctx) { if (rf
52
53
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsCharLimitErrorMessage), " ");
53
54
  } }
54
55
  function UpdateFlagAddTranslationFormComponent_div_44_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵelementStart(0, "div", 23)(1, "span", 20);
56
+ i0.ɵɵelementStart(0, "div", 21)(1, "span", 18);
56
57
  i0.ɵɵtext(2);
57
58
  i0.ɵɵpipe(3, "rpxTranslate");
58
59
  i0.ɵɵelementEnd();
@@ -66,7 +67,7 @@ function UpdateFlagAddTranslationFormComponent_div_44_Template(rf, ctx) { if (rf
66
67
  i0.ɵɵadvance(2);
67
68
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.flagCommentsWelshCharLimitErrorMessage), " ");
68
69
  } }
69
- export class UpdateFlagAddTranslationFormComponent {
70
+ export class UpdateFlagAddTranslationFormComponent extends AbstractJourneyComponent {
70
71
  formGroup;
71
72
  caseFlagStateEmitter = new EventEmitter();
72
73
  selectedFlag;
@@ -83,12 +84,16 @@ export class UpdateFlagAddTranslationFormComponent {
83
84
  ngOnInit() {
84
85
  this.updateFlagAddTranslationTitle = CaseFlagWizardStepTitle.UPDATE_FLAG_ADD_TRANSLATION;
85
86
  this.selectedFlag = this.formGroup.get(this.selectedManageCaseLocation).value;
87
+ this.multipageComponentStateService.getJourneyCollectionMainObject().journeyEndPageNumber++;
86
88
  const flagDetail = this.selectedFlag?.flagDetailDisplay?.flagDetail;
87
89
  this.formGroup.addControl(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION, new FormControl(flagDetail?.otherDescription));
88
90
  this.formGroup.addControl(CaseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH, new FormControl(flagDetail?.otherDescription_cy));
89
91
  this.formGroup.addControl(CaseFlagFormFields.COMMENTS, new FormControl(flagDetail?.flagComment));
90
92
  this.formGroup.addControl(CaseFlagFormFields.COMMENTS_WELSH, new FormControl(flagDetail?.flagComment_cy));
91
93
  }
94
+ ngOnDestroy() {
95
+ this.multipageComponentStateService.getJourneyCollectionMainObject().journeyEndPageNumber--;
96
+ }
92
97
  onNext() {
93
98
  // Validate translation entries
94
99
  this.validateTextEntry();
@@ -140,8 +145,14 @@ export class UpdateFlagAddTranslationFormComponent {
140
145
  });
141
146
  }
142
147
  }
143
- static ɵfac = function UpdateFlagAddTranslationFormComponent_Factory(t) { return new (t || UpdateFlagAddTranslationFormComponent)(); };
144
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagAddTranslationFormComponent, selectors: [["ccd-update-flag-add-translation-form"]], inputs: { formGroup: "formGroup" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, decls: 54, vars: 57, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-6"], [1, "govuk-label", "govuk-label--m"], ["id", "add-translation-form-hint", 1, "govuk-hint"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "add-translation-other-flag-description-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-translation-other-flag-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-other-flag-description-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-button-group"], ["id", "updateFlagNextButton", "type", "button", 1, "govuk-button", 3, "click"], ["id", "add-translation-other-flag-description-char-limit-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", 1, "govuk-error-message"]], template: function UpdateFlagAddTranslationFormComponent_Template(rf, ctx) { if (rf & 1) {
148
+ next() {
149
+ this.onNext();
150
+ if (this.errorMessages.length === 0) {
151
+ super.next();
152
+ }
153
+ }
154
+ static ɵfac = /*@__PURE__*/ (() => { let ɵUpdateFlagAddTranslationFormComponent_BaseFactory; return function UpdateFlagAddTranslationFormComponent_Factory(t) { return (ɵUpdateFlagAddTranslationFormComponent_BaseFactory || (ɵUpdateFlagAddTranslationFormComponent_BaseFactory = i0.ɵɵgetInheritedFactory(UpdateFlagAddTranslationFormComponent)))(t || UpdateFlagAddTranslationFormComponent); }; })();
155
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagAddTranslationFormComponent, selectors: [["ccd-update-flag-add-translation-form"]], inputs: { formGroup: "formGroup" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 50, vars: 54, consts: [[3, "formGroup"], ["data-module", "govuk-character-count", "data-maxlength", "200", 1, "govuk-character-count"], [1, "govuk-form-group", 3, "ngClass"], [1, "govuk-label-wrapper", "govuk-!-margin-bottom-6"], [1, "govuk-label", "govuk-label--m"], ["id", "add-translation-form-hint", 1, "govuk-hint"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "add-translation-other-flag-description-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "add-translation-other-flag-description-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-other-flag-description-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["id", "add-translation-flag-comments-welsh-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "add-translation-other-flag-description-char-limit-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "add-translation-other-flag-description-welsh-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-char-limit-error", 1, "govuk-error-message"], ["id", "add-translation-flag-comments-welsh-char-limit-error", 1, "govuk-error-message"]], template: function UpdateFlagAddTranslationFormComponent_Template(rf, ctx) { if (rf & 1) {
145
156
  i0.ɵɵelementContainerStart(0, 0);
146
157
  i0.ɵɵelementStart(1, "div", 1)(2, "div", 2)(3, "h1", 3)(4, "label", 4);
147
158
  i0.ɵɵtext(5);
@@ -200,70 +211,63 @@ export class UpdateFlagAddTranslationFormComponent {
200
211
  i0.ɵɵpipe(49, "rpxTranslate");
201
212
  i0.ɵɵelementEnd()()()();
202
213
  i0.ɵɵelementContainerEnd();
203
- i0.ɵɵelementStart(50, "div", 17)(51, "button", 18);
204
- i0.ɵɵlistener("click", function UpdateFlagAddTranslationFormComponent_Template_button_click_51_listener() { return ctx.onNext(); });
205
- i0.ɵɵtext(52);
206
- i0.ɵɵpipe(53, "rpxTranslate");
207
- i0.ɵɵelementEnd()();
208
214
  } if (rf & 2) {
209
215
  i0.ɵɵproperty("formGroup", ctx.formGroup);
210
216
  i0.ɵɵadvance(2);
211
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(55, _c0, ctx.errorMessages.length > 0));
217
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(52, _c0, ctx.errorMessages.length > 0));
212
218
  i0.ɵɵadvance(3);
213
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 33, ctx.updateFlagAddTranslationTitle), " ");
219
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 32, ctx.updateFlagAddTranslationTitle), " ");
214
220
  i0.ɵɵadvance(3);
215
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 35, ctx.updateFlagAddTranslationStepEnum.HINT_TEXT), " ");
221
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 34, ctx.updateFlagAddTranslationStepEnum.HINT_TEXT), " ");
216
222
  i0.ɵɵadvance(3);
217
223
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION);
218
224
  i0.ɵɵadvance();
219
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 37, "Other description"));
225
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 36, "Other description"));
220
226
  i0.ɵɵadvance(2);
221
227
  i0.ɵɵproperty("ngIf", ctx.otherFlagDescriptionCharLimitErrorMessage);
222
228
  i0.ɵɵadvance();
223
229
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION)("name", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION)("formControlName", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION);
224
230
  i0.ɵɵadvance(3);
225
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 39, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
231
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(19, 38, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
226
232
  i0.ɵɵadvance(3);
227
233
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH);
228
234
  i0.ɵɵadvance();
229
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 41, "Other description (Welsh)"));
235
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 40, "Other description (Welsh)"));
230
236
  i0.ɵɵadvance(2);
231
237
  i0.ɵɵproperty("ngIf", ctx.otherFlagDescriptionWelshCharLimitErrorMessage);
232
238
  i0.ɵɵadvance();
233
239
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH)("name", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH)("formControlName", ctx.caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH);
234
240
  i0.ɵɵadvance(3);
235
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 43, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
241
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(29, 42, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
236
242
  i0.ɵɵadvance(3);
237
243
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
238
244
  i0.ɵɵadvance();
239
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "Flag comments"));
245
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 44, "Flag comments"));
240
246
  i0.ɵɵadvance(2);
241
247
  i0.ɵɵproperty("ngIf", ctx.flagCommentsCharLimitErrorMessage);
242
248
  i0.ɵɵadvance();
243
249
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.COMMENTS)("name", ctx.caseFlagFormFields.COMMENTS)("formControlName", ctx.caseFlagFormFields.COMMENTS);
244
250
  i0.ɵɵadvance(3);
245
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(39, 47, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
251
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(39, 46, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
246
252
  i0.ɵɵadvance(3);
247
253
  i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS_WELSH);
248
254
  i0.ɵɵadvance();
249
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(43, 49, "Flag comments (Welsh)"));
255
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(43, 48, "Flag comments (Welsh)"));
250
256
  i0.ɵɵadvance(2);
251
257
  i0.ɵɵproperty("ngIf", ctx.flagCommentsWelshCharLimitErrorMessage);
252
258
  i0.ɵɵadvance();
253
259
  i0.ɵɵproperty("id", ctx.caseFlagFormFields.COMMENTS_WELSH)("name", ctx.caseFlagFormFields.COMMENTS_WELSH)("formControlName", ctx.caseFlagFormFields.COMMENTS_WELSH);
254
260
  i0.ɵɵadvance(3);
255
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(49, 51, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
256
- i0.ɵɵadvance(4);
257
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(53, 53, "Next"), " ");
261
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(49, 50, ctx.updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO), " ");
258
262
  } }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i3.RpxTranslatePipe], encapsulation: 2 });
259
263
  }
260
264
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagAddTranslationFormComponent, [{
261
265
  type: Component,
262
- args: [{ selector: 'ccd-update-flag-add-translation-form', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-6\">\n <label class=\"govuk-label govuk-label--m\">\n {{ updateFlagAddTranslationTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"add-translation-form-hint\" class=\"govuk-hint\">\n {{ updateFlagAddTranslationStepEnum.HINT_TEXT | rpxTranslate}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\" class=\"govuk-label govuk-label--s\">{{'Other description' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\">\n </textarea>\n <div id=\"add-translation-other-flag-description-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\" class=\"govuk-label govuk-label--s\">{{'Other description (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\">\n </textarea>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS\" class=\"govuk-label govuk-label--s\">{{'Flag comments' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\">\n </textarea>\n <div id=\"add-translation-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS_WELSH\" class=\"govuk-label govuk-label--s\">{{'Flag comments (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [name]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [formControlName]=\"caseFlagFormFields.COMMENTS_WELSH\">\n </textarea>\n <div id=\"add-translation-flag-comments-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div class=\"govuk-button-group\">\n <button id=\"updateFlagNextButton\" class=\"govuk-button\" type=\"button\" (click)=\"onNext()\">\n {{'Next' | rpxTranslate}}\n </button>\n</div>\n" }]
266
+ args: [{ selector: 'ccd-update-flag-add-translation-form', template: "<ng-container [formGroup]=\"formGroup\">\n <div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"200\">\n <div class=\"govuk-form-group\" [ngClass]=\"{'form-group-error': errorMessages.length > 0}\">\n <h1 class=\"govuk-label-wrapper govuk-!-margin-bottom-6\">\n <label class=\"govuk-label govuk-label--m\">\n {{ updateFlagAddTranslationTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"add-translation-form-hint\" class=\"govuk-hint\">\n {{ updateFlagAddTranslationStepEnum.HINT_TEXT | rpxTranslate}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\" class=\"govuk-label govuk-label--s\">{{'Other description' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION\">\n </textarea>\n <div id=\"add-translation-other-flag-description-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\" class=\"govuk-label govuk-label--s\">{{'Other description (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"otherFlagDescriptionWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{otherFlagDescriptionWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [name]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\"\n [formControlName]=\"caseFlagFormFields.OTHER_FLAG_DESCRIPTION_WELSH\">\n </textarea>\n <div id=\"add-translation-other-flag-description-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS\" class=\"govuk-label govuk-label--s\">{{'Flag comments' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\">\n </textarea>\n <div id=\"add-translation-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label [for]=\"caseFlagFormFields.COMMENTS_WELSH\" class=\"govuk-label govuk-label--s\">{{'Flag comments (Welsh)' | rpxTranslate}}</label>\n <div id=\"add-translation-flag-comments-welsh-char-limit-error\" class=\"govuk-error-message\"\n *ngIf=\"flagCommentsWelshCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{flagCommentsWelshCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea\n class=\"govuk-textarea\" rows=\"5\"\n [id]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [name]=\"caseFlagFormFields.COMMENTS_WELSH\"\n [formControlName]=\"caseFlagFormFields.COMMENTS_WELSH\">\n </textarea>\n <div id=\"add-translation-flag-comments-welsh-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagAddTranslationStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </div>\n </div>\n </div>\n</ng-container>" }]
263
267
  }], null, { formGroup: [{
264
268
  type: Input
265
269
  }], caseFlagStateEmitter: [{
266
270
  type: Output
267
271
  }] }); })();
268
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagAddTranslationFormComponent, { className: "UpdateFlagAddTranslationFormComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.ts", lineNumber: 17 }); })();
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0vdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0vdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzdCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNNZCxBQUZGLCtCQUN3RCxlQUNsQjtJQUFBLFlBQTJCOztJQUFBLGlCQUFPO0lBQUMsWUFDekU7O0lBQUEsaUJBQU07OztJQURnQyxlQUEyQjtJQUEzQixvREFBMkI7SUFBUSxlQUN6RTtJQUR5RSx1R0FDekU7OztJQWdCRSxBQUZG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WUFJTyxlQUF5QztZQUF6QywyREFBeUM7WUFBb0MsY0FBMEM7WUFBMUMscUVBQTBDO1lBRXZILGVBQTRDO1lBQTVDLGlFQUE0QztZQUtqRCxjQUF3QztZQUV4QyxBQURBLEFBREEsMERBQXdDLCtDQUNFLDBEQUNXO1lBR3JELGVBQ0Y7WUFERSxrSEFDRjtZQVFKLGVBQ0Y7WUFERSwrREFDRjs7O2lGRHRFVyxxQ0FBcUM7Y0FKakQsU0FBUzsyQkFDRSxzQ0FBc0M7Z0JBSWhDLFNBQVM7a0JBQXhCLEtBQUs7WUFFVyxvQkFBb0I7a0JBQXBDLE1BQU07O2tGQUhJLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnRm9ybUZpZWxkcyxcbiAgQ2FzZUZsYWdXaXphcmRTdGVwVGl0bGUsXG4gIFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZSxcbiAgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uU3RlcFxufSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC11cGRhdGUtZmxhZy1hZGQtdHJhbnNsYXRpb24tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtZmxhZy1hZGQtdHJhbnNsYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkRmxhZzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcbiAgcHVibGljIHVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblRpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBvdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIG90aGVyRmxhZ0Rlc2NyaXB0aW9uV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNXZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtID0gVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VGbGFnRm9ybUZpZWxkcyA9IENhc2VGbGFnRm9ybUZpZWxkcztcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0TWF4Q2hhckxpbWl0ID0gMjAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25UaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX0FERF9UUkFOU0xBVElPTjtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoO1xuICAgIGNvbnN0IGZsYWdEZXRhaWwgPSB0aGlzLnNlbGVjdGVkRmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWw7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTiwgbmV3IEZvcm1Db250cm9sKGZsYWdEZXRhaWw/Lm90aGVyRGVzY3JpcHRpb24pKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OX1dFTFNILCBuZXcgRm9ybUNvbnRyb2woZmxhZ0RldGFpbD8ub3RoZXJEZXNjcmlwdGlvbl9jeSkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTLCBuZXcgRm9ybUNvbnRyb2woZmxhZ0RldGFpbD8uZmxhZ0NvbW1lbnQpKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU19XRUxTSCwgbmV3IEZvcm1Db250cm9sKGZsYWdEZXRhaWw/LmZsYWdDb21tZW50X2N5KSk7XG4gIH1cblxuICBwdWJsaWMgb25OZXh0KCk6IHZvaWQge1xuICAgIC8vIFZhbGlkYXRlIHRyYW5zbGF0aW9uIGVudHJpZXNcbiAgICB0aGlzLnZhbGlkYXRlVGV4dEVudHJ5KCk7XG5cbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIHNlbGVjdGVkIGZsYWcgZGV0YWlsIHRvIHRoZSBwYXJlbnQuIFRoZSBzZWxlY3RlZCBmbGFnIG11c3QgYmVcbiAgICAvLyByZS1lbWl0dGVkIGJlY2F1c2UgdGhlIHBhcmVudCBjb21wb25lbnQgcmVwb3B1bGF0ZXMgdGhpcyBvbiBoYW5kbGluZyB0aGlzIEV2ZW50RW1pdHRlclxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEVfV0VMU0hfVFJBTlNMQVRJT04sXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnLFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLm90aGVyRmxhZ0Rlc2NyaXB0aW9uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLm90aGVyRmxhZ0Rlc2NyaXB0aW9uV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmZsYWdDb21tZW50c1dlbHNoQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT04pPy52YWx1ZT8ubGVuZ3RoID4gdGhpcy50ZXh0TWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLm90aGVyRmxhZ0Rlc2NyaXB0aW9uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlLkRFU0NSSVBUSU9OX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5ERVNDUklQVElPTl9DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTlxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTl9XRUxTSCk/LnZhbHVlPy5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMub3RoZXJGbGFnRGVzY3JpcHRpb25XZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5ERVNDUklQVElPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UuREVTQ1JJUFRJT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0hcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTKT8udmFsdWU/Lmxlbmd0aCA+IHRoaXMudGV4dE1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UuQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlLkNPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0gpPy52YWx1ZT8ubGVuZ3RoID4gdGhpcy50ZXh0TWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLmZsYWdDb21tZW50c1dlbHNoQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlLkNPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0hcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNlwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiPlxuICAgICAgICAgIHt7IHVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblRpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvaDE+XG4gICAgICA8ZGl2IGlkPVwiYWRkLXRyYW5zbGF0aW9uLWZvcm0taGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICB7eyB1cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25TdGVwRW51bS5ISU5UX1RFWFQgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIj57eydPdGhlciBkZXNjcmlwdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tb3RoZXItZmxhZy1kZXNjcmlwdGlvbi1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e290aGVyRmxhZ0Rlc2NyaXB0aW9uQ2hhckxpbWl0RXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIiByb3dzPVwiNVwiXG4gICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OXCJcbiAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8ZGl2IGlkPVwiYWRkLXRyYW5zbGF0aW9uLW90aGVyLWZsYWctZGVzY3JpcHRpb24tY2hhci1saW1pdC1pbmZvXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uU3RlcEVudW0uQ0hBUkFDVEVSX0xJTUlUX0lORk8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0hcIiBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1zXCI+e3snT3RoZXIgZGVzY3JpcHRpb24gKFdlbHNoKScgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tb3RoZXItZmxhZy1kZXNjcmlwdGlvbi13ZWxzaC1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvdGhlckZsYWdEZXNjcmlwdGlvbldlbHNoQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7b3RoZXJGbGFnRGVzY3JpcHRpb25XZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgcm93cz1cIjVcIlxuICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTl9XRUxTSFwiXG4gICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0hcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0hcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1vdGhlci1mbGFnLWRlc2NyaXB0aW9uLXdlbHNoLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIj57eydGbGFnIGNvbW1lbnRzJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAqbmdJZj1cImZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2ZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgcm93cz1cIjVcIlxuICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcIlxuICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU19XRUxTSFwiIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIj57eydGbGFnIGNvbW1lbnRzIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICA8ZGl2IGlkPVwiYWRkLXRyYW5zbGF0aW9uLWZsYWctY29tbWVudHMtd2Vsc2gtY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiZmxhZ0NvbW1lbnRzV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnQ29tbWVudHNXZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgcm93cz1cIjVcIlxuICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0hcIlxuICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU19XRUxTSFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0hcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1mbGFnLWNvbW1lbnRzLXdlbHNoLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGlkPVwidXBkYXRlRmxhZ05leHRCdXR0b25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5cbiAgICB7eydOZXh0JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
272
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagAddTranslationFormComponent, { className: "UpdateFlagAddTranslationFormComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag-add-translation-form/update-flag-add-translation-form.component.ts", lineNumber: 18 }); })();
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0vdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0vdXBkYXRlLWZsYWctYWRkLXRyYW5zbGF0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7SUNLeEQsQUFGRiwrQkFDd0QsZUFDbEI7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFB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TyxlQUF1RDtZQUF2RCx5RUFBdUQ7WUFBb0MsY0FBOEM7WUFBOUMseUVBQThDO1lBRXpJLGVBQW9EO1lBQXBELHlFQUFvRDtZQUt6RCxjQUFzRDtZQUV0RCxBQURBLEFBREEsd0VBQXNELDZEQUNFLHdFQUNXO1lBR25FLGVBQ0Y7WUFERSxrSEFDRjtZQUlPLGVBQW1DO1lBQW5DLHFEQUFtQztZQUFvQyxjQUFrQztZQUFsQyw2REFBa0M7WUFFekcsZUFBdUM7WUFBdkMsNERBQXVDO1lBSzVDLGNBQWtDO1lBRWxDLEFBREEsQUFEQSxvREFBa0MseUNBQ0Usb0RBQ1c7WUFHL0MsZUFDRjtZQURFLGtIQUNGO1lBSU8sZUFBeUM7WUFBekMsMkRBQXlDO1lBQW9DLGNBQTBDO1lBQTFDLHFFQUEwQztZQUV2SCxlQUE0QztZQUE1QyxpRUFBNEM7WUFLakQsY0FBd0M7WUFFeEMsQUFEQSxBQURBLDBEQUF3QywrQ0FDRSwwREFDVztZQUdyRCxlQUNGO1lBREUsa0hBQ0Y7OztpRkQ1REsscUNBQXFDO2NBSmpELFNBQVM7MkJBQ0Usc0NBQXNDO2dCQUloQyxTQUFTO2tCQUF4QixLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNOztrRkFISSxxQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBKb3VybmV5IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VGbGFnU3RhdGUsIEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGggfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgQ2FzZUZsYWdGaWVsZFN0YXRlLFxuICBDYXNlRmxhZ0Zvcm1GaWVsZHMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UsXG4gIFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBcbn0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RKb3VybmV5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYmFzZS1maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC11cGRhdGUtZmxhZy1hZGQtdHJhbnNsYXRpb24tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtZmxhZy1hZGQtdHJhbnNsYXRpb24tZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Sm91cm5leUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgSm91cm5leSB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBAT3V0cHV0KCkgcHVibGljIGNhc2VGbGFnU3RhdGVFbWl0dGVyOiBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+KCk7XG5cbiAgcHVibGljIHNlbGVjdGVkRmxhZzogRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcbiAgcHVibGljIHVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblRpdGxlOiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZTtcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBvdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIG90aGVyRmxhZ0Rlc2NyaXB0aW9uV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBmbGFnQ29tbWVudHNXZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtID0gVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uU3RlcDtcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VGbGFnRm9ybUZpZWxkcyA9IENhc2VGbGFnRm9ybUZpZWxkcztcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0TWF4Q2hhckxpbWl0ID0gMjAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25UaXRsZSA9IENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLlVQREFURV9GTEFHX0FERF9UUkFOU0xBVElPTjtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uKS52YWx1ZSBhcyBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoO1xuICAgIHRoaXMubXVsdGlwYWdlQ29tcG9uZW50U3RhdGVTZXJ2aWNlLmdldEpvdXJuZXlDb2xsZWN0aW9uTWFpbk9iamVjdCgpLmpvdXJuZXlFbmRQYWdlTnVtYmVyKys7XG4gICAgY29uc3QgZmxhZ0RldGFpbCA9IHRoaXMuc2VsZWN0ZWRGbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbDtcbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OLCBuZXcgRm9ybUNvbnRyb2woZmxhZ0RldGFpbD8ub3RoZXJEZXNjcmlwdGlvbikpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0gsIG5ldyBGb3JtQ29udHJvbChmbGFnRGV0YWlsPy5vdGhlckRlc2NyaXB0aW9uX2N5KSk7XG4gICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFMsIG5ldyBGb3JtQ29udHJvbChmbGFnRGV0YWlsPy5mbGFnQ29tbWVudCkpO1xuICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTX1dFTFNILCBuZXcgRm9ybUNvbnRyb2woZmxhZ0RldGFpbD8uZmxhZ0NvbW1lbnRfY3kpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZS5nZXRKb3VybmV5Q29sbGVjdGlvbk1haW5PYmplY3QoKS5qb3VybmV5RW5kUGFnZU51bWJlci0tO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBWYWxpZGF0ZSB0cmFuc2xhdGlvbiBlbnRyaWVzXG4gICAgdGhpcy52YWxpZGF0ZVRleHRFbnRyeSgpO1xuXG4gICAgLy8gUmV0dXJuIGNhc2UgZmxhZyBmaWVsZCBzdGF0ZSwgZXJyb3IgbWVzc2FnZXMsIGFuZCBzZWxlY3RlZCBmbGFnIGRldGFpbCB0byB0aGUgcGFyZW50LiBUaGUgc2VsZWN0ZWQgZmxhZyBtdXN0IGJlXG4gICAgLy8gcmUtZW1pdHRlZCBiZWNhdXNlIHRoZSBwYXJlbnQgY29tcG9uZW50IHJlcG9wdWxhdGVzIHRoaXMgb24gaGFuZGxpbmcgdGhpcyBFdmVudEVtaXR0ZXJcbiAgICB0aGlzLmNhc2VGbGFnU3RhdGVFbWl0dGVyLmVtaXQoe1xuICAgICAgY3VycmVudENhc2VGbGFnRmllbGRTdGF0ZTogQ2FzZUZsYWdGaWVsZFN0YXRlLkZMQUdfVVBEQVRFX1dFTFNIX1RSQU5TTEFUSU9OLFxuICAgICAgZXJyb3JNZXNzYWdlczogdGhpcy5lcnJvck1lc3NhZ2VzLFxuICAgICAgc2VsZWN0ZWRGbGFnOiB0aGlzLnNlbGVjdGVkRmxhZyxcbiAgICB9KTtcblxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVUZXh0RW50cnkoKTogdm9pZCB7XG4gICAgdGhpcy5vdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5vdGhlckZsYWdEZXNjcmlwdGlvbldlbHNoQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmZsYWdDb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OKT8udmFsdWU/Lmxlbmd0aCA+IHRoaXMudGV4dE1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5vdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5ERVNDUklQVElPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UuREVTQ1JJUFRJT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0gpPy52YWx1ZT8ubGVuZ3RoID4gdGhpcy50ZXh0TWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLm90aGVyRmxhZ0Rlc2NyaXB0aW9uV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UuREVTQ1JJUFRJT05fQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlLkRFU0NSSVBUSU9OX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OX1dFTFNIXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UUyk/LnZhbHVlPy5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuZmxhZ0NvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uRXJyb3JNZXNzYWdlLkNPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTX1dFTFNIKT8udmFsdWU/Lmxlbmd0aCA+IHRoaXMudGV4dE1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5mbGFnQ29tbWVudHNXZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvbkVycm9yTWVzc2FnZS5DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnQWRkVHJhbnNsYXRpb25FcnJvck1lc3NhZ2UuQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTX1dFTFNIXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW1cIj5cbiAgICAgICAgICB7eyB1cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25UaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2gxPlxuICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1mb3JtLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAge3sgdXBkYXRlRmxhZ0FkZFRyYW5zbGF0aW9uU3RlcEVudW0uSElOVF9URVhUIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIiBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1zXCI+e3snT3RoZXIgZGVzY3JpcHRpb24nIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICA8ZGl2IGlkPVwiYWRkLXRyYW5zbGF0aW9uLW90aGVyLWZsYWctZGVzY3JpcHRpb24tY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwib3RoZXJGbGFnRGVzY3JpcHRpb25DaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tvdGhlckZsYWdEZXNjcmlwdGlvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCIgcm93cz1cIjVcIlxuICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuT1RIRVJfRkxBR19ERVNDUklQVElPTlwiXG4gICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05cIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1vdGhlci1mbGFnLWRlc2NyaXB0aW9uLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdBZGRUcmFuc2xhdGlvblN0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgICAgIDxsYWJlbCBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OX1dFTFNIXCIgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tc1wiPnt7J090aGVyIGRlc2NyaXB0aW9uIChXZWxzaCknIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgICAgICA8ZGl2IGlkPVwiYWRkLXRyYW5zbGF0aW9uLW90aGVyLWZsYWctZGVzY3JpcHRpb24td2Vsc2gtY2hhci1saW1pdC1lcnJvclwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwib3RoZXJGbGFnRGVzY3JpcHRpb25XZWxzaENoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e290aGVyRmxhZ0Rlc2NyaXB0aW9uV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiIHJvd3M9XCI1XCJcbiAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLk9USEVSX0ZMQUdfREVTQ1JJUFRJT05fV0VMU0hcIlxuICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OX1dFTFNIXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5PVEhFUl9GTEFHX0RFU0NSSVBUSU9OX1dFTFNIXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tb3RoZXItZmxhZy1kZXNjcmlwdGlvbi13ZWxzaC1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25TdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcIiBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1zXCI+e3snRmxhZyBjb21tZW50cycgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tmbGFnQ29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiIHJvd3M9XCI1XCJcbiAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25TdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgICA8bGFiZWwgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0hcIiBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWxhYmVsLS1zXCI+e3snRmxhZyBjb21tZW50cyAoV2Vsc2gpJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICAgICAgPGRpdiBpZD1cImFkZC10cmFuc2xhdGlvbi1mbGFnLWNvbW1lbnRzLXdlbHNoLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgICAqbmdJZj1cImZsYWdDb21tZW50c1dlbHNoQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7ZmxhZ0NvbW1lbnRzV2Vsc2hDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiIHJvd3M9XCI1XCJcbiAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTX1dFTFNIXCJcbiAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNfV0VMU0hcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTX1dFTFNIXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxkaXYgaWQ9XCJhZGQtdHJhbnNsYXRpb24tZmxhZy1jb21tZW50cy13ZWxzaC1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnQWRkVHJhbnNsYXRpb25TdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19