@hmcts/ccd-case-ui-toolkit 7.1.5-query-management → 7.1.7-query-management-caseQueriesCollection-workaround

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (14) hide show
  1. package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +14 -13
  2. package/esm2022/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +12 -12
  3. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +79 -18
  4. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +73 -72
  5. package/esm2022/lib/shared/components/palette/query-management/components/query-write/query-write-date-input/query-write-date-input.component.mjs +4 -4
  6. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +52 -25
  7. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +249 -162
  8. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  9. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  10. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +2 -1
  11. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  12. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts +4 -1
  13. package/lib/shared/components/palette/query-management/read-query-management-field.component.d.ts.map +1 -1
  14. package/package.json +1 -1
@@ -3,9 +3,12 @@ import { ActivatedRoute } from '@angular/router';
3
3
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
4
4
  import { PaletteContext } from '../base-field/palette-context.enum';
5
5
  import { QueryManagementUtils } from './utils/query-management.utils';
6
+ import { SessionStorageService } from '../../../services';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/router";
9
+ import * as i2 from "../../../services";
8
10
  const _c0 = (a0, a1) => ["/query-management", "query", a0, "4", a1];
11
+ const _c1 = (a0, a1) => ["/query-management", "query", a0, "3", a1];
9
12
  function ReadQueryManagementFieldComponent_ng_container_0_ng_container_1_div_1_Template(rf, ctx) { if (rf & 1) {
10
13
  const _r1 = i0.ɵɵgetCurrentView();
11
14
  i0.ɵɵelementStart(0, "div", 5)(1, "ccd-query-list", 6);
@@ -34,7 +37,7 @@ function ReadQueryManagementFieldComponent_ng_container_0_Template(rf, ctx) { if
34
37
  i0.ɵɵadvance();
35
38
  i0.ɵɵproperty("ngForOf", ctx_r1.caseQueriesCollections);
36
39
  } }
37
- function ReadQueryManagementFieldComponent_ng_template_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
40
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
38
41
  i0.ɵɵelementContainerStart(0);
39
42
  i0.ɵɵelementStart(1, "button", 9);
40
43
  i0.ɵɵtext(2);
@@ -42,13 +45,13 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_6_Template
42
45
  i0.ɵɵelementEnd();
43
46
  i0.ɵɵelementContainerEnd();
44
47
  } if (rf & 2) {
45
- const ctx_r1 = i0.ɵɵnextContext(2);
48
+ const ctx_r1 = i0.ɵɵnextContext(3);
46
49
  i0.ɵɵadvance();
47
50
  i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(4, _c0, ctx_r1.caseId, ctx_r1.query.id));
48
51
  i0.ɵɵadvance();
49
52
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Ask a follow-up question"), " ");
50
53
  } }
51
- function ReadQueryManagementFieldComponent_ng_template_1_ng_template_7_Template(rf, ctx) { if (rf & 1) {
54
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
52
55
  i0.ɵɵelementStart(0, "div")(1, "p", 10);
53
56
  i0.ɵɵtext(2);
54
57
  i0.ɵɵpipe(3, "rpxTranslate");
@@ -63,37 +66,55 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_template_7_Template(
63
66
  i0.ɵɵadvance(3);
64
67
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and will respond. Do not submit the same query more than once."));
65
68
  } }
69
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementContainerStart(0);
71
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_container_1_Template, 4, 7, "ng-container", 2)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_template_2_Template, 7, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
72
+ i0.ɵɵelementContainerEnd();
73
+ } if (rf & 2) {
74
+ const queryIsInReview_r5 = i0.ɵɵreference(3);
75
+ const ctx_r1 = i0.ɵɵnextContext(2);
76
+ i0.ɵɵadvance();
77
+ i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0 && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 1)("ngIfElse", queryIsInReview_r5);
78
+ } }
79
+ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelementContainerStart(0);
81
+ i0.ɵɵelementStart(1, "button", 9);
82
+ i0.ɵɵtext(2);
83
+ i0.ɵɵpipe(3, "rpxTranslate");
84
+ i0.ɵɵelementEnd();
85
+ i0.ɵɵelementContainerEnd();
86
+ } if (rf & 2) {
87
+ const ctx_r1 = i0.ɵɵnextContext(2);
88
+ i0.ɵɵadvance();
89
+ i0.ɵɵproperty("routerLink", i0.ɵɵpureFunction2(4, _c1, ctx_r1.caseId, ctx_r1.query.id));
90
+ i0.ɵɵadvance();
91
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, "Response to a query"), " ");
92
+ } }
66
93
  function ReadQueryManagementFieldComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
67
94
  const _r4 = i0.ɵɵgetCurrentView();
68
- i0.ɵɵelement(0, "br");
69
- i0.ɵɵelementStart(1, "p")(2, "a", 7);
70
- i0.ɵɵlistener("click", function ReadQueryManagementFieldComponent_ng_template_1_Template_a_click_2_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.backToQueryListPage()); });
71
- i0.ɵɵtext(3);
72
- i0.ɵɵpipe(4, "rpxTranslate");
73
- i0.ɵɵelementEnd()();
74
- i0.ɵɵelementStart(5, "ccd-query-details", 8);
75
- i0.ɵɵlistener("backClicked", function ReadQueryManagementFieldComponent_ng_template_1_Template_ccd_query_details_backClicked_5_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showQueryList = true); });
95
+ i0.ɵɵelementStart(0, "ccd-query-details", 7);
96
+ i0.ɵɵlistener("backClicked", function ReadQueryManagementFieldComponent_ng_template_1_Template_ccd_query_details_backClicked_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showQueryList = true); });
76
97
  i0.ɵɵelementEnd();
77
- i0.ɵɵtemplate(6, ReadQueryManagementFieldComponent_ng_template_1_ng_container_6_Template, 4, 7, "ng-container", 2)(7, ReadQueryManagementFieldComponent_ng_template_1_ng_template_7_Template, 7, 6, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
98
+ i0.ɵɵtemplate(1, ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template, 4, 2, "ng-container", 8)(2, ReadQueryManagementFieldComponent_ng_template_1_ng_container_2_Template, 4, 7, "ng-container", 8);
78
99
  } if (rf & 2) {
79
- const queryIsInReview_r5 = i0.ɵɵreference(8);
80
100
  const ctx_r1 = i0.ɵɵnextContext();
81
- i0.ɵɵadvance(3);
82
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 5, "Back to queries"));
83
- i0.ɵɵadvance(2);
84
101
  i0.ɵɵproperty("query", ctx_r1.query)("caseId", ctx_r1.caseId);
85
102
  i0.ɵɵadvance();
86
- i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) > 0)("ngIfElse", queryIsInReview_r5);
103
+ i0.ɵɵproperty("ngIf", !ctx_r1.isCaseworker());
104
+ i0.ɵɵadvance();
105
+ i0.ɵɵproperty("ngIf", (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) >= 0 && ctx_r1.isCaseworker() && (ctx_r1.query == null ? null : ctx_r1.query.children == null ? null : ctx_r1.query.children.length) % 2 === 0);
87
106
  } }
88
107
  export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponent {
89
108
  route;
109
+ sessionStorageService;
90
110
  caseQueriesCollections;
91
111
  query;
92
112
  showQueryList = true;
93
113
  caseId;
94
- constructor(route) {
114
+ constructor(route, sessionStorageService) {
95
115
  super();
96
116
  this.route = route;
117
+ this.sessionStorageService = sessionStorageService;
97
118
  }
98
119
  ngOnInit() {
99
120
  this.caseId = this.route.snapshot.params.cid;
@@ -125,9 +146,15 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
125
146
  this.showQueryList = true;
126
147
  this.query = null;
127
148
  }
128
- static ɵfac = function ReadQueryManagementFieldComponent_Factory(t) { return new (t || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute)); };
129
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], ["href", "javascript:void(0)", 1, "govuk-link", 3, "click"], [3, "backClicked", "query", "caseId"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
130
- i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 9, 7, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
149
+ isCaseworker() {
150
+ const userDetails = JSON.parse(this.sessionStorageService?.getItem('userDetails'));
151
+ return userDetails && userDetails.roles
152
+ && !(userDetails.roles.includes('pui-case-manager')
153
+ || userDetails.roles.some((role) => role.toLowerCase().includes('judge')));
154
+ }
155
+ static ɵfac = function ReadQueryManagementFieldComponent_Factory(t) { return new (t || ReadQueryManagementFieldComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.SessionStorageService)); };
156
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadQueryManagementFieldComponent, selectors: [["ccd-read-query-management-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["singleQueryDetails", ""], ["queryIsInReview", ""], [4, "ngIf", "ngIfElse"], [4, "ngFor", "ngForOf"], ["class", "govuk-!-margin-top-8 govuk-!-margin-bottom-8", 4, "ngIf"], [1, "govuk-!-margin-top-8", "govuk-!-margin-bottom-8"], [3, "selectedQuery", "caseQueriesCollection"], [3, "backClicked", "query", "caseId"], [4, "ngIf"], ["id", "ask-follow-up-question", "data-module", "govuk-button", 1, "govuk-button", 3, "routerLink"], [1, "govuk-!-font-weight-bold"]], template: function ReadQueryManagementFieldComponent_Template(rf, ctx) { if (rf & 1) {
157
+ i0.ɵɵtemplate(0, ReadQueryManagementFieldComponent_ng_container_0_Template, 2, 1, "ng-container", 2)(1, ReadQueryManagementFieldComponent_ng_template_1_Template, 3, 4, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
131
158
  } if (rf & 2) {
132
159
  const singleQueryDetails_r6 = i0.ɵɵreference(2);
133
160
  i0.ɵɵproperty("ngIf", ctx.showQueryList)("ngIfElse", singleQueryDetails_r6);
@@ -135,7 +162,7 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
135
162
  }
136
163
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
137
164
  type: Component,
138
- args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <br>\n <p>\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"backToQueryListPage()\">{{ 'Back to queries' | rpxTranslate }}</a>\n </p>\n\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n <ng-container *ngIf=\"query?.children?.length > 0; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\"\n >\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and will respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n</ng-template>\n" }]
139
- }], () => [{ type: i1.ActivatedRoute }], null); })();
140
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 12 }); })();
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0lDSGhFLEFBREYsOEJBQWdGLHdCQUNxQjtJQUFuRiwwUEFBaUIsdUJBQWdCLEtBQUM7SUFDcEQsQUFEcUcsaUJBQWlCLEVBQ2hIOzs7SUFEK0MsY0FBK0M7SUFBL0MsZ0VBQStDOzs7SUFGdEcsNkJBQTJFO0lBQ3pFLGdIQUFnRjs7OztJQUExRSxjQUFtQjtJQUFuQiwyQ0FBbUI7OztJQUY3Qiw2QkFBNkQ7SUFDM0QsbUhBQTJFOzs7O0lBQTNCLGNBQXlCO0lBQXpCLHVEQUF5Qjs7O0lBa0J6RSw2QkFBd0U7SUFDdEUsaUNBRUM7SUFDQyxZQUNGOztJQUFBLGlCQUFTOzs7O0lB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QyxBQVJBLG9HQUE2RCxzSEFRNUI7OztZQVJHLEFBQXJCLHdDQUFxQixtQ0FBdUI7OztpRkRXOUMsaUNBQWlDO2NBSjdDLFNBQVM7MkJBQ0UsaUNBQWlDOztrRkFHaEMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENhc2VUYWIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4vdXRpbHMvcXVlcnktbWFuYWdlbWVudC51dGlscyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtcXVlcnktbWFuYWdlbWVudC1maWVsZC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmVhZFF1ZXJ5TWFuYWdlbWVudEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uczogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uW107XG4gIHB1YmxpYyBxdWVyeTogUXVlcnlMaXN0SXRlbTtcbiAgcHVibGljIHNob3dRdWVyeUxpc3Q6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuY2lkO1xuICAgIGlmICh0aGlzLmNvbnRleHQgPT09IFBhbGV0dGVDb250ZXh0LkRFRkFVTFQpIHtcbiAgICAgIC8vIEVVSS04MzAzIFVzaW5nIG1vY2sgZGF0YSB1bnRpbCBDQ0QgaXMgcmVhZHkgd2l0aCB0aGUgQVBJIGFuZCBkYXRhIGNvbnRyYWN0XG4gICAgICAvLyB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSBjYXNlTWVzc2FnZXNNb2NrRGF0YTtcblxuICAgICAgLy8gVE9ETzogQWN0dWFsIGltcGxlbWVudGF0aW9uIG9uY2UgdGhlIENDRCBBUEkgYW5kIGRhdGEgY29udHJhY3QgaXMgYXZhaWxhYmxlXG4gICAgICAvLyBFYWNoIHBhcnRpZXMgd2lsbCBoYXZlIGEgc2VwYXJhdGUgY29sbGVjdGlvbiBvZiBwYXJ0eSBtZXNzYWdlc1xuICAgICAgLy8gRmluZCB3aGV0aGVyIHF1ZXJpZXMgdGFiIGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FzZSBkYXRhXG5cbiAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZT8udGFicykge1xuICAgICAgICB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UudGFicyBhcyBDYXNlVGFiW10pXG4gICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB0YWIuZmllbGRzPy5zb21lKFxuICAgICAgICAgICAgKGNhc2VGaWVsZCkgPT4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBvbmVudExhdW5jaGVyJyAmJiBjYXNlRmllbGQuaWQgPT09IHRoaXMuY2FzZUZpZWxkLmlkKSlcbiAgICAgICAgICBbMF0uZmllbGRzPy5yZWR1Y2UoKGFjYywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG5cbiAgICAgICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgYWNjLnB1c2goZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwgW10pO1xuICAgICAgfVxuXG4gICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGxpc3Qgb2YgcGFydGllcyBhbmQgdGhlaXIgY2FzZSBxdWVyaWVzIGNvbGxlY3Rpb25zXG4gICAgICAvLyBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5KHF1ZXJ5KTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gZmFsc2U7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgcHVibGljIGJhY2tUb1F1ZXJ5TGlzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UXVlcnlMaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dRdWVyeUxpc3Q7IGVsc2Ugc2luZ2xlUXVlcnlEZXRhaWxzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhc2VRdWVyaWVzQ29sbGVjdGlvbiBvZiBjYXNlUXVlcmllc0NvbGxlY3Rpb25zXCI+XG4gICAgPGRpdiAqbmdJZj1cInNob3dRdWVyeUxpc3RcIiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLXRvcC04IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS04XCI+XG4gICAgICA8Y2NkLXF1ZXJ5LWxpc3QgKHNlbGVjdGVkUXVlcnkpPVwic2V0UXVlcnkoJGV2ZW50KVwiIFtjYXNlUXVlcmllc0NvbGxlY3Rpb25dPVwiY2FzZVF1ZXJpZXNDb2xsZWN0aW9uXCI+PC9jY2QtcXVlcnktbGlzdD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaW5nbGVRdWVyeURldGFpbHM+XG4gIDxicj5cbiAgPHA+XG4gICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJiYWNrVG9RdWVyeUxpc3RQYWdlKClcIj57eyAnQmFjayB0byBxdWVyaWVzJyB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgPC9wPlxuXG4gIDxjY2QtcXVlcnktZGV0YWlsc1xuICAgIFtxdWVyeV09XCJxdWVyeVwiXG4gICAgKGJhY2tDbGlja2VkKT1cInNob3dRdWVyeUxpc3QgPSB0cnVlXCJcbiAgICBbY2FzZUlkXT1cImNhc2VJZFwiXG4gID48L2NjZC1xdWVyeS1kZXRhaWxzPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPiAwOyBlbHNlIHF1ZXJ5SXNJblJldmlld1wiPlxuICAgIDxidXR0b24gaWQ9XCJhc2stZm9sbG93LXVwLXF1ZXN0aW9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy9xdWVyeS1tYW5hZ2VtZW50JywgJ3F1ZXJ5JywgY2FzZUlkLCAnNCcsIHF1ZXJ5LmlkXVwiXG4gICAgPlxuICAgICAge3sgJ0FzayBhIGZvbGxvdy11cCBxdWVzdGlvbicgfCBycHhUcmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNxdWVyeUlzSW5SZXZpZXc+XG4gICAgPGRpdj5cbiAgICAgIDxwIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgJ1lvdXIgcXVlcnkgaXMgdW5kZXIgcmV2aWV3JyB8IHJweFRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgIDxwPnt7ICdPdXIgdGVhbSB3aWxsIHJlYWQgeW91ciBxdWVyeSBhbmQgd2lsbCByZXNwb25kLiBEbyBub3Qgc3VibWl0IHRoZSBzYW1lIHF1ZXJ5IG1vcmUgdGhhbiBvbmNlLicgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
165
+ args: [{ selector: 'ccd-read-query-management-field', template: "<ng-container *ngIf=\"showQueryList; else singleQueryDetails\">\n <ng-container *ngFor=\"let caseQueriesCollection of caseQueriesCollections\">\n <div *ngIf=\"showQueryList\" class=\"govuk-!-margin-top-8 govuk-!-margin-bottom-8\">\n <ccd-query-list (selectedQuery)=\"setQuery($event)\" [caseQueriesCollection]=\"caseQueriesCollection\"></ccd-query-list>\n </div>\n </ng-container>\n</ng-container>\n\n<ng-template #singleQueryDetails>\n <ccd-query-details\n [query]=\"query\"\n (backClicked)=\"showQueryList = true\"\n [caseId]=\"caseId\"\n ></ccd-query-details>\n\n <ng-container *ngIf=\"!isCaseworker()\">\n <ng-container *ngIf=\"query?.children?.length > 0 && query?.children?.length % 2 === 1; else queryIsInReview\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '4', query.id]\">\n {{ 'Ask a follow-up question' | rpxTranslate }}\n </button>\n </ng-container>\n\n <ng-template #queryIsInReview>\n <div>\n <p class=\"govuk-!-font-weight-bold\">{{ 'Your query is under review' | rpxTranslate }}</p>\n <p>{{ 'Our team will read your query and will respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"query?.children?.length >= 0 && isCaseworker() && query?.children?.length % 2 === 0\">\n <button id=\"ask-follow-up-question\" class=\"govuk-button\" data-module=\"govuk-button\"\n [routerLink]=\"['/query-management', 'query', caseId, '3', query.id]\"\n >\n {{ 'Response to a query' | rpxTranslate }}\n </button>\n </ng-container>\n</ng-template>\n" }]
166
+ }], () => [{ type: i1.ActivatedRoute }, { type: i2.SessionStorageService }], null); })();
167
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 13 }); })();
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNKcEQsQUFERiw4QkFBZ0Ysd0JBQ3FCO0lBQW5GLDBQQUFpQix1QkFBZ0IsS0FBQztJQUNwRCxBQURxRyxpQkFBaUIsRUFDaEg7OztJQUQrQyxjQUErQztJQUEvQyxnRUFBK0M7OztJQUZ0Ryw2QkFBMkU7SUFDekUsZ0hBQWdGOzs7O0lBQTFFLGNBQW1CO0lBQW5CLDJDQUFtQjs7O0lBRjdCLDZCQUE2RDtJQUMzRCxtSEFBMkU7Ozs7SUFBM0IsY0FBeUI7SUFBekIsdURBQXlCOzs7SUFldkUsNkJBQTZHO0lBQzNHLGlDQUM2RTtJQUMzRSxZQUNGOztJQUFBLGlCQUFTOzs7O0lBRkQsY0FBb0U7SUFBcEUsdUZBQW9FO0lBQzFFLGNBQ0Y7SUFERSxpRkFDRjs7O0lBS0UsQUFERiwyQkFBSyxZQUNpQztJQUFBLFlBQWlEOztJQUFBLGlCQUFJO0lBQ3pGLHlCQUFHO0lBQUEsWUFBbUg7O0lBQ3hILEFBRHdILGlCQUFJLEVBQ3RIOztJQUZnQyxlQUFpRDtJQUFqRCx3RUFBaUQ7SUFDbEYsZUFBbUg7SUFBbkgsMElBQW1IOzs7SUFYNUgsNkJBQXNDO0lBUXBDLEFBUEEsaUlBQTZHLG1KQU8vRTs7Ozs7SUFQZixjQUF3RTtJQUFBLEFBQXhFLCtPQUF3RSxnQ0FBb0I7OztJQWU3Ryw2QkFBMEc7SUFDeEcsaUNBRUM7SUFDRCxZQUNBOztJQUFBLGlCQUFTOzs7O0lBSFQsY0FBb0U7SUFBcEUsdUZBQW9FO0lBRXBFLGNBQ0E7SUFEQSw0RUFDQTs7OztJQTNCRiw0Q0FJQztJQUZDLG1QQUErQixJQUFJLEtBQUM7SUFFckMsaUJBQW9CO0lBa0JyQixBQWhCQSxrSEFBc0MscUdBZ0JvRTs7O0lBbkJ4RyxBQUZBLG9DQUFlLHlCQUVFO0lBR0osY0FBcUI7SUFBckIsNkNBQXFCO0lBZ0JyQixjQUF5RjtJQUF6Rix5UUFBeUY7O0FEbkIxRyxNQUFNLE9BQU8saUNBQWtDLFNBQVEsMEJBQTBCO0lBTWxEO0lBQ25CO0lBTkgsc0JBQXNCLENBQTBCO0lBQ2hELEtBQUssQ0FBZ0I7SUFDckIsYUFBYSxHQUFZLElBQUksQ0FBQztJQUM5QixNQUFNLENBQVM7SUFFdEIsWUFBNkIsS0FBcUIsRUFDeEMscUJBQTRDO1FBRXBELEtBQUssRUFBRSxDQUFDO1FBSG1CLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFHdEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1Qyw2RUFBNkU7WUFDN0Usc0RBQXNEO1lBRXRELDhFQUE4RTtZQUM5RSxpRUFBaUU7WUFDakUseURBQXlEO1lBRXpELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLHNCQUFzQixHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBa0I7cUJBQzVFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQy9CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxtQkFBbUIsSUFBSSxTQUFTLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDekcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtvQkFDcEMsTUFBTSxpQ0FBaUMsR0FBRyxvQkFBb0IsQ0FBQywrQkFBK0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFFMUcsSUFBSSxpQ0FBaUMsSUFBSSxPQUFPLGlDQUFpQyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUMvRixHQUFHLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7b0JBQzlDLENBQUM7b0JBQ0QsT0FBTyxHQUFHLENBQUM7Z0JBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztZQUVELHNFQUFzRTtZQUN0RSwwREFBMEQ7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sV0FBVyxJQUFJLFdBQVcsQ0FBQyxLQUFLO2VBQ2xDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQzttQkFDOUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7MkZBeERVLGlDQUFpQzs2REFBakMsaUNBQWlDO1lDSjlDLEFBUkEsb0dBQTZELHNIQVE1Qjs7O1lBUkcsQUFBckIsd0NBQXFCLG1DQUF1Qjs7O2lGRFk5QyxpQ0FBaUM7Y0FKN0MsU0FBUzsyQkFDRSxpQ0FBaUM7O2tGQUdoQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ2FzZVRhYiB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlMaXN0SXRlbSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFF1ZXJ5TWFuYWdlbWVudFV0aWxzIH0gZnJvbSAnLi91dGlscy9xdWVyeS1tYW5hZ2VtZW50LnV0aWxzJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBwdWJsaWMgc2hvd1F1ZXJ5TGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jaWQ7XG4gICAgaWYgKHRoaXMuY29udGV4dCA9PT0gUGFsZXR0ZUNvbnRleHQuREVGQVVMVCkge1xuICAgICAgLy8gRVVJLTgzMDMgVXNpbmcgbW9jayBkYXRhIHVudGlsIENDRCBpcyByZWFkeSB3aXRoIHRoZSBBUEkgYW5kIGRhdGEgY29udHJhY3RcbiAgICAgIC8vIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9IGNhc2VNZXNzYWdlc01vY2tEYXRhO1xuXG4gICAgICAvLyBUT0RPOiBBY3R1YWwgaW1wbGVtZW50YXRpb24gb25jZSB0aGUgQ0NEIEFQSSBhbmQgZGF0YSBjb250cmFjdCBpcyBhdmFpbGFibGVcbiAgICAgIC8vIEVhY2ggcGFydGllcyB3aWxsIGhhdmUgYSBzZXBhcmF0ZSBjb2xsZWN0aW9uIG9mIHBhcnR5IG1lc3NhZ2VzXG4gICAgICAvLyBGaW5kIHdoZXRoZXIgcXVlcmllcyB0YWIgaXMgYXZhaWxhYmxlIGluIHRoZSBjYXNlIGRhdGFcblxuICAgICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlPy50YWJzKSB7XG4gICAgICAgIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucyA9ICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZS50YWJzIGFzIENhc2VUYWJbXSlcbiAgICAgICAgICAuZmlsdGVyKCh0YWIpID0+IHRhYi5maWVsZHM/LnNvbWUoXG4gICAgICAgICAgICAoY2FzZUZpZWxkKSA9PiBjYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcG9uZW50TGF1bmNoZXInICYmIGNhc2VGaWVsZC5pZCA9PT0gdGhpcy5jYXNlRmllbGQuaWQpKVxuICAgICAgICAgIFswXS5maWVsZHM/LnJlZHVjZSgoYWNjLCBjYXNlRmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9IFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoY2FzZUZpZWxkKTtcblxuICAgICAgICAgICAgaWYgKGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCAmJiB0eXBlb2YgZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICBhY2MucHVzaChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCBbXSk7XG4gICAgICB9XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJ0aWVzIGFuZCB0aGVpciBjYXNlIHF1ZXJpZXMgY29sbGVjdGlvbnNcbiAgICAgIC8vIFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnkocXVlcnkpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBwdWJsaWMgYmFja1RvUXVlcnlMaXN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSB0cnVlO1xuICAgIHRoaXMucXVlcnkgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGlzQ2FzZXdvcmtlcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2U/LmdldEl0ZW0oJ3VzZXJEZXRhaWxzJykpO1xuICAgIHJldHVybiB1c2VyRGV0YWlscyAmJiB1c2VyRGV0YWlscy5yb2xlc1xuICAgICAgJiYgISh1c2VyRGV0YWlscy5yb2xlcy5pbmNsdWRlcygncHVpLWNhc2UtbWFuYWdlcicpXG4gICAgICAgIHx8IHVzZXJEZXRhaWxzLnJvbGVzLnNvbWUoKHJvbGUpID0+IHJvbGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnanVkZ2UnKSkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdDsgZWxzZSBzaW5nbGVRdWVyeURldGFpbHNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uIG9mIGNhc2VRdWVyaWVzQ29sbGVjdGlvbnNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1F1ZXJ5TGlzdFwiIGNsYXNzPVwiZ292dWstIS1tYXJnaW4tdG9wLTggZ292dWstIS1tYXJnaW4tYm90dG9tLThcIj5cbiAgICAgIDxjY2QtcXVlcnktbGlzdCAoc2VsZWN0ZWRRdWVyeSk9XCJzZXRRdWVyeSgkZXZlbnQpXCIgW2Nhc2VRdWVyaWVzQ29sbGVjdGlvbl09XCJjYXNlUXVlcmllc0NvbGxlY3Rpb25cIj48L2NjZC1xdWVyeS1saXN0PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3NpbmdsZVF1ZXJ5RGV0YWlscz5cbiAgPGNjZC1xdWVyeS1kZXRhaWxzXG4gICAgW3F1ZXJ5XT1cInF1ZXJ5XCJcbiAgICAoYmFja0NsaWNrZWQpPVwic2hvd1F1ZXJ5TGlzdCA9IHRydWVcIlxuICAgIFtjYXNlSWRdPVwiY2FzZUlkXCJcbiAgPjwvY2NkLXF1ZXJ5LWRldGFpbHM+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Nhc2V3b3JrZXIoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAgJiYgcXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggJSAyID09PSAxOyBlbHNlIHF1ZXJ5SXNJblJldmlld1wiPlxuICAgICAgPGJ1dHRvbiBpZD1cImFzay1mb2xsb3ctdXAtcXVlc3Rpb25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiWycvcXVlcnktbWFuYWdlbWVudCcsICdxdWVyeScsIGNhc2VJZCwgJzQnLCBxdWVyeS5pZF1cIj5cbiAgICAgICAge3sgJ0FzayBhIGZvbGxvdy11cCBxdWVzdGlvbicgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNxdWVyeUlzSW5SZXZpZXc+XG4gICAgICA8ZGl2PlxuICAgICAgICA8cCBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7ICdZb3VyIHF1ZXJ5IGlzIHVuZGVyIHJldmlldycgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwPnt7ICdPdXIgdGVhbSB3aWxsIHJlYWQgeW91ciBxdWVyeSBhbmQgd2lsbCByZXNwb25kLiBEbyBub3Qgc3VibWl0IHRoZSBzYW1lIHF1ZXJ5IG1vcmUgdGhhbiBvbmNlLicgfCBycHhUcmFuc2xhdGUgfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPj0gMCAmJiBpc0Nhc2V3b3JrZXIoKSAmJiBxdWVyeT8uY2hpbGRyZW4/Lmxlbmd0aCAlIDIgPT09IDBcIj5cbiAgICA8YnV0dG9uIGlkPVwiYXNrLWZvbGxvdy11cC1xdWVzdGlvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1idXR0b25cIlxuICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICczJywgcXVlcnkuaWRdXCJcbiAgICA+XG4gICAge3sgJ1Jlc3BvbnNlIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==