@hmcts/ccd-case-ui-toolkit 7.1.51-read-only-query-collection → 7.1.51
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.
- package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +154 -33
- package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +103 -43
- package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +7 -4
- package/esm2022/lib/shared/components/case-editor/services/case-flag-state.service.mjs +7 -1
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +14 -4
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +15 -5
- package/esm2022/lib/shared/components/palette/base-field/abstract-field-write-journey.component.mjs +95 -0
- package/esm2022/lib/shared/components/palette/base-field/abstract-journey.component.mjs +81 -0
- package/esm2022/lib/shared/components/palette/base-field/index.mjs +3 -1
- package/esm2022/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.mjs +30 -21
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +3 -3
- package/esm2022/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.mjs +25 -22
- package/esm2022/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.mjs +154 -36
- package/esm2022/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.mjs +33 -29
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.mjs +33 -28
- package/esm2022/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.mjs +177 -71
- 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
- package/esm2022/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.mjs +123 -105
- package/esm2022/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +31 -4
- package/esm2022/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +147 -33
- package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +44 -23
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +29 -7
- package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +84 -50
- package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +13 -9
- package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +84 -44
- package/esm2022/lib/shared/components/palette/linked-cases/services/linked-cases.service.mjs +25 -2
- package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +110 -30
- package/esm2022/lib/shared/components/palette/palette.module.mjs +2 -2
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +21 -8
- package/esm2022/lib/shared/domain/index.mjs +2 -1
- package/esm2022/lib/shared/domain/journey/index.mjs +3 -0
- package/esm2022/lib/shared/domain/journey/journey-instigator.model.mjs +2 -0
- package/esm2022/lib/shared/domain/journey/journey.model.mjs +2 -0
- package/esm2022/lib/shared/pipes/complex/ccd-page-fields.pipe.mjs +2 -2
- package/esm2022/lib/shared/services/index.mjs +2 -1
- package/esm2022/lib/shared/services/journey/index.mjs +2 -0
- package/esm2022/lib/shared/services/journey/multipage-component-state.service.mjs +117 -0
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +1873 -784
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +19 -3
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts +11 -2
- package/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts +3 -0
- package/lib/shared/components/case-editor/services/case-flag-state.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +2 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +5 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts +30 -0
- package/lib/shared/components/palette/base-field/abstract-field-write-journey.component.d.ts.map +1 -0
- package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts +27 -0
- package/lib/shared/components/palette/base-field/abstract-journey.component.d.ts.map +1 -0
- package/lib/shared/components/palette/base-field/index.d.ts +2 -0
- package/lib/shared/components/palette/base-field/index.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts +4 -2
- package/lib/shared/components/palette/case-flag/components/add-comments/add-comments.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts +4 -2
- package/lib/shared/components/palette/case-flag/components/confirm-flag-status/confirm-flag-status.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +16 -4
- package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts +6 -3
- package/lib/shared/components/palette/case-flag/components/search-language-interpreter/search-language-interpreter.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts +5 -2
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts +21 -6
- package/lib/shared/components/palette/case-flag/components/select-flag-type/select-flag-type.component.d.ts.map +1 -1
- 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
- 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
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts +7 -3
- package/lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +1 -0
- package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts +18 -6
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts +6 -4
- package/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts +8 -3
- package/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts +8 -3
- package/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts +5 -2
- package/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts +9 -3
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts +8 -0
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +10 -3
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +3 -2
- package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
- package/lib/shared/domain/index.d.ts +1 -0
- package/lib/shared/domain/index.d.ts.map +1 -1
- package/lib/shared/domain/journey/index.d.ts +3 -0
- package/lib/shared/domain/journey/index.d.ts.map +1 -0
- package/lib/shared/domain/journey/journey-instigator.model.d.ts +5 -0
- package/lib/shared/domain/journey/journey-instigator.model.d.ts.map +1 -0
- package/lib/shared/domain/journey/journey.model.d.ts +19 -0
- package/lib/shared/domain/journey/journey.model.d.ts.map +1 -0
- package/lib/shared/services/index.d.ts +1 -0
- package/lib/shared/services/index.d.ts.map +1 -1
- package/lib/shared/services/journey/index.d.ts +2 -0
- package/lib/shared/services/journey/index.d.ts.map +1 -0
- package/lib/shared/services/journey/multipage-component-state.service.d.ts +26 -0
- package/lib/shared/services/journey/multipage-component-state.service.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -2,35 +2,38 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
3
|
import { RpxTranslationService } from 'rpx-xui-translation';
|
|
4
4
|
import { CaseFlagDisplayContextParameter, CaseFlagFieldState, CaseFlagFormFields, CaseFlagStatus, CaseFlagWizardStepTitle, UpdateFlagErrorMessage, UpdateFlagStep } from '../../enums';
|
|
5
|
+
import { AbstractJourneyComponent } from '../../../base-field';
|
|
6
|
+
import { MultipageComponentStateService } from "../../../../../services";
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "rpx-xui-translation";
|
|
9
|
+
import * as i2 from "../../../../../services";
|
|
7
10
|
const _c0 = a0 => ({ "form-group-error": a0 });
|
|
8
11
|
const _c1 = a0 => ({ "govuk-tag--grey": a0 });
|
|
9
12
|
function UpdateFlagComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
-
i0.ɵɵelementStart(0, "div",
|
|
13
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
11
14
|
i0.ɵɵtext(1);
|
|
12
15
|
i0.ɵɵpipe(2, "updateFlagTitleDisplay");
|
|
13
16
|
i0.ɵɵelementEnd();
|
|
14
17
|
} if (rf & 2) {
|
|
15
|
-
const
|
|
18
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
19
|
i0.ɵɵadvance();
|
|
17
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1,
|
|
20
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.selectedFlag == null ? null : ctx_r0.selectedFlag.flagDetailDisplay == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail), " ");
|
|
18
21
|
} }
|
|
19
22
|
function UpdateFlagComponent_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
i0.ɵɵelementStart(0, "div",
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
21
24
|
i0.ɵɵtext(1);
|
|
22
25
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
23
26
|
i0.ɵɵelementEnd();
|
|
24
27
|
} if (rf & 2) {
|
|
25
|
-
const
|
|
28
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
26
29
|
i0.ɵɵadvance();
|
|
27
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1,
|
|
30
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL), " ");
|
|
28
31
|
} }
|
|
29
32
|
function UpdateFlagComponent_ng_container_15_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
-
i0.ɵɵelementStart(0, "div",
|
|
33
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
|
|
31
34
|
i0.ɵɵtext(2, "!");
|
|
32
35
|
i0.ɵɵelementEnd();
|
|
33
|
-
i0.ɵɵelementStart(3, "strong",
|
|
36
|
+
i0.ɵɵelementStart(3, "strong", 25)(4, "span", 26);
|
|
34
37
|
i0.ɵɵtext(5);
|
|
35
38
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
36
39
|
i0.ɵɵelementEnd();
|
|
@@ -38,14 +41,14 @@ function UpdateFlagComponent_ng_container_15_div_5_Template(rf, ctx) { if (rf &
|
|
|
38
41
|
i0.ɵɵpipe(8, "rpxTranslate");
|
|
39
42
|
i0.ɵɵelementEnd()();
|
|
40
43
|
} if (rf & 2) {
|
|
41
|
-
const
|
|
44
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
42
45
|
i0.ɵɵadvance(5);
|
|
43
46
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
|
|
44
47
|
i0.ɵɵadvance(2);
|
|
45
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4,
|
|
48
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 4, ctx_r0.updateFlagStepEnum.WARNING_TEXT), " ");
|
|
46
49
|
} }
|
|
47
50
|
function UpdateFlagComponent_ng_container_15_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
-
i0.ɵɵelementStart(0, "div",
|
|
51
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
|
|
49
52
|
i0.ɵɵtext(2);
|
|
50
53
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
51
54
|
i0.ɵɵelementEnd();
|
|
@@ -53,14 +56,14 @@ function UpdateFlagComponent_ng_container_15_div_6_Template(rf, ctx) { if (rf &
|
|
|
53
56
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
54
57
|
i0.ɵɵelementEnd();
|
|
55
58
|
} if (rf & 2) {
|
|
56
|
-
const
|
|
59
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
57
60
|
i0.ɵɵadvance(2);
|
|
58
61
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
59
62
|
i0.ɵɵadvance(2);
|
|
60
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4,
|
|
63
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.commentsNotEnteredErrorMessage), " ");
|
|
61
64
|
} }
|
|
62
65
|
function UpdateFlagComponent_ng_container_15_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
-
i0.ɵɵelementStart(0, "div",
|
|
66
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "span", 28);
|
|
64
67
|
i0.ɵɵtext(2);
|
|
65
68
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
66
69
|
i0.ɵɵelementEnd();
|
|
@@ -68,64 +71,64 @@ function UpdateFlagComponent_ng_container_15_div_7_Template(rf, ctx) { if (rf &
|
|
|
68
71
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
69
72
|
i0.ɵɵelementEnd();
|
|
70
73
|
} if (rf & 2) {
|
|
71
|
-
const
|
|
74
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
72
75
|
i0.ɵɵadvance(2);
|
|
73
76
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
74
77
|
i0.ɵɵadvance(2);
|
|
75
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4,
|
|
78
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.commentsCharLimitErrorMessage), " ");
|
|
76
79
|
} }
|
|
77
80
|
function UpdateFlagComponent_ng_container_15_Template(rf, ctx) { if (rf & 1) {
|
|
78
81
|
i0.ɵɵelementContainerStart(0);
|
|
79
|
-
i0.ɵɵelementStart(1, "div",
|
|
82
|
+
i0.ɵɵelementStart(1, "div", 17);
|
|
80
83
|
i0.ɵɵtext(2);
|
|
81
84
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
82
85
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
83
86
|
i0.ɵɵelementEnd();
|
|
84
|
-
i0.ɵɵtemplate(5, UpdateFlagComponent_ng_container_15_div_5_Template, 9, 6, "div",
|
|
85
|
-
i0.ɵɵelementStart(8, "textarea",
|
|
87
|
+
i0.ɵɵtemplate(5, UpdateFlagComponent_ng_container_15_div_5_Template, 9, 6, "div", 18)(6, UpdateFlagComponent_ng_container_15_div_6_Template, 6, 6, "div", 19)(7, UpdateFlagComponent_ng_container_15_div_7_Template, 6, 6, "div", 20);
|
|
88
|
+
i0.ɵɵelementStart(8, "textarea", 21);
|
|
86
89
|
i0.ɵɵtext(9, " ");
|
|
87
90
|
i0.ɵɵelementEnd();
|
|
88
|
-
i0.ɵɵelementStart(10, "div",
|
|
91
|
+
i0.ɵɵelementStart(10, "div", 22);
|
|
89
92
|
i0.ɵɵtext(11);
|
|
90
93
|
i0.ɵɵpipe(12, "rpxTranslate");
|
|
91
94
|
i0.ɵɵelementEnd();
|
|
92
95
|
i0.ɵɵelementContainerEnd();
|
|
93
96
|
} if (rf & 2) {
|
|
94
|
-
const
|
|
97
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
95
98
|
i0.ɵɵadvance(2);
|
|
96
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
99
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.internalUserUpdate ? i0.ɵɵpipeBind1(3, 8, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL) : i0.ɵɵpipeBind1(4, 10, ctx_r0.updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1), " ");
|
|
97
100
|
i0.ɵɵadvance(3);
|
|
98
|
-
i0.ɵɵproperty("ngIf",
|
|
101
|
+
i0.ɵɵproperty("ngIf", ctx_r0.internalUser2Point1EnabledUpdate && ctx_r0.externallyVisibleFlag);
|
|
99
102
|
i0.ɵɵadvance();
|
|
100
|
-
i0.ɵɵproperty("ngIf",
|
|
103
|
+
i0.ɵɵproperty("ngIf", ctx_r0.commentsNotEnteredErrorMessage);
|
|
101
104
|
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵproperty("ngIf",
|
|
105
|
+
i0.ɵɵproperty("ngIf", ctx_r0.commentsCharLimitErrorMessage);
|
|
103
106
|
i0.ɵɵadvance();
|
|
104
|
-
i0.ɵɵproperty("id",
|
|
107
|
+
i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.COMMENTS)("name", ctx_r0.caseFlagFormFields.COMMENTS)("formControlName", ctx_r0.caseFlagFormFields.COMMENTS);
|
|
105
108
|
i0.ɵɵadvance(3);
|
|
106
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 12,
|
|
109
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 12, ctx_r0.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
|
|
107
110
|
} }
|
|
108
111
|
function UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
109
112
|
i0.ɵɵelementContainer(0);
|
|
110
113
|
} }
|
|
111
114
|
function UpdateFlagComponent_ng_template_16_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
112
115
|
i0.ɵɵelementContainerStart(0);
|
|
113
|
-
i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template, 1, 0, "ng-container",
|
|
116
|
+
i0.ɵɵtemplate(1, UpdateFlagComponent_ng_template_16_ng_container_0_ng_container_1_Template, 1, 0, "ng-container", 31);
|
|
114
117
|
i0.ɵɵelementContainerEnd();
|
|
115
118
|
} if (rf & 2) {
|
|
116
119
|
i0.ɵɵnextContext(2);
|
|
117
|
-
const
|
|
120
|
+
const updateFlagStatusReason_r2 = i0.ɵɵreference(19);
|
|
118
121
|
i0.ɵɵadvance();
|
|
119
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
122
|
+
i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r2);
|
|
120
123
|
} }
|
|
121
124
|
function UpdateFlagComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
|
|
122
|
-
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_16_ng_container_0_Template, 2, 1, "ng-container",
|
|
125
|
+
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_16_ng_container_0_Template, 2, 1, "ng-container", 30);
|
|
123
126
|
} if (rf & 2) {
|
|
124
|
-
const
|
|
125
|
-
i0.ɵɵproperty("ngIf",
|
|
127
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
128
|
+
i0.ɵɵproperty("ngIf", ctx_r0.externalUserUpdate);
|
|
126
129
|
} }
|
|
127
130
|
function UpdateFlagComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
-
i0.ɵɵelementStart(0, "div",
|
|
131
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "span", 28);
|
|
129
132
|
i0.ɵɵtext(2);
|
|
130
133
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
131
134
|
i0.ɵɵelementEnd();
|
|
@@ -133,14 +136,14 @@ function UpdateFlagComponent_ng_template_18_div_0_Template(rf, ctx) { if (rf & 1
|
|
|
133
136
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
134
137
|
i0.ɵɵelementEnd();
|
|
135
138
|
} if (rf & 2) {
|
|
136
|
-
const
|
|
139
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
137
140
|
i0.ɵɵadvance(2);
|
|
138
141
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
139
142
|
i0.ɵɵadvance(2);
|
|
140
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4,
|
|
143
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.statusReasonNotEnteredErrorMessage), " ");
|
|
141
144
|
} }
|
|
142
145
|
function UpdateFlagComponent_ng_template_18_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
-
i0.ɵɵelementStart(0, "div",
|
|
146
|
+
i0.ɵɵelementStart(0, "div", 37)(1, "span", 28);
|
|
144
147
|
i0.ɵɵtext(2);
|
|
145
148
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
146
149
|
i0.ɵɵelementEnd();
|
|
@@ -148,100 +151,100 @@ function UpdateFlagComponent_ng_template_18_div_1_Template(rf, ctx) { if (rf & 1
|
|
|
148
151
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
149
152
|
i0.ɵɵelementEnd();
|
|
150
153
|
} if (rf & 2) {
|
|
151
|
-
const
|
|
154
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
152
155
|
i0.ɵɵadvance(2);
|
|
153
156
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
154
157
|
i0.ɵɵadvance(2);
|
|
155
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4,
|
|
158
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.statusReasonCharLimitErrorMessage), " ");
|
|
156
159
|
} }
|
|
157
160
|
function UpdateFlagComponent_ng_template_18_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
-
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_18_div_0_Template, 6, 6, "div",
|
|
159
|
-
i0.ɵɵelementStart(2, "textarea",
|
|
161
|
+
i0.ɵɵtemplate(0, UpdateFlagComponent_ng_template_18_div_0_Template, 6, 6, "div", 32)(1, UpdateFlagComponent_ng_template_18_div_1_Template, 6, 6, "div", 33);
|
|
162
|
+
i0.ɵɵelementStart(2, "textarea", 34);
|
|
160
163
|
i0.ɵɵtext(3, " ");
|
|
161
164
|
i0.ɵɵelementEnd();
|
|
162
|
-
i0.ɵɵelementStart(4, "div",
|
|
165
|
+
i0.ɵɵelementStart(4, "div", 35);
|
|
163
166
|
i0.ɵɵtext(5);
|
|
164
167
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
165
168
|
i0.ɵɵelementEnd();
|
|
166
169
|
} if (rf & 2) {
|
|
167
|
-
const
|
|
168
|
-
i0.ɵɵproperty("ngIf",
|
|
170
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
171
|
+
i0.ɵɵproperty("ngIf", ctx_r0.statusReasonNotEnteredErrorMessage);
|
|
169
172
|
i0.ɵɵadvance();
|
|
170
|
-
i0.ɵɵproperty("ngIf",
|
|
173
|
+
i0.ɵɵproperty("ngIf", ctx_r0.statusReasonCharLimitErrorMessage);
|
|
171
174
|
i0.ɵɵadvance();
|
|
172
|
-
i0.ɵɵproperty("id",
|
|
175
|
+
i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON)("name", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON)("formControlName", ctx_r0.caseFlagFormFields.STATUS_CHANGE_REASON);
|
|
173
176
|
i0.ɵɵadvance(3);
|
|
174
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6,
|
|
177
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 6, ctx_r0.updateFlagStepEnum.CHARACTER_LIMIT_INFO), " ");
|
|
175
178
|
} }
|
|
176
179
|
function UpdateFlagComponent_div_20_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
177
|
-
i0.ɵɵelementStart(0, "div",
|
|
178
|
-
i0.ɵɵelement(1, "input",
|
|
179
|
-
i0.ɵɵelementStart(2, "label",
|
|
180
|
+
i0.ɵɵelementStart(0, "div", 45);
|
|
181
|
+
i0.ɵɵelement(1, "input", 46);
|
|
182
|
+
i0.ɵɵelementStart(2, "label", 47);
|
|
180
183
|
i0.ɵɵtext(3);
|
|
181
184
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
182
185
|
i0.ɵɵelementEnd()();
|
|
183
186
|
} if (rf & 2) {
|
|
184
|
-
const
|
|
185
|
-
const
|
|
187
|
+
const status_r3 = ctx.$implicit;
|
|
188
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
186
189
|
i0.ɵɵadvance();
|
|
187
|
-
i0.ɵɵproperty("id",
|
|
190
|
+
i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS + "_" + status_r3)("name", ctx_r0.caseFlagFormFields.STATUS)("formControlName", ctx_r0.caseFlagFormFields.STATUS)("value", status_r3);
|
|
188
191
|
i0.ɵɵadvance();
|
|
189
|
-
i0.ɵɵproperty("for",
|
|
192
|
+
i0.ɵɵproperty("for", ctx_r0.caseFlagFormFields.STATUS + "_" + status_r3);
|
|
190
193
|
i0.ɵɵadvance();
|
|
191
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6,
|
|
194
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 6, ctx_r0.caseFlagStatusEnum[status_r3]), " ");
|
|
192
195
|
} }
|
|
193
196
|
function UpdateFlagComponent_div_20_ng_container_12_Template(rf, ctx) { if (rf & 1) {
|
|
194
197
|
i0.ɵɵelementContainer(0);
|
|
195
198
|
} }
|
|
196
199
|
function UpdateFlagComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
-
i0.ɵɵelementStart(0, "div",
|
|
200
|
+
i0.ɵɵelementStart(0, "div", 38)(1, "fieldset", 39)(2, "legend", 40)(3, "h1", 41);
|
|
198
201
|
i0.ɵɵtext(4);
|
|
199
202
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
200
203
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
201
204
|
i0.ɵɵelementEnd()();
|
|
202
|
-
i0.ɵɵelementStart(7, "div",
|
|
203
|
-
i0.ɵɵtemplate(8, UpdateFlagComponent_div_20_div_8_Template, 5, 8, "div",
|
|
205
|
+
i0.ɵɵelementStart(7, "div", 42);
|
|
206
|
+
i0.ɵɵtemplate(8, UpdateFlagComponent_div_20_div_8_Template, 5, 8, "div", 43);
|
|
204
207
|
i0.ɵɵelementEnd()();
|
|
205
|
-
i0.ɵɵelementStart(9, "div",
|
|
208
|
+
i0.ɵɵelementStart(9, "div", 44);
|
|
206
209
|
i0.ɵɵtext(10);
|
|
207
210
|
i0.ɵɵpipe(11, "rpxTranslate");
|
|
208
211
|
i0.ɵɵelementEnd();
|
|
209
|
-
i0.ɵɵtemplate(12, UpdateFlagComponent_div_20_ng_container_12_Template, 1, 0, "ng-container",
|
|
212
|
+
i0.ɵɵtemplate(12, UpdateFlagComponent_div_20_ng_container_12_Template, 1, 0, "ng-container", 31);
|
|
210
213
|
i0.ɵɵelementEnd();
|
|
211
214
|
} if (rf & 2) {
|
|
212
|
-
const
|
|
213
|
-
const
|
|
215
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
216
|
+
const updateFlagStatusReason_r2 = i0.ɵɵreference(19);
|
|
214
217
|
i0.ɵɵadvance(4);
|
|
215
|
-
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 6,
|
|
218
|
+
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(5, 6, ctx_r0.updateFlagTitle), " ", i0.ɵɵpipeBind1(6, 8, "status"), " ");
|
|
216
219
|
i0.ɵɵadvance(3);
|
|
217
|
-
i0.ɵɵproperty("id",
|
|
220
|
+
i0.ɵɵproperty("id", ctx_r0.caseFlagFormFields.STATUS);
|
|
218
221
|
i0.ɵɵadvance();
|
|
219
|
-
i0.ɵɵproperty("ngForOf",
|
|
222
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.validStatusProgressions);
|
|
220
223
|
i0.ɵɵadvance(2);
|
|
221
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 10,
|
|
224
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(11, 10, ctx_r0.updateFlagStepEnum.STATUS_HINT_TEXT), " ");
|
|
222
225
|
i0.ɵɵadvance(2);
|
|
223
|
-
i0.ɵɵproperty("ngTemplateOutlet",
|
|
226
|
+
i0.ɵɵproperty("ngTemplateOutlet", updateFlagStatusReason_r2);
|
|
224
227
|
} }
|
|
225
228
|
function UpdateFlagComponent_div_21_Template(rf, ctx) { if (rf & 1) {
|
|
226
|
-
i0.ɵɵelementStart(0, "div",
|
|
227
|
-
i0.ɵɵelement(3, "input",
|
|
228
|
-
i0.ɵɵelementStart(4, "label",
|
|
229
|
+
i0.ɵɵelementStart(0, "div", 48)(1, "div", 49)(2, "div", 50);
|
|
230
|
+
i0.ɵɵelement(3, "input", 51);
|
|
231
|
+
i0.ɵɵelementStart(4, "label", 52);
|
|
229
232
|
i0.ɵɵtext(5);
|
|
230
233
|
i0.ɵɵpipe(6, "rpxTranslate");
|
|
231
234
|
i0.ɵɵelementEnd()()()();
|
|
232
235
|
} if (rf & 2) {
|
|
233
|
-
const
|
|
236
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
234
237
|
i0.ɵɵadvance(3);
|
|
235
|
-
i0.ɵɵproperty("formControlName",
|
|
238
|
+
i0.ɵɵproperty("formControlName", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("id", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED)("name", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
|
|
236
239
|
i0.ɵɵadvance();
|
|
237
|
-
i0.ɵɵproperty("for",
|
|
240
|
+
i0.ɵɵproperty("for", ctx_r0.caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED);
|
|
238
241
|
i0.ɵɵadvance();
|
|
239
242
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 5, "I need to add a translation"), " ");
|
|
240
243
|
} }
|
|
241
244
|
function UpdateFlagComponent_div_22_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
242
|
-
const
|
|
243
|
-
i0.ɵɵelementStart(0, "button",
|
|
244
|
-
i0.ɵɵlistener("click", function UpdateFlagComponent_div_22_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
245
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
246
|
+
i0.ɵɵelementStart(0, "button", 57);
|
|
247
|
+
i0.ɵɵlistener("click", function UpdateFlagComponent_div_22_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onMakeInactive()); });
|
|
245
248
|
i0.ɵɵtext(1);
|
|
246
249
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
247
250
|
i0.ɵɵelementEnd();
|
|
@@ -250,28 +253,28 @@ function UpdateFlagComponent_div_22_button_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
250
253
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "Make inactive"), " ");
|
|
251
254
|
} }
|
|
252
255
|
function UpdateFlagComponent_div_22_Template(rf, ctx) { if (rf & 1) {
|
|
253
|
-
i0.ɵɵelementStart(0, "div",
|
|
256
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "div", 54)(2, "p");
|
|
254
257
|
i0.ɵɵtext(3);
|
|
255
258
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
256
|
-
i0.ɵɵelementStart(5, "span")(6, "strong",
|
|
259
|
+
i0.ɵɵelementStart(5, "span")(6, "strong", 55);
|
|
257
260
|
i0.ɵɵtext(7);
|
|
258
261
|
i0.ɵɵpipe(8, "rpxTranslate");
|
|
259
262
|
i0.ɵɵelementEnd()()()();
|
|
260
|
-
i0.ɵɵelementStart(9, "div",
|
|
261
|
-
i0.ɵɵtemplate(10, UpdateFlagComponent_div_22_button_10_Template, 3, 3, "button",
|
|
263
|
+
i0.ɵɵelementStart(9, "div", 54);
|
|
264
|
+
i0.ɵɵtemplate(10, UpdateFlagComponent_div_22_button_10_Template, 3, 3, "button", 56);
|
|
262
265
|
i0.ɵɵelementEnd()();
|
|
263
266
|
} if (rf & 2) {
|
|
264
|
-
const
|
|
267
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
265
268
|
i0.ɵɵadvance(3);
|
|
266
269
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 4, "Flag status:"), " ");
|
|
267
270
|
i0.ɵɵadvance(3);
|
|
268
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1,
|
|
271
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1, ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status === "Inactive"));
|
|
269
272
|
i0.ɵɵadvance();
|
|
270
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 6,
|
|
273
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 6, ctx_r0.selectedFlag == null ? null : ctx_r0.selectedFlag.flagDetailDisplay == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail == null ? null : ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status), " ");
|
|
271
274
|
i0.ɵɵadvance(3);
|
|
272
|
-
i0.ɵɵproperty("ngIf",
|
|
275
|
+
i0.ɵɵproperty("ngIf", ctx_r0.selectedFlag.flagDetailDisplay.flagDetail.status === "Active");
|
|
273
276
|
} }
|
|
274
|
-
export class UpdateFlagComponent {
|
|
277
|
+
export class UpdateFlagComponent extends AbstractJourneyComponent {
|
|
275
278
|
rpxTranslationService;
|
|
276
279
|
formGroup;
|
|
277
280
|
displayContextParameter;
|
|
@@ -297,7 +300,8 @@ export class UpdateFlagComponent {
|
|
|
297
300
|
get externallyVisibleFlag() {
|
|
298
301
|
return this.selectedFlag.flagDetailDisplay.visibility?.toLowerCase() === 'external';
|
|
299
302
|
}
|
|
300
|
-
constructor(rpxTranslationService) {
|
|
303
|
+
constructor(rpxTranslationService, multipageComponentStateService) {
|
|
304
|
+
super(multipageComponentStateService);
|
|
301
305
|
this.rpxTranslationService = rpxTranslationService;
|
|
302
306
|
}
|
|
303
307
|
ngOnInit() {
|
|
@@ -371,6 +375,7 @@ export class UpdateFlagComponent {
|
|
|
371
375
|
onNext() {
|
|
372
376
|
// Validate flag comments and status reason entry
|
|
373
377
|
this.validateTextEntry();
|
|
378
|
+
this.validateTranslationNeeded();
|
|
374
379
|
// Set selected flag status to "Inactive" if update is by external user
|
|
375
380
|
if (this.externalUserUpdate) {
|
|
376
381
|
this.formGroup.get(CaseFlagFormFields.STATUS)?.setValue(Object.keys(CaseFlagStatus)[2]);
|
|
@@ -384,6 +389,21 @@ export class UpdateFlagComponent {
|
|
|
384
389
|
});
|
|
385
390
|
window.scrollTo(0, 0);
|
|
386
391
|
}
|
|
392
|
+
validateTranslationNeeded() {
|
|
393
|
+
// it is possible that the user can select to have translation and then navigate back to remove the required translation in the same journey
|
|
394
|
+
// this function will check the user does not have any of the translation fields applied and remove if they do
|
|
395
|
+
const flagDetails = this.selectedFlag.flagDetailDisplay.flagDetail;
|
|
396
|
+
const isTranslationRequired = this.formGroup.value.flagIsWelshTranslationNeeded;
|
|
397
|
+
const hasTranslationFields = (flagDetails.flagComment_cy || flagDetails.otherDescription || flagDetails.otherDescription_cy);
|
|
398
|
+
if (!isTranslationRequired && hasTranslationFields) {
|
|
399
|
+
flagDetails.flagComment_cy = null;
|
|
400
|
+
flagDetails.otherDescription = null;
|
|
401
|
+
flagDetails.otherDescription_cy = null;
|
|
402
|
+
this.formGroup.removeControl('flagComment_cy');
|
|
403
|
+
this.formGroup.removeControl('otherDescription');
|
|
404
|
+
this.formGroup.removeControl('otherDescription_cy');
|
|
405
|
+
}
|
|
406
|
+
}
|
|
387
407
|
onMakeInactive() {
|
|
388
408
|
// Set selected flag status to "Inactive" on screen and in the FormGroup
|
|
389
409
|
this.selectedFlag.flagDetailDisplay.flagDetail.status = CaseFlagStatus.INACTIVE;
|
|
@@ -444,9 +464,14 @@ export class UpdateFlagComponent {
|
|
|
444
464
|
});
|
|
445
465
|
}
|
|
446
466
|
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
467
|
+
next() {
|
|
468
|
+
this.onNext();
|
|
469
|
+
if (this.errorMessages.length === 0) {
|
|
470
|
+
super.next();
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
static ɵfac = function UpdateFlagComponent_Factory(t) { return new (t || UpdateFlagComponent)(i0.ɵɵdirectiveInject(i1.RpxTranslationService), i0.ɵɵdirectiveInject(i2.MultipageComponentStateService)); };
|
|
474
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UpdateFlagComponent, selectors: [["ccd-update-flag"]], inputs: { formGroup: "formGroup", displayContextParameter: "displayContextParameter" }, outputs: { caseFlagStateEmitter: "caseFlagStateEmitter" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 23, vars: 22, consts: [["externalUser", ""], ["updateFlagStatusReason", ""], [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-4"], [1, "govuk-label", "govuk-label--m"], ["id", "update-flag-hint-external", "class", "govuk-hint", 4, "ngIf"], [1, "govuk-!-margin-bottom-4"], [1, "govuk-label", "govuk-label--s", 3, "for"], ["id", "update-flag-comments-hint-external", "class", "govuk-hint", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["id", "flag-status-container-v2_1", "class", "govuk-!-margin-bottom-4", 4, "ngIf"], ["id", "translation-checkbox-container", "class", "govuk-!-margin-bottom-6", 4, "ngIf"], ["id", "flag-status-container-v1", "class", "govuk-grid-row", 4, "ngIf"], ["id", "update-flag-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint-external", 1, "govuk-hint"], ["id", "update-flag-comments-hint", 1, "govuk-hint"], ["class", "govuk-warning-text", 4, "ngIf"], ["id", "update-flag-comments-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-comments-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-comments-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], [1, "govuk-warning-text"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["id", "update-flag-comments-not-entered-error-message", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["id", "update-flag-comments-char-limit-error", 1, "govuk-error-message"], [4, "ngIf"], [4, "ngTemplateOutlet"], ["id", "update-flag-status-reason-not-entered-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "update-flag-status-reason-char-limit-error", "class", "govuk-error-message", 4, "ngIf"], ["rows", "5", "aria-describedby", "update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error", 1, "govuk-textarea", 3, "id", "name", "formControlName"], ["id", "update-flag-status-reason-char-limit-info", "aria-live", "polite", 1, "govuk-hint", "govuk-character-count__message"], ["id", "update-flag-status-reason-not-entered-error-message", 1, "govuk-error-message"], ["id", "update-flag-status-reason-char-limit-error", 1, "govuk-error-message"], ["id", "flag-status-container-v2_1", 1, "govuk-!-margin-bottom-4"], ["aria-describedby", "update-flag-status-heading", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--s"], ["id", "update-flag-status-heading", 1, "govuk-fieldset__heading"], ["data-module", "govuk-radios", 1, "govuk-radios", "govuk-radios--conditional", "govuk-!-margin-bottom-4", 3, "id"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], ["id", "update-flag-status-hint", 1, "govuk-hint"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "id", "name", "formControlName", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["id", "translation-checkbox-container", 1, "govuk-!-margin-bottom-6"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "formControlName", "id", "name"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["id", "flag-status-container-v1", 1, "govuk-grid-row"], [1, "govuk-grid-column-one-half"], [1, "govuk-tag", 3, "ngClass"], ["class", "button button-secondary", "type", "button", 3, "click", 4, "ngIf"], ["type", "button", 1, "button", "button-secondary", 3, "click"]], template: function UpdateFlagComponent_Template(rf, ctx) { if (rf & 1) {
|
|
450
475
|
i0.ɵɵelementContainerStart(0, 2);
|
|
451
476
|
i0.ɵɵelementStart(1, "div", 3)(2, "div", 4)(3, "h1", 5)(4, "label", 6);
|
|
452
477
|
i0.ɵɵtext(5);
|
|
@@ -464,47 +489,40 @@ export class UpdateFlagComponent {
|
|
|
464
489
|
i0.ɵɵtemplate(18, UpdateFlagComponent_ng_template_18_Template, 7, 8, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(20, UpdateFlagComponent_div_20_Template, 13, 12, "div", 12)(21, UpdateFlagComponent_div_21_Template, 7, 7, "div", 13)(22, UpdateFlagComponent_div_22_Template, 11, 10, "div", 14);
|
|
465
490
|
i0.ɵɵelementEnd()();
|
|
466
491
|
i0.ɵɵelementContainerEnd();
|
|
467
|
-
i0.ɵɵelementStart(23, "div", 15)(24, "button", 16);
|
|
468
|
-
i0.ɵɵlistener("click", function UpdateFlagComponent_Template_button_click_24_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onNext()); });
|
|
469
|
-
i0.ɵɵtext(25);
|
|
470
|
-
i0.ɵɵpipe(26, "rpxTranslate");
|
|
471
|
-
i0.ɵɵelementEnd()();
|
|
472
492
|
} if (rf & 2) {
|
|
473
|
-
const
|
|
493
|
+
const externalUser_r5 = i0.ɵɵreference(17);
|
|
474
494
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
475
495
|
i0.ɵɵadvance(2);
|
|
476
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
496
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c0, ctx.errorMessages.length > 0));
|
|
477
497
|
i0.ɵɵadvance(3);
|
|
478
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6,
|
|
498
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, ctx.updateFlagTitle), " ");
|
|
479
499
|
i0.ɵɵadvance(2);
|
|
480
500
|
i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
|
|
481
501
|
i0.ɵɵadvance(2);
|
|
482
502
|
i0.ɵɵproperty("for", ctx.caseFlagFormFields.COMMENTS);
|
|
483
503
|
i0.ɵɵadvance();
|
|
484
|
-
i0.ɵɵtextInterpolate1(" ", ctx.externalUserUpdate ? i0.ɵɵpipeBind1(11,
|
|
504
|
+
i0.ɵɵtextInterpolate1(" ", ctx.externalUserUpdate ? i0.ɵɵpipeBind1(11, 14, ctx.updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL) : i0.ɵɵpipeBind1(12, 16, ctx.updateFlagTitle) + i0.ɵɵpipeBind1(13, 18, " comments"), " ");
|
|
485
505
|
i0.ɵɵadvance(4);
|
|
486
506
|
i0.ɵɵproperty("ngIf", ctx.externalUserUpdate);
|
|
487
507
|
i0.ɵɵadvance();
|
|
488
|
-
i0.ɵɵproperty("ngIf", ctx.internalUserUpdate || ctx.internalUser2Point1EnabledUpdate || ctx.displayContextParameter === "")("ngIfElse",
|
|
508
|
+
i0.ɵɵproperty("ngIf", ctx.internalUserUpdate || ctx.internalUser2Point1EnabledUpdate || ctx.displayContextParameter === "")("ngIfElse", externalUser_r5);
|
|
489
509
|
i0.ɵɵadvance(5);
|
|
490
510
|
i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
|
|
491
511
|
i0.ɵɵadvance();
|
|
492
512
|
i0.ɵɵproperty("ngIf", ctx.internalUser2Point1EnabledUpdate);
|
|
493
513
|
i0.ɵɵadvance();
|
|
494
514
|
i0.ɵɵproperty("ngIf", ctx.internalUserUpdate);
|
|
495
|
-
i0.ɵɵadvance(3);
|
|
496
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(26, 21, "Next"), " ");
|
|
497
515
|
} }, encapsulation: 2 });
|
|
498
516
|
}
|
|
499
517
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UpdateFlagComponent, [{
|
|
500
518
|
type: Component,
|
|
501
|
-
args: [{ selector: 'ccd-update-flag', 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-4\">\n <label class=\"govuk-label govuk-label--m\">\n {{updateFlagTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"update-flag-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail | updateFlagTitleDisplay}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--s\" [for]=\"caseFlagFormFields.COMMENTS\">\n {{\n externalUserUpdate\n ? (updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL | rpxTranslate)\n : (updateFlagTitle | rpxTranslate) + (' comments' | rpxTranslate)\n }}\n </label>\n <div id=\"update-flag-comments-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL | rpxTranslate}}\n </div>\n <ng-container *ngIf=\"internalUserUpdate || internalUser2Point1EnabledUpdate || displayContextParameter === '';\n else externalUser\">\n <div id=\"update-flag-comments-hint\" class=\"govuk-hint\">\n {{\n internalUserUpdate\n ? (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL | rpxTranslate)\n : (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1 | rpxTranslate)\n }}\n </div>\n <div class=\"govuk-warning-text\" *ngIf=\"internalUser2Point1EnabledUpdate && externallyVisibleFlag\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{updateFlagStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"update-flag-comments-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"commentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-comments-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"commentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error\">\n </textarea>\n <div id=\"update-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-container>\n <ng-template #externalUser>\n <ng-container *ngIf=\"externalUserUpdate\">\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </ng-container>\n </ng-template>\n </div>\n\n <ng-template #updateFlagStatusReason>\n <div id=\"update-flag-status-reason-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-status-reason-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [name]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [formControlName]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error\">\n </textarea>\n <div id=\"update-flag-status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-template>\n\n <div id=\"flag-status-container-v2_1\" class=\"govuk-!-margin-bottom-4\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"update-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s\">\n <h1 id=\"update-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{updateFlagTitle | rpxTranslate}} {{'status' | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" [id]=\"caseFlagFormFields.STATUS\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of validStatusProgressions\">\n <input class=\"govuk-radios__input\" type=\"radio\"\n [id]=\"caseFlagFormFields.STATUS + '_' + status\"\n [name]=\"caseFlagFormFields.STATUS\"\n [formControlName]=\"caseFlagFormFields.STATUS\"\n [value]=\"status\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"caseFlagFormFields.STATUS + '_' + status\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div id=\"update-flag-status-hint\" class=\"govuk-hint\">\n {{updateFlagStepEnum.STATUS_HINT_TEXT | rpxTranslate}}\n </div>\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </div>\n\n <div id=\"translation-checkbox-container\" class=\"govuk-!-margin-bottom-6\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\"\n [formControlName]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [id]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [name]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n <label class=\"govuk-label govuk-checkboxes__label\"\n [for]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n {{'I need to add a translation' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n\n <div id=\"flag-status-container-v1\" class=\"govuk-grid-row\" *ngIf=\"internalUserUpdate\">\n <div class=\"govuk-grid-column-one-half\">\n <p>{{'Flag status:' | rpxTranslate}}\n <span>\n <strong class=\"govuk-tag\" [ngClass]=\"{'govuk-tag--grey': selectedFlag.flagDetailDisplay.flagDetail.status === 'Inactive'}\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail?.status | rpxTranslate}}\n </strong>\n </span>\n </p>\n </div>\n <div class=\"govuk-grid-column-one-half\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"onMakeInactive()\" *ngIf=\"selectedFlag.flagDetailDisplay.flagDetail.status === 'Active'\">\n {{'Make inactive' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n </div>\n</ng-container
|
|
502
|
-
}], () => [{ type: i1.RpxTranslationService }], { formGroup: [{
|
|
519
|
+
args: [{ selector: 'ccd-update-flag', 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-4\">\n <label class=\"govuk-label govuk-label--m\">\n {{updateFlagTitle | rpxTranslate}}\n </label>\n </h1>\n <div id=\"update-flag-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail | updateFlagTitleDisplay}}\n </div>\n\n <div class=\"govuk-!-margin-bottom-4\">\n <label class=\"govuk-label govuk-label--s\" [for]=\"caseFlagFormFields.COMMENTS\">\n {{\n externalUserUpdate\n ? (updateFlagStepEnum.COMMENT_FIELD_LABEL_EXTERNAL | rpxTranslate)\n : (updateFlagTitle | rpxTranslate) + (' comments' | rpxTranslate)\n }}\n </label>\n <div id=\"update-flag-comments-hint-external\" class=\"govuk-hint\" *ngIf=\"externalUserUpdate\">\n {{updateFlagStepEnum.COMMENT_HINT_TEXT_EXTERNAL | rpxTranslate}}\n </div>\n <ng-container *ngIf=\"internalUserUpdate || internalUser2Point1EnabledUpdate || displayContextParameter === '';\n else externalUser\">\n <div id=\"update-flag-comments-hint\" class=\"govuk-hint\">\n {{\n internalUserUpdate\n ? (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL | rpxTranslate)\n : (updateFlagStepEnum.COMMENT_HINT_TEXT_INTERNAL_2_POINT_1 | rpxTranslate)\n }}\n </div>\n <div class=\"govuk-warning-text\" *ngIf=\"internalUser2Point1EnabledUpdate && externallyVisibleFlag\">\n <span class=\"govuk-warning-text__icon\" aria-hidden=\"true\">!</span>\n <strong class=\"govuk-warning-text__text\">\n <span class=\"govuk-warning-text__assistive\">{{'Warning' | rpxTranslate}}</span>\n {{updateFlagStepEnum.WARNING_TEXT | rpxTranslate}}\n </strong>\n </div>\n <div id=\"update-flag-comments-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"commentsNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-comments-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"commentsCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{commentsCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.COMMENTS\"\n [name]=\"caseFlagFormFields.COMMENTS\"\n [formControlName]=\"caseFlagFormFields.COMMENTS\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint update-flag-comments-char-limit-info update-flag-comments-char-limit-error\">\n </textarea>\n <div id=\"update-flag-comments-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-container>\n <ng-template #externalUser>\n <ng-container *ngIf=\"externalUserUpdate\">\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </ng-container>\n </ng-template>\n </div>\n\n <ng-template #updateFlagStatusReason>\n <div id=\"update-flag-status-reason-not-entered-error-message\" class=\"govuk-error-message\" *ngIf=\"statusReasonNotEnteredErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonNotEnteredErrorMessage | rpxTranslate}}\n </div>\n <div id=\"update-flag-status-reason-char-limit-error\" class=\"govuk-error-message\" *ngIf=\"statusReasonCharLimitErrorMessage\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span> {{statusReasonCharLimitErrorMessage | rpxTranslate}}\n </div>\n <textarea class=\"govuk-textarea\"\n [id]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [name]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n [formControlName]=\"caseFlagFormFields.STATUS_CHANGE_REASON\"\n rows=\"5\"\n aria-describedby=\"update-flag-comments-hint-external update-flag-status-hint update-flag-status-reason-char-limit-info\n update-flag-status-reason-char-limit-error\">\n </textarea>\n <div id=\"update-flag-status-reason-char-limit-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n {{updateFlagStepEnum.CHARACTER_LIMIT_INFO | rpxTranslate}}\n </div>\n </ng-template>\n\n <div id=\"flag-status-container-v2_1\" class=\"govuk-!-margin-bottom-4\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"update-flag-status-heading\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s\">\n <h1 id=\"update-flag-status-heading\" class=\"govuk-fieldset__heading\">\n {{updateFlagTitle | rpxTranslate}} {{'status' | rpxTranslate}}\n </h1>\n </legend>\n <div class=\"govuk-radios govuk-radios--conditional govuk-!-margin-bottom-4\" data-module=\"govuk-radios\" [id]=\"caseFlagFormFields.STATUS\">\n <div class=\"govuk-radios__item\" *ngFor=\"let status of validStatusProgressions\">\n <input class=\"govuk-radios__input\" type=\"radio\"\n [id]=\"caseFlagFormFields.STATUS + '_' + status\"\n [name]=\"caseFlagFormFields.STATUS\"\n [formControlName]=\"caseFlagFormFields.STATUS\"\n [value]=\"status\">\n <label class=\"govuk-label govuk-radios__label\" [for]=\"caseFlagFormFields.STATUS + '_' + status\">\n {{caseFlagStatusEnum[status] | rpxTranslate}}\n </label>\n </div>\n </div>\n </fieldset>\n\n <div id=\"update-flag-status-hint\" class=\"govuk-hint\">\n {{updateFlagStepEnum.STATUS_HINT_TEXT | rpxTranslate}}\n </div>\n <ng-container *ngTemplateOutlet=\"updateFlagStatusReason\"></ng-container>\n </div>\n\n <div id=\"translation-checkbox-container\" class=\"govuk-!-margin-bottom-6\" *ngIf=\"internalUser2Point1EnabledUpdate\">\n <div class=\"govuk-checkboxes\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes__item\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\"\n [formControlName]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [id]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\"\n [name]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n <label class=\"govuk-label govuk-checkboxes__label\"\n [for]=\"caseFlagFormFields.IS_WELSH_TRANSLATION_NEEDED\">\n {{'I need to add a translation' | rpxTranslate}}\n </label>\n </div>\n </div>\n </div>\n\n <div id=\"flag-status-container-v1\" class=\"govuk-grid-row\" *ngIf=\"internalUserUpdate\">\n <div class=\"govuk-grid-column-one-half\">\n <p>{{'Flag status:' | rpxTranslate}}\n <span>\n <strong class=\"govuk-tag\" [ngClass]=\"{'govuk-tag--grey': selectedFlag.flagDetailDisplay.flagDetail.status === 'Inactive'}\">\n {{selectedFlag?.flagDetailDisplay?.flagDetail?.status | rpxTranslate}}\n </strong>\n </span>\n </p>\n </div>\n <div class=\"govuk-grid-column-one-half\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"onMakeInactive()\" *ngIf=\"selectedFlag.flagDetailDisplay.flagDetail.status === 'Active'\">\n {{'Make inactive' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n </div>\n</ng-container>" }]
|
|
520
|
+
}], () => [{ type: i1.RpxTranslationService }, { type: i2.MultipageComponentStateService }], { formGroup: [{
|
|
503
521
|
type: Input
|
|
504
522
|
}], displayContextParameter: [{
|
|
505
523
|
type: Input
|
|
506
524
|
}], caseFlagStateEmitter: [{
|
|
507
525
|
type: Output
|
|
508
526
|
}] }); })();
|
|
509
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagComponent, { className: "UpdateFlagComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.ts", lineNumber:
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzVELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2YsTUFBTSxhQUFhLENBQUM7Ozs7OztJQ0xmLCtCQUFrRjtJQUNoRixZQUNGOztJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsbU1BQ0Y7OztJQVVFLCtCQUEyRjtJQUN6RixZQUNGOztJQUFBLGlCQUFNOzs7SUFESixjQUNGO0lBREUsMkdBQ0Y7OztJQVdJLEFBREYsK0JBQWtHLGVBQ3RDO0lBQUEsaUJBQUM7SUFBQSxpQkFBTztJQUVoRSxBQURGLGtDQUF5QyxlQUNLO0lBQUEsWUFBNEI7O0lBQUEs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QUFRLEtBQUM7WUFDckYsYUFDRjs7WUFDRixBQURFLGlCQUFTLEVBQ0w7OztZQXJKUSx5Q0FBdUI7WUFFSCxlQUEwRDtZQUExRCxtRkFBMEQ7WUFHbEYsZUFDRjtZQURFLDJFQUNGO1lBRXNELGVBQXdCO1lBQXhCLDZDQUF3QjtZQUtwQyxlQUFtQztZQUFuQyxxREFBbUM7WUFDM0UsY0FLRjtZQUxFLHlOQUtGO1lBQ2lFLGVBQXdCO1lBQXhCLDZDQUF3QjtZQUcxRSxjQUNiO1lBQUEsQUFEYSwySEFDYiw2QkFBaUI7WUEyRGlELGVBQXNDO1lBQXRDLDJEQUFzQztZQTJCbEMsY0FBc0M7WUFBdEMsMkRBQXNDO1lBZXJELGNBQXdCO1lBQXhCLDZDQUF3QjtZQXNCckYsZUFDRjtZQURFLCtEQUNGOzs7aUZEaklXLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQjtzREFJWCxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNOztrRkFKSSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLFxuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnRm9ybUZpZWxkcyxcbiAgQ2FzZUZsYWdTdGF0dXMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLFxuICBVcGRhdGVGbGFnU3RlcFxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC11cGRhdGUtZmxhZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGRhdGUtZmxhZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlRmxhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjYXNlRmxhZ1N0YXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPENhc2VGbGFnU3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsYWc6IEZsYWdEZXRhaWxEaXNwbGF5V2l0aEZvcm1Hcm91cFBhdGg7XG4gIHB1YmxpYyB1cGRhdGVGbGFnVGl0bGUgPSAnJztcbiAgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW107XG4gIHB1YmxpYyBjb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgY29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZTogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZSA9IG51bGw7XG4gIHB1YmxpYyBzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgdXBkYXRlRmxhZ1N0ZXBFbnVtID0gVXBkYXRlRmxhZ1N0ZXA7XG4gIHB1YmxpYyB2YWxpZFN0YXR1c1Byb2dyZXNzaW9uczogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSBjYXNlRmxhZ1N0YXR1c0VudW0gPSBDYXNlRmxhZ1N0YXR1cztcbiAgcHVibGljIHJlYWRvbmx5IGNhc2VGbGFnRm9ybUZpZWxkcyA9IENhc2VGbGFnRm9ybUZpZWxkcztcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0TWF4Q2hhckxpbWl0ID0gMjAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uID0gJ3NlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uJztcbiAgcHJpdmF0ZSBmbGFnRGV0YWlsOiBGbGFnRGV0YWlsO1xuICBwdWJsaWMgY2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXI7XG4gIHB1YmxpYyBleHRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcbiAgcHVibGljIGludGVybmFsVXNlclVwZGF0ZSA9IGZhbHNlO1xuICBwdWJsaWMgaW50ZXJuYWxVc2VyMlBvaW50MUVuYWJsZWRVcGRhdGUgPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGV4dGVybmFsbHlWaXNpYmxlRmxhZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkudmlzaWJpbGl0eT8udG9Mb3dlckNhc2UoKSA9PT0gJ2V4dGVybmFsJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcnB4VHJhbnNsYXRpb25TZXJ2aWNlOiBScHhUcmFuc2xhdGlvblNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZXQgd2hldGhlciB0aGlzIGlzIGFuIGV4dGVybmFsLCBpbnRlcm5hbCwgb3IgaW50ZXJuYWwgQ2FzZSBGbGFncyB2Mi4xIGVuYWJsZWQgdXNlciB1cGRhdGVcbiAgICB0aGlzLmV4dGVybmFsVXNlclVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMO1xuICAgIHRoaXMuaW50ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU7XG4gICAgdGhpcy5pbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uKT8udmFsdWUgYXMgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWc/LmZsYWdEZXRhaWxEaXNwbGF5Py5mbGFnRGV0YWlsKSB7XG4gICAgICB0aGlzLmZsYWdEZXRhaWwgPSB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgICAgLy8gSWYgcHJlc2VudCwgdXNlIHRoZSAqb3JpZ2luYWwqIGZsYWcgc3RhdHVzLCBub3QgdGhlIG9uZSBpbiB0aGUgZmxhZ0RldGFpbCBvYmplY3QsIGJlY2F1c2UgdGhlIHN0YXR1cyBjb3VsZCBoYXZlXG4gICAgICAvLyBiZWVuIG1vZGlmaWVkIHZpYSBhIHByZXZpb3VzIFwiVXBkYXRlIEZsYWdcIiBqb3VybmV5IHRocm91Z2ggdGhlIFVJIGJ1dCBub3QgcGVyc2lzdGVkIHlldCAodGh1cyBub3QgdGhlICp0cnVlKiBmbGFnXG4gICAgICAvLyBzdGF0dXMpLiBPdGhlcndpc2UsIHVzZSB0aGUgc3RhdHVzIGZyb20gdGhlIGZsYWdEZXRhaWwgb2JqZWN0IChpbml0aWFsbHksIHRoZSBvcmlnaW5hbCBmbGFnIHN0YXR1cyB3b24ndCBiZVxuICAgICAgLy8gcHJlc2VudCBiZWNhdXNlIGl0IGdldHMgY2FjaGVkIG9ubHkgb24gZmlyc3QgdXBkYXRlIGJ5IFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudClcbiAgICAgIGNvbnN0IGN1cnJlbnRGbGFnU3RhdHVzS2V5ID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbmQoXG4gICAgICAgIChrZXkpID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09ICh0aGlzLnNlbGVjdGVkRmxhZy5vcmlnaW5hbFN0YXR1cyB8fCB0aGlzLmZsYWdEZXRhaWwuc3RhdHVzKSk7XG5cbiAgICAgIC8vIFBvcHVsYXRlIGZsYWcgY29tbWVudHMgdGV4dCBhcmVhIHdpdGggZXhpc3RpbmcgY29tbWVudHM7IHVzZSB0aGUgY29tbWVudHMgYXBwcm9wcmlhdGUgZm9yIHRoZSBzZWxlY3RlZCBsYW5ndWFnZSxcbiAgICAgIC8vIGZhbGxpbmcgYmFjayBvbiB0aGVpciBhbHRlcm5hdGUgY291bnRlcnBhcnQgaWYgbm9uZSBhcmUgYXZhaWxhYmxlLiBDb21tZW50cyBhcmUgdG8gYmUgcG9wdWxhdGVkIG9uZSB0aW1lIG9ubHkgLVxuICAgICAgLy8gd2hlbiB0aGUgdXNlciBmaXJzdCB2aXNpdHMgdGhlIHBhZ2UgLSBldmVuIGlmIHRoZXkgc3dpdGNoIGxhbmd1YWdlIHN1YnNlcXVlbnRseVxuICAgICAgbGV0IGV4aXN0aW5nQ29tbWVudHM6IHN0cmluZztcbiAgICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgICBleGlzdGluZ0NvbW1lbnRzID0gdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5IHx8IHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4aXN0aW5nQ29tbWVudHMgPSB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5O1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFMsIG5ldyBGb3JtQ29udHJvbChleGlzdGluZ0NvbW1lbnRzKSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMsIG5ldyBGb3JtQ29udHJvbChjdXJyZW50RmxhZ1N0YXR1c0tleSkpO1xuICAgICAgLy8gUG9wdWxhdGUgc3RhdHVzIHJlYXNvbiBvbmx5IGlmIHRoZSB1c2VyIGlzIG5vdCBleHRlcm5hbFxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT04sIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgdGhpcy5leHRlcm5hbFVzZXJVcGRhdGUgPyAnJyA6IHRoaXMuZmxhZ0RldGFpbC5mbGFnVXBkYXRlQ29tbWVudCkpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVELCBuZXcgRm9ybUNvbnRyb2woZmFsc2UpKTtcblxuICAgICAgdGhpcy51cGRhdGVGbGFnVGl0bGUgPSB0aGlzLnNldFVwZGF0ZUNhc2VGbGFnVGl0bGUodGhpcy5mbGFnRGV0YWlsKTtcblxuICAgICAgLy8gU2V0IHRoZSB2YWxpZCBzdGF0dXMgb3B0aW9ucyBmb3IgZGlzcGxheSwgYmFzZWQgb24gY3VycmVudCBzdGF0dXMgb2YgdGhlIHNlbGVjdGVkIGZsYWcuIFwiQWN0aXZlXCIgZmxhZ3MgY2FuXG4gICAgICAvLyByZW1haW4gXCJBY3RpdmVcIiBvciBtb3ZlIHRvIFwiSW5hY3RpdmVcIiBvbmx5OyBcIlJlcXVlc3RlZFwiIGZsYWdzIGNhbiByZW1haW4gXCJSZXF1ZXN0ZWRcIiBvciBtb3ZlIHRvIFwiQWN0aXZlXCIsXG4gICAgICAvLyBcIkluYWN0aXZlXCIsIG9yIFwiTm90IGFwcHJvdmVkXCIuIE5vIG90aGVyIHN0YXR1cyBwcm9ncmVzc2lvbnMgYXJlIHZhbGlkXG4gICAgICBpZiAoY3VycmVudEZsYWdTdGF0dXNLZXkpIHtcbiAgICAgICAgc3dpdGNoIChjdXJyZW50RmxhZ1N0YXR1c0tleSkge1xuICAgICAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgICAgICB0aGlzLnZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbHRlcigoa2V5KSA9PiAhWydSRVFVRVNURUQnLCAnTk9UX0FQUFJPVkVEJ10uaW5jbHVkZXMoa2V5KSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdSRVFVRVNURUQnOlxuICAgICAgICAgICAgdGhpcy52YWxpZFN0YXR1c1Byb2dyZXNzaW9ucyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLnZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zID0gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXBkYXRlQ2FzZUZsYWdUaXRsZShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgaWYgKGZsYWdEZXRhaWw/Lm5hbWUpIHtcbiAgICAgICAgICBjb25zdCBzdWJUeXBlVmFsdWUgPSBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSB8fCBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZV9jeVxuICAgICAgICAgICAgPyBgLCAke2ZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5fWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgY29uc3Qgb3RoZXJEZXNjcmlwdGlvbiA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiB8fCBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb25fY3lcbiAgICAgICAgICAgID8gYCwgJHtmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24gfHwgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5fWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgcmV0dXJuIHN1YlR5cGVWYWx1ZVxuICAgICAgICAgICAgPyBgJHtDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRX0gXCIke2ZsYWdEZXRhaWwubmFtZX0ke3N1YlR5cGVWYWx1ZX1cImBcbiAgICAgICAgICAgIDogYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9IFwiJHtmbGFnRGV0YWlsLm5hbWV9JHtvdGhlckRlc2NyaXB0aW9ufVwiYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9YDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRV9FWFRFUk5BTDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBjb21tZW50cyBhbmQgc3RhdHVzIHJlYXNvbiBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcblxuICAgIC8vIFNldCBzZWxlY3RlZCBmbGFnIHN0YXR1cyB0byBcIkluYWN0aXZlXCIgaWYgdXBkYXRlIGlzIGJ5IGV4dGVybmFsIHVzZXJcbiAgICBpZiAodGhpcy5leHRlcm5hbFVzZXJVcGRhdGUpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTKT8uc2V0VmFsdWUoT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpWzJdKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIHNlbGVjdGVkIGZsYWcgZGV0YWlsIHRvIHRoZSBwYXJlbnQuIFRoZSBzZWxlY3RlZCBmbGFnIG11c3QgYmVcbiAgICAvLyByZS1lbWl0dGVkIGJlY2F1c2UgdGhlIHBhcmVudCBjb21wb25lbnQgcmVwb3B1bGF0ZXMgdGhpcyBvbiBoYW5kbGluZyB0aGlzIEV2ZW50RW1pdHRlclxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnLFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHVibGljIG9uTWFrZUluYWN0aXZlKCk6IHZvaWQge1xuICAgIC8vIFNldCBzZWxlY3RlZCBmbGFnIHN0YXR1cyB0byBcIkluYWN0aXZlXCIgb24gc2NyZWVuIGFuZCBpbiB0aGUgRm9ybUdyb3VwXG4gICAgdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPSBDYXNlRmxhZ1N0YXR1cy5JTkFDVElWRTtcbiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUyk/LnNldFZhbHVlKE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKVsyXSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlVGV4dEVudHJ5KCk6IHZvaWQge1xuICAgIHRoaXMuY29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmNvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICAvLyBWYWxpZGF0aW9uIHNob3VsZCBmYWlsIGlmIHRoZSBmbGFnIGhhcyBhbiBleGlzdGluZyBjb21tZW50IGFuZCBpdCBoYXMgYmVlbiBkZWxldGVkIG9uIHNjcmVlbjsgY29udmVyc2VseSwgaWYgdGhlcmVcbiAgICAvLyBpcyBubyBleGlzdGluZyBjb21tZW50IHRoZW4gb25lIGlzIG5vdCByZXF1aXJlZCBmb3IgdmFsaWRhdGlvbiB0byBwYXNzXG4gICAgY29uc3QgY29tbWVudCA9IHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFMpPy52YWx1ZTtcbiAgICBpZiAoIWNvbW1lbnQgJiYgKHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudCB8fCB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnRfY3kpKSB7XG4gICAgICB0aGlzLmNvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9ICF0aGlzLmRpc3BsYXlDb250ZXh0UGFyYW1ldGVyXG4gICAgICAgID8gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5OT05FXG4gICAgICAgIDogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX05PVF9FTlRFUkVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmNvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29tbWVudCAmJiBjb21tZW50Lmxlbmd0aCA+IHRoaXMudGV4dE1heENoYXJMaW1pdCkge1xuICAgICAgdGhpcy5jb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0dXNSZWFzb24gPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OKT8udmFsdWU7XG4gICAgY29uc3QgZmxhZ1N0YXR1c05vdEFwcHJvdmVkS2V5ID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbmQoKGtleSkgPT4gQ2FzZUZsYWdTdGF0dXNba2V5XSA9PT0gQ2FzZUZsYWdTdGF0dXMuTk9UX0FQUFJPVkVEKTtcbiAgICAvLyBTdGF0dXMgcmVhc29uIGlzIG1hbmRhdG9yeSBpZiBmbGFnIHN0YXR1cyBpcyBcIk5vdCBhcHByb3ZlZFwiIG9yIHVzZXIgaXMgZXh0ZXJuYWxcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMpPy52YWx1ZSA9PT0gZmxhZ1N0YXR1c05vdEFwcHJvdmVkS2V5ICYmICFzdGF0dXNSZWFzb24pIHtcbiAgICAgIHRoaXMuc3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX05PVF9FTlRFUkVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV4dGVybmFsVXNlclVwZGF0ZSAmJiAhc3RhdHVzUmVhc29uKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRURfRVhURVJOQUw7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRF9FWFRFUk5BTCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzUmVhc29uICYmIHN0YXR1c1JlYXNvbi5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX0NIQVJfTElNSVRfRVhDRUVERUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVELFxuICAgICAgICBmaWVsZElkOiBDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGFyYWN0ZXItY291bnRcIiBkYXRhLW1heGxlbmd0aD1cIjIwMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZXJyb3JNZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICAgICAgPGgxIGNsYXNzPVwiZ292dWstbGFiZWwtd3JhcHBlciBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tbVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvaDE+XG4gICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctaGludC1leHRlcm5hbFwiIGNsYXNzPVwiZ292dWstaGludFwiICpuZ0lmPVwiZXh0ZXJuYWxVc2VyVXBkYXRlXCI+XG4gICAgICAgIHt7c2VsZWN0ZWRGbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbCB8IHVwZGF0ZUZsYWdUaXRsZURpc3BsYXl9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1sYWJlbC0tc1wiIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCI+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIGV4dGVybmFsVXNlclVwZGF0ZVxuICAgICAgICAgICAgICA/ICh1cGRhdGVGbGFnU3RlcEVudW0uQ09NTUVOVF9GSUVMRF9MQUJFTF9FWFRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgOiAodXBkYXRlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlKSArICgnIGNvbW1lbnRzJyB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY29tbWVudHMtaGludC1leHRlcm5hbFwiIGNsYXNzPVwiZ292dWstaGludFwiICpuZ0lmPVwiZXh0ZXJuYWxVc2VyVXBkYXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uQ09NTUVOVF9ISU5UX1RFWFRfRVhURVJOQUwgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImludGVybmFsVXNlclVwZGF0ZSB8fCBpbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZSB8fCBkaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gJyc7XG4gICAgICAgICAgZWxzZSBleHRlcm5hbFVzZXJcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY29tbWVudHMtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgaW50ZXJuYWxVc2VyVXBkYXRlXG4gICAgICAgICAgICAgICAgPyAodXBkYXRlRmxhZ1N0ZXBFbnVtLkNPTU1FTlRfSElOVF9URVhUX0lOVEVSTkFMIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgICAgIDogKHVwZGF0ZUZsYWdTdGVwRW51bS5DT01NRU5UX0hJTlRfVEVYVF9JTlRFUk5BTF8yX1BPSU5UXzEgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRcIiAqbmdJZj1cImludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlICYmIGV4dGVybmFsbHlWaXNpYmxlRmxhZ1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj4hPC9zcGFuPlxuICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlXCI+e3snV2FybmluZycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uV0FSTklOR19URVhUIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jb21tZW50cy1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e2NvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImNvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tjb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFNcIlxuICAgICAgICAgICAgICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJ1cGRhdGUtZmxhZy1jb21tZW50cy1oaW50IHVwZGF0ZS1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mbyB1cGRhdGUtZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWVycm9yXCI+XG4gICAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY29tbWVudHMtY2hhci1saW1pdC1pbmZvXCIgY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uQ0hBUkFDVEVSX0xJTUlUX0lORk8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNleHRlcm5hbFVzZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVwZGF0ZUZsYWdTdGF0dXNSZWFzb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3VwZGF0ZUZsYWdTdGF0dXNSZWFzb24+XG4gICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLW5vdC1lbnRlcmVkLWVycm9yLW1lc3NhZ2VcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLWNoYXItbGltaXQtZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPiB7e3N0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXCJcbiAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICByb3dzPVwiNVwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctY29tbWVudHMtaGludC1leHRlcm5hbCB1cGRhdGUtZmxhZy1zdGF0dXMtaGludCB1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLWNoYXItbGltaXQtaW5mb1xuICAgICAgICAgICAgICAgICAgdXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWVycm9yXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtcmVhc29uLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdTdGVwRW51bS5DSEFSQUNURVJfTElNSVRfSU5GTyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGRpdiBpZD1cImZsYWctc3RhdHVzLWNvbnRhaW5lci12Ml8xXCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiICpuZ0lmPVwiaW50ZXJuYWxVc2VyMlBvaW50MUVuYWJsZWRVcGRhdGVcIj5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctc3RhdHVzLWhlYWRpbmdcIj5cbiAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zXCI+XG4gICAgICAgICAgICA8aDEgaWQ9XCJ1cGRhdGUtZmxhZy1zdGF0dXMtaGVhZGluZ1wiIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICAgICAge3t1cGRhdGVGbGFnVGl0bGUgfCBycHhUcmFuc2xhdGV9fSB7eydzdGF0dXMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvcyBnb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIiBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiICpuZ0Zvcj1cImxldCBzdGF0dXMgb2YgdmFsaWRTdGF0dXNQcm9ncmVzc2lvbnNcIj5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMgKyAnXycgKyBzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU1wiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTICsgJ18nICsgc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAge3tjYXNlRmxhZ1N0YXR1c0VudW1bc3RhdHVzXSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cblxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdTdGVwRW51bS5TVEFUVVNfSElOVF9URVhUIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGRhdGVGbGFnU3RhdHVzUmVhc29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBpZD1cInRyYW5zbGF0aW9uLWNoZWNrYm94LWNvbnRhaW5lclwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIiAqbmdJZj1cImludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1jaGVja2JveGVzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5JU19XRUxTSF9UUkFOU0xBVElPTl9ORUVERURcIlxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCJcbiAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcl09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCI+XG4gICAgICAgICAgICAgIHt7J0kgbmVlZCB0byBhZGQgYSB0cmFuc2xhdGlvbicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBpZD1cImZsYWctc3RhdHVzLWNvbnRhaW5lci12MVwiIGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIiAqbmdJZj1cImludGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgICAgICA8cD57eydGbGFnIHN0YXR1czonIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstdGFnXCIgW25nQ2xhc3NdPVwieydnb3Z1ay10YWctLWdyZXknOiBzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdJbmFjdGl2ZSd9XCI+XG4gICAgICAgICAgICAgICAge3tzZWxlY3RlZEZsYWc/LmZsYWdEZXRhaWxEaXNwbGF5Py5mbGFnRGV0YWlsPy5zdGF0dXMgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGZcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTWFrZUluYWN0aXZlKClcIiAqbmdJZj1cInNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsLnN0YXR1cyA9PT0gJ0FjdGl2ZSdcIj5cbiAgICAgICAgICAgIHt7J01ha2UgaW5hY3RpdmUnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGlkPVwidXBkYXRlRmxhZ05leHRCdXR0b25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25OZXh0KClcIj5cbiAgICB7eydOZXh0JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
527
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UpdateFlagComponent, { className: "UpdateFlagComponent", filePath: "lib/shared/components/palette/case-flag/components/update-flag/update-flag.component.ts", lineNumber: 22 }); })();
|
|
528
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZsYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1mbGFnL2NvbXBvbmVudHMvdXBkYXRlLWZsYWcvdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzVELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0Isa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2YsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7SUNQbkUsK0JBQWtGO0lBQ2hGLFlBQ0Y7O0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSxtTUFDRjs7O0lBVUUsK0JBQTJGO0lBQ3pGLFlBQ0Y7O0lBQUEsaUJBQU07OztJQURKLGNBQ0Y7SUFERSwyR0FDRjs7O0lBV0ksQUFERiwrQkFBa0csZUFDdEM7SUFBQSxpQkFBQztJQUFBLGlCQUFPO0lBRWhFLEFBREYsa0NBQXlDLGVBQ0s7SUFBQSxZQUE0Qjs7SUFBQSxpQkFBTztJQUMvRSxZQUNGOztJQUNGLEFBREUsaUJBQVMsRUFDTDs7O0lBSDBDLGVBQTRCO0lBQTVCLHFEQUE0QjtJQUN4RSxlQUNGO0lBREUsNkZBQ0Y7OztJQUdBLEFBREYsK0JBQTRILGVBQ3RGO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLDRGQUN6RTs7O0lBRUUsQUFERiwrQkFBa0gsZUFDNUU7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsMkZBQ3pFOzs7SUFyQkYsNkJBQ3FCO0lBQ25CLCtCQUF1RDtJQUNyRCxZQUtGOzs7SUFBQSxpQkFBTTtJQVdOLEFBSEEsQUFQQSxxRkFBa0csd0VBTzBCLHdFQUdWO0lBR2xILG9DQUtrSTtJQUNsSSwwQkFBQTtJQUFBLGlCQUFXO0lBQ1gsZ0NBQW9IO0lBQ2xILGFBQ0Y7O0lBQUEsaUJBQU07Ozs7SUE1QkosZUFLRjtJQUxFLCtOQUtGO0lBQ2lDLGVBQStEO0lBQS9ELDhGQUErRDtJQU9WLGNBQW9DO0lBQXBDLDREQUFvQztJQUc3QyxjQUFtQztJQUFuQywyREFBbUM7SUFJdEcsY0FBa0M7SUFFbEMsQUFEQSxBQURBLHVEQUFrQyw0Q0FDRSx1REFDVztJQUt2RCxlQUNGO0lBREUsdUdBQ0Y7OztJQUlFLHdCQUF3RTs7O0lBRDFFLDZCQUF5QztJQUN2QyxxSEFBeUQ7Ozs7O0lBQTFDLGNBQXdDO0lBQXhDLDREQUF3Qzs7O0lBRHpELHNHQUF5Qzs7O0lBQTFCLGdEQUF3Qjs7O0lBUXZDLEFBREYsK0JBQXFJLGVBQy9GO0lBQUEsWUFBMkI7O0lBQUEsaUJBQU87SUFBQyxZQUN6RTs7SUFBQSxpQkFBTTs7O0lBRGdDLGVBQTJCO0lBQTNCLG9EQUEyQjtJQUFRLGVBQ3pFO0lBRHlFLGdHQUN6RTs7O0lBRUUsQUFERiwrQkFBMkgsZUFDckY7SUFBQSxZQUEyQjs7SUFBQSxpQkFBTztJQUFDLFlBQ3pFOztJQUFBLGlCQUFNOzs7SUFEZ0MsZUFBMkI7SUFBM0Isb0RBQTJCO0lBQVEsZUFDekU7SUFEeUUsK0ZBQ3pFOzs7SUFGQSxBQUhBLG9GQUFxSSx1RUFHVjtJQUczSCxvQ0FNc0Q7SUFDdEQsd0JBQUE7SUFBQSxpQkFBVztJQUNYLCtCQUF5SDtJQUN2SCxZQUNGOztJQUFBLGlCQUFNOzs7SUFoQnFGLGdFQUF3QztJQUdqRCxjQUF1QztJQUF2QywrREFBdUM7SUFJL0csY0FBOEM7SUFFOUMsQUFEQSxBQURBLG1FQUE4Qyx3REFDRSxtRUFDVztJQU1uRSxlQUNGO0lBREUscUdBQ0Y7OztJQVdJLCtCQUErRTtJQUM3RSw0QkFJeUI7SUFDekIsaUNBQWdHO0lBQzlGLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBUSxFQUNKOzs7O0lBUEksY0FBK0M7SUFHL0MsQUFEQSxBQURBLEFBREEsdUVBQStDLDBDQUNiLHFEQUNXLG9CQUM3QjtJQUN1QixjQUFnRDtJQUFoRCx3RUFBZ0Q7SUFDN0YsY0FDRjtJQURFLDJGQUNGOzs7SUFRTix3QkFBd0U7OztJQXJCcEUsQUFERixBQURGLEFBREYsK0JBQThHLG1CQUM3QixpQkFDWixhQUNLO0lBQ2xFLFlBQ0Y7OztJQUNGLEFBREUsaUJBQUssRUFDRTtJQUNULCtCQUF3STtJQUN0SSw0RUFBK0U7SUFXbkYsQUFERSxpQkFBTSxFQUNHO0lBRVgsK0JBQXFEO0lBQ25ELGFBQ0Y7O0lBQUEsaUJBQU07SUFDTixnR0FBeUQ7SUFDM0QsaUJBQU07Ozs7SUFyQkUsZUFDRjtJQURFLGtIQUNGO0lBRXFHLGVBQWdDO0lBQWhDLHFEQUFnQztJQUNsRixjQUEwQjtJQUExQix3REFBMEI7SUFjL0UsZUFDRjtJQURFLG1HQUNGO0lBQ2UsZUFBd0M7SUFBeEMsNERBQXdDOzs7SUFLckQsQUFERixBQURGLCtCQUFrSCxjQUNuRCxjQUN2QjtJQUNsQyw0QkFHK0Q7SUFDL0QsaUNBQzhEO0lBQzVELFlBQ0Y7O0lBR04sQUFERSxBQURFLEFBREUsaUJBQVEsRUFDSixFQUNGLEVBQ0Y7OztJQVRPLGVBQWtFO0lBRWxFLEFBREEsQUFEQSx1RkFBa0UsNkRBQ2IsK0RBQ0U7SUFFdkQsY0FBc0Q7SUFBdEQsMkVBQXNEO0lBQzNELGNBQ0Y7SUFERSxvRkFDRjs7OztJQWdCRixrQ0FBdUo7SUFBakcsMkxBQVMsdUJBQWdCLEtBQUM7SUFDOUUsWUFDRjs7SUFBQSxpQkFBUzs7SUFEUCxjQUNGO0lBREUsc0VBQ0Y7OztJQVhBLEFBREYsQUFERiwrQkFBcUYsY0FDM0MsUUFDbkM7SUFBQSxZQUNEOztJQUNFLEFBREYsNEJBQU0saUJBQ3VIO0lBQ3pILFlBQ0Y7O0lBR04sQUFERSxBQURFLEFBREUsaUJBQVMsRUFDSixFQUNMLEVBQ0E7SUFDTiwrQkFBd0M7SUFDdEMsb0ZBQXVKO0lBSTNKLEFBREUsaUJBQU0sRUFDRjs7O0lBYkMsZUFDRDtJQURDLG9FQUNEO0lBQzRCLGVBQWdHO0lBQWhHLDRIQUFnRztJQUN4SCxjQUNGO0lBREUsNFFBQ0Y7SUFLOEUsZUFBbUU7SUFBbkUsMkZBQW1FOztBRG5IL0osTUFBTSxPQUFPLG1CQUFvQixTQUFRLHdCQUF3QjtJQThCNUM7SUE3QkgsU0FBUyxDQUFZO0lBQ3JCLHVCQUF1QixDQUFTO0lBRS9CLG9CQUFvQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUVoRyxZQUFZLENBQXFDO0lBQ2pELGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDckIsYUFBYSxHQUFtQixFQUFFLENBQUM7SUFDbkMsOEJBQThCLEdBQTJCLElBQUksQ0FBQztJQUM5RCw2QkFBNkIsR0FBMkIsSUFBSSxDQUFDO0lBQzdELGtDQUFrQyxHQUEyQixJQUFJLENBQUM7SUFDbEUsaUNBQWlDLEdBQTJCLElBQUksQ0FBQztJQUNqRSxrQkFBa0IsR0FBRyxjQUFjLENBQUM7SUFDcEMsdUJBQXVCLENBQVc7SUFDekIsa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0lBQ3BDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO0lBQ3ZDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUN2QiwwQkFBMEIsR0FBRyw0QkFBNEIsQ0FBQztJQUNuRSxVQUFVLENBQWE7SUFDeEIsK0JBQStCLEdBQUcsK0JBQStCLENBQUM7SUFDbEUsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixnQ0FBZ0MsR0FBRyxLQUFLLENBQUM7SUFFaEQsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDdEYsQ0FBQztJQUVELFlBQ21CLHFCQUE0QyxFQUM3RCw4QkFBOEQ7UUFFOUQsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFIckIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUk5RCxDQUFDO0lBRUssUUFBUTtRQUNiLDZGQUE2RjtRQUM3RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGVBQWUsQ0FBQztRQUMzRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLE1BQU0sQ0FBQztRQUNsRyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixLQUFLLCtCQUErQixDQUFDLGdCQUFnQixDQUFDO1FBQzFILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsS0FBMkMsQ0FBQztRQUNySCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUNqRSxrSEFBa0g7WUFDbEgsb0hBQW9IO1lBQ3BILDhHQUE4RztZQUM5RyxzRkFBc0Y7WUFDdEYsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FDM0QsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUVqRyxtSEFBbUg7WUFDbkgsa0hBQWtIO1lBQ2xILGtGQUFrRjtZQUNsRixJQUFJLGdCQUF3QixDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakQsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7WUFDbkYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1lBQ25GLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDNUYsMERBQTBEO1lBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLElBQUksV0FBVyxDQUNoRixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUVsRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFcEUsNkdBQTZHO1lBQzdHLDRHQUE0RztZQUM1Ryx3RUFBd0U7WUFDeEUsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO2dCQUN6QixRQUFRLG9CQUFvQixFQUFFLENBQUM7b0JBQzdCLEtBQUssUUFBUTt3QkFDWCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3pILE1BQU07b0JBQ1IsS0FBSyxXQUFXO3dCQUNkLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUMzRCxNQUFNO29CQUNSO3dCQUNFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUM7Z0JBQ3RDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxVQUFzQjtRQUNsRCxRQUFRLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3JDLEtBQUssK0JBQStCLENBQUMsTUFBTSxDQUFDO1lBQzVDLEtBQUssK0JBQStCLENBQUMsZ0JBQWdCO2dCQUNuRCxJQUFJLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsZUFBZTt3QkFDeEUsQ0FBQyxDQUFDLEtBQUssVUFBVSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFO3dCQUM5RCxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNQLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLFVBQVUsQ0FBQyxtQkFBbUI7d0JBQ3BGLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxnQkFBZ0IsSUFBSSxVQUFVLENBQUMsbUJBQW1CLEVBQUU7d0JBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ1AsT0FBTyxZQUFZO3dCQUNqQixDQUFDLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxpQkFBaUIsS0FBSyxVQUFVLENBQUMsSUFBSSxHQUFHLFlBQVksR0FBRzt3QkFDcEYsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsR0FBRyxDQUFDO2dCQUM3RixDQUFDO2dCQUNELE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hELEtBQUssK0JBQStCLENBQUMsZUFBZTtnQkFDbEQsT0FBTyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztZQUM1RDtnQkFDRSxPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU07UUFDWCxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFFakMsdUVBQXVFO1FBQ3ZFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRUQsa0hBQWtIO1FBQ2xILHlGQUF5RjtRQUN6RixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1lBQzdCLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLFdBQVc7WUFDekQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0seUJBQXlCO1FBQzlCLDRJQUE0STtRQUM1SSw4R0FBOEc7UUFDOUcsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7UUFDbkUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQztRQUNoRixNQUFNLG9CQUFvQixHQUFHLENBQUMsV0FBVyxDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsZ0JBQWdCLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0gsSUFBSSxDQUFDLHFCQUFxQixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDbkQsV0FBVyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDbEMsV0FBVyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUNwQyxXQUFXLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRU0sY0FBYztRQUNuQix3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDaEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQztRQUMxQyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIscUhBQXFIO1FBQ3JILHlFQUF5RTtRQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDdkUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO2dCQUNqRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsSUFBSTtnQkFDN0IsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLHlCQUF5QixDQUFDO1lBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsRUFBRTtnQkFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLDhCQUE4QjtnQkFDaEQsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFFBQVE7YUFDckMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLHNCQUFzQixDQUFDLGlDQUFpQyxDQUFDO1lBQzlGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsRUFBRTtnQkFDVCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsaUNBQWlDO2dCQUNyRSxPQUFPLEVBQUUsa0JBQWtCLENBQUMsUUFBUTthQUNyQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDeEYsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoSSxrRkFBa0Y7UUFDbEYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssd0JBQXdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2RyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsc0JBQXNCLENBQUMseUJBQXlCLENBQUM7WUFDM0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssRUFBRSxFQUFFO2dCQUNULFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyx5QkFBeUI7Z0JBQzdELE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxvQkFBb0I7YUFDakQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLHNCQUFzQixDQUFDLGtDQUFrQyxDQUFDO1lBQ3BHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixLQUFLLEVBQUUsRUFBRTtnQkFDVCxXQUFXLEVBQUUsc0JBQXNCLENBQUMsa0NBQWtDO2dCQUN0RSxPQUFPLEVBQUUsa0JBQWtCLENBQUMsb0JBQW9CO2FBQ2pELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxzQkFBc0IsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNsRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDdEIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsV0FBVyxFQUFFLHNCQUFzQixDQUFDLGlDQUFpQztnQkFDckUsT0FBTyxFQUFFLGtCQUFrQixDQUFDLG9CQUFvQjthQUNqRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOzZFQTNOVSxtQkFBbUI7NkRBQW5CLG1CQUFtQjtZQ3JCaEMsZ0NBQXNDO1lBSTlCLEFBREYsQUFERixBQURGLDhCQUE0RixhQUNELFlBQy9CLGVBQ1o7WUFDeEMsWUFDRjs7WUFDRixBQURFLGlCQUFRLEVBQ0w7WUFDTCxvRUFBa0Y7WUFLaEYsQUFERiw4QkFBcUMsZUFDMkM7WUFDNUUsYUFLRjs7OztZQUFBLGlCQUFRO1lBcUNSLEFBakNBLEFBSEEsdUVBQTJGLDhFQUl0RSwwR0FnQ007WUFLN0IsaUJBQU07WUFnRU4sQUFmQSxBQTNCQSxBQXBCQSx1SEFBcUMsNERBb0J5RSwwREEyQkksNERBZTdCO1lBaUJ6RixBQURFLGlCQUFNLEVBQ0Y7Ozs7WUE5SU0seUNBQXVCO1lBRUgsZUFBMEQ7WUFBMUQsbUZBQTBEO1lBR2xGLGVBQ0Y7WUFERSwyRUFDRjtZQUVzRCxlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFLcEMsZUFBbUM7WUFBbkMscURBQW1DO1lBQzNFLGNBS0Y7WUFMRSx5TkFLRjtZQUNpRSxlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFHMUUsY0FDYjtZQUFBLEFBRGEsMkhBQ2IsNkJBQWlCO1lBMkRpRCxlQUFzQztZQUF0QywyREFBc0M7WUEyQmxDLGNBQXNDO1lBQXRDLDJEQUFzQztZQWVyRCxjQUF3QjtZQUF4Qiw2Q0FBd0I7OztpRkR4RzVFLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQjttR0FJWCxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBRVcsb0JBQW9CO2tCQUFwQyxNQUFNOztrRkFKSSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUnB4VHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAncnB4LXh1aS10cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UsIEpvdXJuZXkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZUZsYWdTdGF0ZSwgRmxhZ0RldGFpbCwgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyLFxuICBDYXNlRmxhZ0ZpZWxkU3RhdGUsXG4gIENhc2VGbGFnRm9ybUZpZWxkcyxcbiAgQ2FzZUZsYWdTdGF0dXMsXG4gIENhc2VGbGFnV2l6YXJkU3RlcFRpdGxlLFxuICBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLFxuICBVcGRhdGVGbGFnU3RlcFxufSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9iYXNlLWZpZWxkJztcbmltcG9ydCB7IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtdXBkYXRlLWZsYWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBkYXRlLWZsYWcuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZUZsYWdDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEpvdXJuZXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEpvdXJuZXkge1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5Q29udGV4dFBhcmFtZXRlcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FzZUZsYWdTdGF0ZUVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxDYXNlRmxhZ1N0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FzZUZsYWdTdGF0ZT4oKTtcblxuICBwdWJsaWMgc2VsZWN0ZWRGbGFnOiBGbGFnRGV0YWlsRGlzcGxheVdpdGhGb3JtR3JvdXBQYXRoO1xuICBwdWJsaWMgdXBkYXRlRmxhZ1RpdGxlID0gJyc7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2VzOiBFcnJvck1lc3NhZ2VbXSA9IFtdO1xuICBwdWJsaWMgY29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIGNvbW1lbnRzQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2U6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UgPSBudWxsO1xuICBwdWJsaWMgc3RhdHVzUmVhc29uQ2hhckxpbWl0RXJyb3JNZXNzYWdlOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgcHVibGljIHVwZGF0ZUZsYWdTdGVwRW51bSA9IFVwZGF0ZUZsYWdTdGVwO1xuICBwdWJsaWMgdmFsaWRTdGF0dXNQcm9ncmVzc2lvbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgY2FzZUZsYWdTdGF0dXNFbnVtID0gQ2FzZUZsYWdTdGF0dXM7XG4gIHB1YmxpYyByZWFkb25seSBjYXNlRmxhZ0Zvcm1GaWVsZHMgPSBDYXNlRmxhZ0Zvcm1GaWVsZHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1heENoYXJMaW1pdCA9IDIwMDtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbiA9ICdzZWxlY3RlZE1hbmFnZUNhc2VMb2NhdGlvbic7XG4gIHByaXZhdGUgZmxhZ0RldGFpbDogRmxhZ0RldGFpbDtcbiAgcHVibGljIGNhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPSBDYXNlRmxhZ0Rpc3BsYXlDb250ZXh0UGFyYW1ldGVyO1xuICBwdWJsaWMgZXh0ZXJuYWxVc2VyVXBkYXRlID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcm5hbFVzZXJVcGRhdGUgPSBmYWxzZTtcbiAgcHVibGljIGludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBleHRlcm5hbGx5VmlzaWJsZUZsYWcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LnZpc2liaWxpdHk/LnRvTG93ZXJDYXNlKCkgPT09ICdleHRlcm5hbCc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJweFRyYW5zbGF0aW9uU2VydmljZTogUnB4VHJhbnNsYXRpb25TZXJ2aWNlLCBcbiAgICBtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2U6IE11bHRpcGFnZUNvbXBvbmVudFN0YXRlU2VydmljZVxuICApIHtcbiAgICBzdXBlcihtdWx0aXBhZ2VDb21wb25lbnRTdGF0ZVNlcnZpY2UpO1xuICAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZXQgd2hldGhlciB0aGlzIGlzIGFuIGV4dGVybmFsLCBpbnRlcm5hbCwgb3IgaW50ZXJuYWwgQ2FzZSBGbGFncyB2Mi4xIGVuYWJsZWQgdXNlciB1cGRhdGVcbiAgICB0aGlzLmV4dGVybmFsVXNlclVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFX0VYVEVSTkFMO1xuICAgIHRoaXMuaW50ZXJuYWxVc2VyVXBkYXRlID0gdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlciA9PT0gQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU7XG4gICAgdGhpcy5pbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZSA9IHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09IENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTtcbiAgICB0aGlzLnNlbGVjdGVkRmxhZyA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNlbGVjdGVkTWFuYWdlQ2FzZUxvY2F0aW9uKT8udmFsdWUgYXMgRmxhZ0RldGFpbERpc3BsYXlXaXRoRm9ybUdyb3VwUGF0aDtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZsYWc/LmZsYWdEZXRhaWxEaXNwbGF5Py5mbGFnRGV0YWlsKSB7XG4gICAgICB0aGlzLmZsYWdEZXRhaWwgPSB0aGlzLnNlbGVjdGVkRmxhZy5mbGFnRGV0YWlsRGlzcGxheS5mbGFnRGV0YWlsO1xuICAgICAgLy8gSWYgcHJlc2VudCwgdXNlIHRoZSAqb3JpZ2luYWwqIGZsYWcgc3RhdHVzLCBub3QgdGhlIG9uZSBpbiB0aGUgZmxhZ0RldGFpbCBvYmplY3QsIGJlY2F1c2UgdGhlIHN0YXR1cyBjb3VsZCBoYXZlXG4gICAgICAvLyBiZWVuIG1vZGlmaWVkIHZpYSBhIHByZXZpb3VzIFwiVXBkYXRlIEZsYWdcIiBqb3VybmV5IHRocm91Z2ggdGhlIFVJIGJ1dCBub3QgcGVyc2lzdGVkIHlldCAodGh1cyBub3QgdGhlICp0cnVlKiBmbGFnXG4gICAgICAvLyBzdGF0dXMpLiBPdGhlcndpc2UsIHVzZSB0aGUgc3RhdHVzIGZyb20gdGhlIGZsYWdEZXRhaWwgb2JqZWN0IChpbml0aWFsbHksIHRoZSBvcmlnaW5hbCBmbGFnIHN0YXR1cyB3b24ndCBiZVxuICAgICAgLy8gcHJlc2VudCBiZWNhdXNlIGl0IGdldHMgY2FjaGVkIG9ubHkgb24gZmlyc3QgdXBkYXRlIGJ5IFdyaXRlQ2FzZUZsYWdGaWVsZENvbXBvbmVudClcbiAgICAgIGNvbnN0IGN1cnJlbnRGbGFnU3RhdHVzS2V5ID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbmQoXG4gICAgICAgIChrZXkpID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09ICh0aGlzLnNlbGVjdGVkRmxhZy5vcmlnaW5hbFN0YXR1cyB8fCB0aGlzLmZsYWdEZXRhaWwuc3RhdHVzKSk7XG5cbiAgICAgIC8vIFBvcHVsYXRlIGZsYWcgY29tbWVudHMgdGV4dCBhcmVhIHdpdGggZXhpc3RpbmcgY29tbWVudHM7IHVzZSB0aGUgY29tbWVudHMgYXBwcm9wcmlhdGUgZm9yIHRoZSBzZWxlY3RlZCBsYW5ndWFnZSxcbiAgICAgIC8vIGZhbGxpbmcgYmFjayBvbiB0aGVpciBhbHRlcm5hdGUgY291bnRlcnBhcnQgaWYgbm9uZSBhcmUgYXZhaWxhYmxlLiBDb21tZW50cyBhcmUgdG8gYmUgcG9wdWxhdGVkIG9uZSB0aW1lIG9ubHkgLVxuICAgICAgLy8gd2hlbiB0aGUgdXNlciBmaXJzdCB2aXNpdHMgdGhlIHBhZ2UgLSBldmVuIGlmIHRoZXkgc3dpdGNoIGxhbmd1YWdlIHN1YnNlcXVlbnRseVxuICAgICAgbGV0IGV4aXN0aW5nQ29tbWVudHM6IHN0cmluZztcbiAgICAgIGlmICh0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5sYW5ndWFnZSA9PT0gJ2N5Jykge1xuICAgICAgICBleGlzdGluZ0NvbW1lbnRzID0gdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5IHx8IHRoaXMuZmxhZ0RldGFpbC5mbGFnQ29tbWVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4aXN0aW5nQ29tbWVudHMgPSB0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5O1xuICAgICAgfVxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuQ09NTUVOVFMsIG5ldyBGb3JtQ29udHJvbChleGlzdGluZ0NvbW1lbnRzKSk7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMsIG5ldyBGb3JtQ29udHJvbChjdXJyZW50RmxhZ1N0YXR1c0tleSkpO1xuICAgICAgLy8gUG9wdWxhdGUgc3RhdHVzIHJlYXNvbiBvbmx5IGlmIHRoZSB1c2VyIGlzIG5vdCBleHRlcm5hbFxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT04sIG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgdGhpcy5leHRlcm5hbFVzZXJVcGRhdGUgPyAnJyA6IHRoaXMuZmxhZ0RldGFpbC5mbGFnVXBkYXRlQ29tbWVudCkpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbChDYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVELCBuZXcgRm9ybUNvbnRyb2woZmFsc2UpKTtcblxuICAgICAgdGhpcy51cGRhdGVGbGFnVGl0bGUgPSB0aGlzLnNldFVwZGF0ZUNhc2VGbGFnVGl0bGUodGhpcy5mbGFnRGV0YWlsKTtcblxuICAgICAgLy8gU2V0IHRoZSB2YWxpZCBzdGF0dXMgb3B0aW9ucyBmb3IgZGlzcGxheSwgYmFzZWQgb24gY3VycmVudCBzdGF0dXMgb2YgdGhlIHNlbGVjdGVkIGZsYWcuIFwiQWN0aXZlXCIgZmxhZ3MgY2FuXG4gICAgICAvLyByZW1haW4gXCJBY3RpdmVcIiBvciBtb3ZlIHRvIFwiSW5hY3RpdmVcIiBvbmx5OyBcIlJlcXVlc3RlZFwiIGZsYWdzIGNhbiByZW1haW4gXCJSZXF1ZXN0ZWRcIiBvciBtb3ZlIHRvIFwiQWN0aXZlXCIsXG4gICAgICAvLyBcIkluYWN0aXZlXCIsIG9yIFwiTm90IGFwcHJvdmVkXCIuIE5vIG90aGVyIHN0YXR1cyBwcm9ncmVzc2lvbnMgYXJlIHZhbGlkXG4gICAgICBpZiAoY3VycmVudEZsYWdTdGF0dXNLZXkpIHtcbiAgICAgICAgc3dpdGNoIChjdXJyZW50RmxhZ1N0YXR1c0tleSkge1xuICAgICAgICAgIGNhc2UgJ0FDVElWRSc6XG4gICAgICAgICAgICB0aGlzLnZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zID0gT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpLmZpbHRlcigoa2V5KSA9PiAhWydSRVFVRVNURUQnLCAnTk9UX0FQUFJPVkVEJ10uaW5jbHVkZXMoa2V5KSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdSRVFVRVNURUQnOlxuICAgICAgICAgICAgdGhpcy52YWxpZFN0YXR1c1Byb2dyZXNzaW9ucyA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aGlzLnZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zID0gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXBkYXRlQ2FzZUZsYWdUaXRsZShmbGFnRGV0YWlsOiBGbGFnRGV0YWlsKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIpIHtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEU6XG4gICAgICBjYXNlIENhc2VGbGFnRGlzcGxheUNvbnRleHRQYXJhbWV0ZXIuVVBEQVRFXzJfUE9JTlRfMTpcbiAgICAgICAgaWYgKGZsYWdEZXRhaWw/Lm5hbWUpIHtcbiAgICAgICAgICBjb25zdCBzdWJUeXBlVmFsdWUgPSBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZSB8fCBmbGFnRGV0YWlsLnN1YlR5cGVWYWx1ZV9jeVxuICAgICAgICAgICAgPyBgLCAke2ZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlIHx8IGZsYWdEZXRhaWwuc3ViVHlwZVZhbHVlX2N5fWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgY29uc3Qgb3RoZXJEZXNjcmlwdGlvbiA9IGZsYWdEZXRhaWwub3RoZXJEZXNjcmlwdGlvbiB8fCBmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb25fY3lcbiAgICAgICAgICAgID8gYCwgJHtmbGFnRGV0YWlsLm90aGVyRGVzY3JpcHRpb24gfHwgZmxhZ0RldGFpbC5vdGhlckRlc2NyaXB0aW9uX2N5fWBcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgICAgcmV0dXJuIHN1YlR5cGVWYWx1ZVxuICAgICAgICAgICAgPyBgJHtDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRX0gXCIke2ZsYWdEZXRhaWwubmFtZX0ke3N1YlR5cGVWYWx1ZX1cImBcbiAgICAgICAgICAgIDogYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9IFwiJHtmbGFnRGV0YWlsLm5hbWV9JHtvdGhlckRlc2NyaXB0aW9ufVwiYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7Q2FzZUZsYWdXaXphcmRTdGVwVGl0bGUuVVBEQVRFX0ZMQUdfVElUTEV9YDtcbiAgICAgIGNhc2UgQ2FzZUZsYWdEaXNwbGF5Q29udGV4dFBhcmFtZXRlci5VUERBVEVfRVhURVJOQUw6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5VUERBVEVfRkxBR19USVRMRV9FWFRFUk5BTDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBDYXNlRmxhZ1dpemFyZFN0ZXBUaXRsZS5OT05FO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgLy8gVmFsaWRhdGUgZmxhZyBjb21tZW50cyBhbmQgc3RhdHVzIHJlYXNvbiBlbnRyeVxuICAgIHRoaXMudmFsaWRhdGVUZXh0RW50cnkoKTtcbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNsYXRpb25OZWVkZWQoKTtcblxuICAgIC8vIFNldCBzZWxlY3RlZCBmbGFnIHN0YXR1cyB0byBcIkluYWN0aXZlXCIgaWYgdXBkYXRlIGlzIGJ5IGV4dGVybmFsIHVzZXJcbiAgICBpZiAodGhpcy5leHRlcm5hbFVzZXJVcGRhdGUpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTKT8uc2V0VmFsdWUoT2JqZWN0LmtleXMoQ2FzZUZsYWdTdGF0dXMpWzJdKTtcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gY2FzZSBmbGFnIGZpZWxkIHN0YXRlLCBlcnJvciBtZXNzYWdlcywgYW5kIHNlbGVjdGVkIGZsYWcgZGV0YWlsIHRvIHRoZSBwYXJlbnQuIFRoZSBzZWxlY3RlZCBmbGFnIG11c3QgYmVcbiAgICAvLyByZS1lbWl0dGVkIGJlY2F1c2UgdGhlIHBhcmVudCBjb21wb25lbnQgcmVwb3B1bGF0ZXMgdGhpcyBvbiBoYW5kbGluZyB0aGlzIEV2ZW50RW1pdHRlclxuICAgIHRoaXMuY2FzZUZsYWdTdGF0ZUVtaXR0ZXIuZW1pdCh7XG4gICAgICBjdXJyZW50Q2FzZUZsYWdGaWVsZFN0YXRlOiBDYXNlRmxhZ0ZpZWxkU3RhdGUuRkxBR19VUERBVEUsXG4gICAgICBlcnJvck1lc3NhZ2VzOiB0aGlzLmVycm9yTWVzc2FnZXMsXG4gICAgICBzZWxlY3RlZEZsYWc6IHRoaXMuc2VsZWN0ZWRGbGFnLFxuICAgIH0pO1xuXG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlVHJhbnNsYXRpb25OZWVkZWQoKTogdm9pZCB7XG4gICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgdXNlciBjYW4gc2VsZWN0IHRvIGhhdmUgdHJhbnNsYXRpb24gYW5kIHRoZW4gbmF2aWdhdGUgYmFjayB0byByZW1vdmUgdGhlIHJlcXVpcmVkIHRyYW5zbGF0aW9uIGluIHRoZSBzYW1lIGpvdXJuZXlcbiAgICAvLyB0aGlzIGZ1bmN0aW9uIHdpbGwgY2hlY2sgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBhbnkgb2YgdGhlIHRyYW5zbGF0aW9uIGZpZWxkcyBhcHBsaWVkIGFuZCByZW1vdmUgaWYgdGhleSBkb1xuICAgIGNvbnN0IGZsYWdEZXRhaWxzID0gdGhpcy5zZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbDtcbiAgICBjb25zdCBpc1RyYW5zbGF0aW9uUmVxdWlyZWQgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZS5mbGFnSXNXZWxzaFRyYW5zbGF0aW9uTmVlZGVkO1xuICAgIGNvbnN0IGhhc1RyYW5zbGF0aW9uRmllbGRzID0gKGZsYWdEZXRhaWxzLmZsYWdDb21tZW50X2N5IHx8IGZsYWdEZXRhaWxzLm90aGVyRGVzY3JpcHRpb24gfHwgZmxhZ0RldGFpbHMub3RoZXJEZXNjcmlwdGlvbl9jeSk7XG4gICAgaWYgKCFpc1RyYW5zbGF0aW9uUmVxdWlyZWQgJiYgaGFzVHJhbnNsYXRpb25GaWVsZHMpIHtcbiAgICAgIGZsYWdEZXRhaWxzLmZsYWdDb21tZW50X2N5ID0gbnVsbDtcbiAgICAgIGZsYWdEZXRhaWxzLm90aGVyRGVzY3JpcHRpb24gPSBudWxsO1xuICAgICAgZmxhZ0RldGFpbHMub3RoZXJEZXNjcmlwdGlvbl9jeSA9IG51bGw7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5yZW1vdmVDb250cm9sKCdmbGFnQ29tbWVudF9jeScpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnb3RoZXJEZXNjcmlwdGlvbicpO1xuICAgICAgdGhpcy5mb3JtR3JvdXAucmVtb3ZlQ29udHJvbCgnb3RoZXJEZXNjcmlwdGlvbl9jeScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk1ha2VJbmFjdGl2ZSgpOiB2b2lkIHtcbiAgICAvLyBTZXQgc2VsZWN0ZWQgZmxhZyBzdGF0dXMgdG8gXCJJbmFjdGl2ZVwiIG9uIHNjcmVlbiBhbmQgaW4gdGhlIEZvcm1Hcm91cFxuICAgIHRoaXMuc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID0gQ2FzZUZsYWdTdGF0dXMuSU5BQ1RJVkU7XG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVMpPy5zZXRWYWx1ZShPYmplY3Qua2V5cyhDYXNlRmxhZ1N0YXR1cylbMl0pO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVRleHRFbnRyeSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1lbnRzTm90RW50ZXJlZEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5jb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5zdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgLy8gVmFsaWRhdGlvbiBzaG91bGQgZmFpbCBpZiB0aGUgZmxhZyBoYXMgYW4gZXhpc3RpbmcgY29tbWVudCBhbmQgaXQgaGFzIGJlZW4gZGVsZXRlZCBvbiBzY3JlZW47IGNvbnZlcnNlbHksIGlmIHRoZXJlXG4gICAgLy8gaXMgbm8gZXhpc3RpbmcgY29tbWVudCB0aGVuIG9uZSBpcyBub3QgcmVxdWlyZWQgZm9yIHZhbGlkYXRpb24gdG8gcGFzc1xuICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoQ2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTKT8udmFsdWU7XG4gICAgaWYgKCFjb21tZW50ICYmICh0aGlzLmZsYWdEZXRhaWwuZmxhZ0NvbW1lbnQgfHwgdGhpcy5mbGFnRGV0YWlsLmZsYWdDb21tZW50X2N5KSkge1xuICAgICAgdGhpcy5jb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSAhdGhpcy5kaXNwbGF5Q29udGV4dFBhcmFtZXRlclxuICAgICAgICA/IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuTk9ORVxuICAgICAgICA6IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuRkxBR19DT01NRU5UU19OT1RfRU5URVJFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGNvbW1lbnQgJiYgY29tbWVudC5sZW5ndGggPiB0aGlzLnRleHRNYXhDaGFyTGltaXQpIHtcbiAgICAgIHRoaXMuY29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLkZMQUdfQ09NTUVOVFNfQ0hBUl9MSU1JVF9FWENFRURFRDtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5GTEFHX0NPTU1FTlRTX0NIQVJfTElNSVRfRVhDRUVERUQsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdHVzUmVhc29uID0gdGhpcy5mb3JtR3JvdXAuZ2V0KENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTik/LnZhbHVlO1xuICAgIGNvbnN0IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSA9IE9iamVjdC5rZXlzKENhc2VGbGFnU3RhdHVzKS5maW5kKChrZXkpID0+IENhc2VGbGFnU3RhdHVzW2tleV0gPT09IENhc2VGbGFnU3RhdHVzLk5PVF9BUFBST1ZFRCk7XG4gICAgLy8gU3RhdHVzIHJlYXNvbiBpcyBtYW5kYXRvcnkgaWYgZmxhZyBzdGF0dXMgaXMgXCJOb3QgYXBwcm92ZWRcIiBvciB1c2VyIGlzIGV4dGVybmFsXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChDYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTKT8udmFsdWUgPT09IGZsYWdTdGF0dXNOb3RBcHByb3ZlZEtleSAmJiAhc3RhdHVzUmVhc29uKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbk5vdEVudGVyZWRFcnJvck1lc3NhZ2UgPSBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRUQ7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9OT1RfRU5URVJFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5leHRlcm5hbFVzZXJVcGRhdGUgJiYgIXN0YXR1c1JlYXNvbikge1xuICAgICAgdGhpcy5zdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlID0gVXBkYXRlRmxhZ0Vycm9yTWVzc2FnZS5TVEFUVVNfUkVBU09OX05PVF9FTlRFUkVEX0VYVEVSTkFMO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fTk9UX0VOVEVSRURfRVhURVJOQUwsXG4gICAgICAgIGZpZWxkSWQ6IENhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1c1JlYXNvbiAmJiBzdGF0dXNSZWFzb24ubGVuZ3RoID4gdGhpcy50ZXh0TWF4Q2hhckxpbWl0KSB7XG4gICAgICB0aGlzLnN0YXR1c1JlYXNvbkNoYXJMaW1pdEVycm9yTWVzc2FnZSA9IFVwZGF0ZUZsYWdFcnJvck1lc3NhZ2UuU1RBVFVTX1JFQVNPTl9DSEFSX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzLnB1c2goe1xuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBVcGRhdGVGbGFnRXJyb3JNZXNzYWdlLlNUQVRVU19SRUFTT05fQ0hBUl9MSU1JVF9FWENFRURFRCxcbiAgICAgICAgZmllbGRJZDogQ2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVU19DSEFOR0VfUkVBU09OXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmV4dCgpIHtcbiAgICB0aGlzLm9uTmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHN1cGVyLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWNoYXJhY3Rlci1jb3VudFwiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hhcmFjdGVyLWNvdW50XCIgZGF0YS1tYXhsZW5ndGg9XCIyMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGVycm9yTWVzc2FnZXMubGVuZ3RoID4gMH1cIj5cbiAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWxhYmVsLXdyYXBwZXIgZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW1cIj5cbiAgICAgICAgICB7e3VwZGF0ZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2gxPlxuICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWhpbnQtZXh0ZXJuYWxcIiBjbGFzcz1cImdvdnVrLWhpbnRcIiAqbmdJZj1cImV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICB7e3NlbGVjdGVkRmxhZz8uZmxhZ0RldGFpbERpc3BsYXk/LmZsYWdEZXRhaWwgfCB1cGRhdGVGbGFnVGl0bGVEaXNwbGF5fX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLXNcIiBbZm9yXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICBleHRlcm5hbFVzZXJVcGRhdGVcbiAgICAgICAgICAgICAgPyAodXBkYXRlRmxhZ1N0ZXBFbnVtLkNPTU1FTlRfRklFTERfTEFCRUxfRVhURVJOQUwgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogKHVwZGF0ZUZsYWdUaXRsZSB8IHJweFRyYW5zbGF0ZSkgKyAoJyBjb21tZW50cycgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnQtZXh0ZXJuYWxcIiBjbGFzcz1cImdvdnVrLWhpbnRcIiAqbmdJZj1cImV4dGVybmFsVXNlclVwZGF0ZVwiPlxuICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLkNPTU1FTlRfSElOVF9URVhUX0VYVEVSTkFMIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnRlcm5hbFVzZXJVcGRhdGUgfHwgaW50ZXJuYWxVc2VyMlBvaW50MUVuYWJsZWRVcGRhdGUgfHwgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPT09ICcnO1xuICAgICAgICAgIGVsc2UgZXh0ZXJuYWxVc2VyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIGludGVybmFsVXNlclVwZGF0ZVxuICAgICAgICAgICAgICAgID8gKHVwZGF0ZUZsYWdTdGVwRW51bS5DT01NRU5UX0hJTlRfVEVYVF9JTlRFUk5BTCB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICA6ICh1cGRhdGVGbGFnU3RlcEVudW0uQ09NTUVOVF9ISU5UX1RFWFRfSU5URVJOQUxfMl9QT0lOVF8xIHwgcnB4VHJhbnNsYXRlKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZSAmJiBleHRlcm5hbGx5VmlzaWJsZUZsYWdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+ITwvc3Bhbj5cbiAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLldBUk5JTkdfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctY29tbWVudHMtbm90LWVudGVyZWQtZXJyb3ItbWVzc2FnZVwiIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiY29tbWVudHNOb3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tjb21tZW50c05vdEVudGVyZWRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ1cGRhdGUtZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJjb21tZW50c0NoYXJMaW1pdEVycm9yTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7Y29tbWVudHNDaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImdvdnVrLXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5DT01NRU5UU1wiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLkNPTU1FTlRTXCJcbiAgICAgICAgICAgICAgICAgICAgcm93cz1cIjVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwidXBkYXRlLWZsYWctY29tbWVudHMtaGludCB1cGRhdGUtZmxhZy1jb21tZW50cy1jaGFyLWxpbWl0LWluZm8gdXBkYXRlLWZsYWctY29tbWVudHMtY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWNoYXItbGltaXQtaW5mb1wiIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2VcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1N0ZXBFbnVtLkNIQVJBQ1RFUl9MSU1JVF9JTkZPIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZXh0ZXJuYWxVc2VyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGRhdGVGbGFnU3RhdHVzUmVhc29uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLXRlbXBsYXRlICN1cGRhdGVGbGFnU3RhdHVzUmVhc29uPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1ub3QtZW50ZXJlZC1lcnJvci1tZXNzYWdlXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNSZWFzb25Ob3RFbnRlcmVkRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydFcnJvcjonIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+IHt7c3RhdHVzUmVhc29uTm90RW50ZXJlZEVycm9yTWVzc2FnZSB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J0Vycm9yOicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj4ge3tzdGF0dXNSZWFzb25DaGFyTGltaXRFcnJvck1lc3NhZ2UgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNfQ0hBTkdFX1JFQVNPTlwiXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cIlxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTX0NIQU5HRV9SRUFTT05cIlxuICAgICAgICAgICAgICAgICAgcm93cz1cIjVcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLWNvbW1lbnRzLWhpbnQtZXh0ZXJuYWwgdXBkYXRlLWZsYWctc3RhdHVzLWhpbnQgdXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cbiAgICAgICAgICAgICAgICAgIHVwZGF0ZS1mbGFnLXN0YXR1cy1yZWFzb24tY2hhci1saW1pdC1lcnJvclwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8ZGl2IGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLXJlYXNvbi1jaGFyLWxpbWl0LWluZm9cIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlXCIgYXJpYS1saXZlPVwicG9saXRlXCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uQ0hBUkFDVEVSX0xJTUlUX0lORk8gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXN0YXR1cy1jb250YWluZXItdjJfMVwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTRcIiAqbmdJZj1cImludGVybmFsVXNlcjJQb2ludDFFbmFibGVkVXBkYXRlXCI+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInVwZGF0ZS1mbGFnLXN0YXR1cy1oZWFkaW5nXCI+XG4gICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19sZWdlbmQgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tc1wiPlxuICAgICAgICAgICAgPGgxIGlkPVwidXBkYXRlLWZsYWctc3RhdHVzLWhlYWRpbmdcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAgICAgIHt7dXBkYXRlRmxhZ1RpdGxlIHwgcnB4VHJhbnNsYXRlfX0ge3snc3RhdHVzJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tNFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCIgW2lkXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgc3RhdHVzIG9mIHZhbGlkU3RhdHVzUHJvZ3Jlc3Npb25zXCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTICsgJ18nICsgc3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuU1RBVFVTXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNhc2VGbGFnRm9ybUZpZWxkcy5TVEFUVVNcIlxuICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLlNUQVRVUyArICdfJyArIHN0YXR1c1wiPlxuICAgICAgICAgICAgICAgIHt7Y2FzZUZsYWdTdGF0dXNFbnVtW3N0YXR1c10gfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgICAgPGRpdiBpZD1cInVwZGF0ZS1mbGFnLXN0YXR1cy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAge3t1cGRhdGVGbGFnU3RlcEVudW0uU1RBVFVTX0hJTlRfVEVYVCB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBkYXRlRmxhZ1N0YXR1c1JlYXNvblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgaWQ9XCJ0cmFuc2xhdGlvbi1jaGVja2JveC1jb250YWluZXJcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXIyUG9pbnQxRW5hYmxlZFVwZGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstY2hlY2tib3hlc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjYXNlRmxhZ0Zvcm1GaWVsZHMuSVNfV0VMU0hfVFJBTlNMQVRJT05fTkVFREVEXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiXG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiY2FzZUZsYWdGb3JtRmllbGRzLklTX1dFTFNIX1RSQU5TTEFUSU9OX05FRURFRFwiPlxuICAgICAgICAgICAgICB7eydJIG5lZWQgdG8gYWRkIGEgdHJhbnNsYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgaWQ9XCJmbGFnLXN0YXR1cy1jb250YWluZXItdjFcIiBjbGFzcz1cImdvdnVrLWdyaWQtcm93XCIgKm5nSWY9XCJpbnRlcm5hbFVzZXJVcGRhdGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICAgICAgPHA+e3snRmxhZyBzdGF0dXM6JyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdvdnVrLXRhZ1wiIFtuZ0NsYXNzXT1cInsnZ292dWstdGFnLS1ncmV5Jzogc2VsZWN0ZWRGbGFnLmZsYWdEZXRhaWxEaXNwbGF5LmZsYWdEZXRhaWwuc3RhdHVzID09PSAnSW5hY3RpdmUnfVwiPlxuICAgICAgICAgICAgICAgIHt7c2VsZWN0ZWRGbGFnPy5mbGFnRGV0YWlsRGlzcGxheT8uZmxhZ0RldGFpbD8uc3RhdHVzIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmXCI+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbk1ha2VJbmFjdGl2ZSgpXCIgKm5nSWY9XCJzZWxlY3RlZEZsYWcuZmxhZ0RldGFpbERpc3BsYXkuZmxhZ0RldGFpbC5zdGF0dXMgPT09ICdBY3RpdmUnXCI+XG4gICAgICAgICAgICB7eydNYWtlIGluYWN0aXZlJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
|