@hmcts/ccd-case-ui-toolkit 7.1.79 → 7.1.80-prerelease-qm

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 (19) hide show
  1. package/esm2022/lib/shared/components/palette/collection/write-collection-field.component.mjs +16 -17
  2. package/esm2022/lib/shared/components/palette/palette.module.mjs +1 -1
  3. package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +21 -6
  4. package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +33 -31
  5. package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +5 -5
  6. package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +4 -4
  7. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.mjs +8 -4
  8. package/esm2022/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.mjs +33 -5
  9. package/esm2022/lib/shared/components/palette/query-management/read-query-management-field.component.mjs +3 -3
  10. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +125 -78
  11. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  12. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts +4 -1
  13. package/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.d.ts.map +1 -1
  14. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +4 -1
  15. package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -1
  16. package/lib/shared/components/palette/query-management/models/query-list/query-list-data/query-list-data.model.d.ts.map +1 -1
  17. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts +1 -0
  18. package/lib/shared/components/palette/query-management/models/query-list/query-list-item/query-list-item.model.d.ts.map +1 -1
  19. package/package.json +1 -1
@@ -140,7 +140,7 @@ function QueryDetailsComponent_ng_container_0_ng_container_46_ng_container_1_ng_
140
140
  i0.ɵɵadvance(5);
141
141
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 12, "Last response date"));
142
142
  i0.ɵɵadvance(3);
143
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(14, 14, child_r3.createdOn, "dd MMM yyyy"));
143
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(14, 14, child_r3.createdOn, "dd MMMM YYYY HH:mm"));
144
144
  i0.ɵɵadvance(2);
145
145
  i0.ɵɵproperty("ngIf", ctx_r0.isInternalUser());
146
146
  i0.ɵɵadvance(3);
@@ -210,7 +210,7 @@ function QueryDetailsComponent_ng_container_0_ng_container_46_ng_container_1_ng_
210
210
  i0.ɵɵadvance(5);
211
211
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 13, "Last submission date"));
212
212
  i0.ɵɵadvance(3);
213
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(13, 15, child_r3.createdOn, "dd MMM yyyy"));
213
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(13, 15, child_r3.createdOn, "dd MMMM YYYY HH:mm"));
214
214
  i0.ɵɵadvance(4);
215
215
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 18, "Last submitted by"));
216
216
  i0.ɵɵadvance(3);
@@ -310,7 +310,7 @@ function QueryDetailsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
310
310
  i0.ɵɵadvance(3);
311
311
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 27, "Submission date"));
312
312
  i0.ɵɵadvance(3);
313
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(24, 29, ctx_r0.query.createdOn, "dd MMM yyyy"));
313
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(24, 29, ctx_r0.query.createdOn, "dd MMMM YYYY HH:mm"));
314
314
  i0.ɵɵadvance(4);
315
315
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(28, 32, "Query subject"));
316
316
  i0.ɵɵadvance(3);
@@ -396,7 +396,7 @@ export class QueryDetailsComponent {
396
396
  }
397
397
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryDetailsComponent, [{
398
398
  type: Component,
399
- args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <cut-alert type=\"error\" *ngIf=\"hasRespondedToQuery() && !showItem\">\n <ng-container>{{message}}</ng-container>\n </cut-alert>\n\n <br/>\n <p *ngIf=\"showItem\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMM yyyy' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMM yyyy' }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
399
+ args: [{ selector: 'ccd-query-details', template: "<ng-container *ngIf=\"query\">\n <cut-alert type=\"error\" *ngIf=\"hasRespondedToQuery() && !showItem\">\n <ng-container>{{message}}</ng-container>\n </cut-alert>\n\n <br/>\n <p *ngIf=\"showItem\">\n <a class=\"govuk-link\" href=\"javascript:void(0)\" (click)=\"onBack()\">{{ 'Back to query list' | rpxTranslate }}</a>\n </p>\n <div>\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Details of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Query details' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.lastSubmittedBy }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query subject' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.subject }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query body' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.body }}</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\" [class.govuk-table__header--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate }}\n </th>\n <td class=\"govuk-table__cell\" [class.govuk-table__cell--no-border]=\"query.isHearingRelated\">\n {{ 'Is the query hearing related?' | rpxTranslate: null : (query.isHearingRelated) }}</td>\n </tr>\n <tr class=\"govuk-table__row govuk-table__row--isHearingRelated\" *ngIf=\"query.isHearingRelated === 'Yes'\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'What is the date of the hearing?' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ query.hearingDate | date: 'dd MMM yyyy' }}</td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"query.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"query.attachments\"\n [attachments]=\"query.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <ng-container *ngIf=\"query.children?.length > 0\">\n <ng-container *ngFor=\"let child of query.children; let i = index;\">\n <ng-container *ngIf=\"i % 2 === 0; else followUpMessage\">\n <table class=\"govuk-table query-details-table\" [attr.aria-describedby]=\"'Response of the query' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Response' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last response date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm' }}</td>\n </tr>\n\n <tr *ngIf=\"isInternalUser()\" class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Caseworker name' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Response detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n\n <ng-template #followUpMessage>\n <!-- <div class=\"query_details_caption\">{{ 'Follow-up' | rpxTranslate }}</div> -->\n <table class=\"govuk-table query-details-table\"\n [attr.aria-describedby]=\"'Follow-up of the response' | rpxTranslate\">\n <caption class=\"govuk-table__caption govuk-table__caption--l\">\n <div>{{ 'Follow up query' | rpxTranslate }}</div>\n </caption>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submission date' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.createdOn | date: 'dd MMMM YYYY HH:mm'}}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Last submitted by' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.name }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Query detail' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">{{ child.body }}</td>\n </tr>\n\n <tr class=\"govuk-table__row\" *ngIf=\"child.attachments.length > 0\">\n <th scope=\"row\" class=\"govuk-table__header\">{{ 'Attachments' | rpxTranslate }}</th>\n <td class=\"govuk-table__cell\">\n <ccd-query-attachments-read\n *ngIf=\"child.attachments\"\n [attachments]=\"child.attachments\"\n >\n </ccd-query-attachments-read>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".query-details-table .govuk-table__header{width:330px}\n"] }]
400
400
  }], () => [{ type: i1.SessionStorageService }, { type: i2.ActivatedRoute }, { type: i2.Router }], { query: [{
401
401
  type: Input
402
402
  }], caseId: [{
@@ -409,4 +409,4 @@ export class QueryDetailsComponent {
409
409
  type: Output
410
410
  }] }); })();
411
411
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 15 }); })();
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0lDTjNDLHFDQUFtRTtJQUNqRSw2QkFBYztJQUFBLFlBQVc7O0lBQzNCLGlCQUFZOzs7SUFESSxlQUFXO0lBQVgsb0NBQVc7Ozs7SUFLekIsQUFERix5QkFBb0IsWUFDaUQ7SUFBbkIsMExBQVMsZUFBUSxLQUFDO0lBQUMsWUFB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QUFTLENBQUMscUJBQXFCLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUMscUJBQXFCO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0VBN0RVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDZGxDLDBGQUE0Qjs7WUFBYixnQ0FBVzs7O2lGRGNiLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG1CQUFtQjt3R0FLYixLQUFLO2tCQUFwQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLG1CQUFtQjtrQkFBbEMsS0FBSztZQUVXLFdBQVc7a0JBQTNCLE1BQU07WUFDVSxZQUFZO2tCQUE1QixNQUFNOztrRkFOSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzaG93SXRlbTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV19VUCA9ICc0JztcbiAgcHJpdmF0ZSBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNJbnRlcm5hbFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSW50ZXJuYWxVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua1Zpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZCBhcyBzdHJpbmc7XG4gICAgaWYgKHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkQgfHwgdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlEZXRhaWxzQ29tcG9uZW50LlFVRVJZX0lURU1fRk9MTE9XX1VQKSB7XG4gICAgICB0aGlzLnNob3dJdGVtID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNBd2FpdGluZyA9IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG5cbiAgICBpZiAodGhpcy5pc0ludGVybmFsVXNlcigpKSB7XG4gICAgICBpZiAoaXNBd2FpdGluZykge1xuICAgICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1lc3NhZ2UgPSBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SO1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0F3YWl0aW5nKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCBzaG93IG1lc3NhZ2VcbiAgICB9XG5cbiAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeVwiPlxuICA8Y3V0LWFsZXJ0IHR5cGU9XCJlcnJvclwiICpuZ0lmPVwiaGFzUmVzcG9uZGVkVG9RdWVyeSgpICYmICFzaG93SXRlbVwiPlxuICAgIDxuZy1jb250YWluZXI+e3ttZXNzYWdlfX08L25nLWNvbnRhaW5lcj5cbiAgPC9jdXQtYWxlcnQ+XG5cbiAgPGJyLz5cbiAgPHAgKm5nSWY9XCJzaG93SXRlbVwiPlxuICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25CYWNrKClcIj57eyAnQmFjayB0byBxdWVyeSBsaXN0JyB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgPC9wPlxuICA8ZGl2PlxuICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidEZXRhaWxzIG9mIHRoZSBxdWVyeScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIj5cbiAgICAgICAgPGRpdj57eyAnUXVlcnkgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pdHRlZCBieScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5Lmxhc3RTdWJtaXR0ZWRCeSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnU3VibWlzc2lvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTSB5eXl5JyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgc3ViamVjdCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LnN1YmplY3QgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGJvZHknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5ib2R5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIFtjbGFzcy5nb3Z1ay10YWJsZV9faGVhZGVyLS1uby1ib3JkZXJdPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZFwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbY2xhc3MuZ292dWstdGFibGVfX2NlbGwtLW5vLWJvcmRlcl09XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkXCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6IChxdWVyeS5pc0hlYXJpbmdSZWxhdGVkKSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3JvdyBnb3Z1ay10YWJsZV9fcm93LS1pc0hlYXJpbmdSZWxhdGVkXCIgKm5nSWY9XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkID09PSAnWWVzJ1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZz8nIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5oZWFyaW5nRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFthdHRhY2htZW50c109XCJxdWVyeS5hdHRhY2htZW50c1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5LmNoaWxkcmVuPy5sZW5ndGggPiAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgcXVlcnkuY2hpbGRyZW47IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSAlIDIgPT09IDA7IGVsc2UgZm9sbG93VXBNZXNzYWdlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidSZXNwb25zZSBvZiB0aGUgcXVlcnknIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnUmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3QgcmVzcG9uc2UgZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJpc0ludGVybmFsVXNlcigpXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdDYXNld29ya2VyIG5hbWUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1Jlc3BvbnNlIGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmb2xsb3dVcE1lc3NhZ2U+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInF1ZXJ5X2RldGFpbHNfY2FwdGlvblwiPnt7ICdGb2xsb3ctdXAnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+IC0tPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1kZXRhaWxzLXRhYmxlXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0ZvbGxvdy11cCBvZiB0aGUgcmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnRm9sbG93IHVwIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pc3Npb24gZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLm5hbWUgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQXR0YWNobWVudHMnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0lDTjNDLHFDQUFtRTtJQUNqRSw2QkFBYztJQUFBLFlBQVc7O0lBQzNCLGlCQUFZOzs7SUFESSxlQUFXO0lBQVgsb0NBQVc7Ozs7SUFLekIsQUFERix5QkFBb0IsWUFDaUQ7SUFBbkIsMExBQVMsZUFBUSxLQUFDO0lBQUMsWUFB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QUFTLENBQUMscUJBQXFCLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUMscUJBQXFCO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0VBN0RVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDZGxDLDBGQUE0Qjs7WUFBYixnQ0FBVzs7O2lGRGNiLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG1CQUFtQjt3R0FLYixLQUFLO2tCQUFwQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLG1CQUFtQjtrQkFBbEMsS0FBSztZQUVXLFdBQVc7a0JBQTNCLE1BQU07WUFDVSxZQUFZO2tCQUE1QixNQUFNOztrRkFOSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzaG93SXRlbTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV19VUCA9ICc0JztcbiAgcHJpdmF0ZSBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNJbnRlcm5hbFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSW50ZXJuYWxVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua1Zpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZCBhcyBzdHJpbmc7XG4gICAgaWYgKHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkQgfHwgdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlEZXRhaWxzQ29tcG9uZW50LlFVRVJZX0lURU1fRk9MTE9XX1VQKSB7XG4gICAgICB0aGlzLnNob3dJdGVtID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNBd2FpdGluZyA9IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG5cbiAgICBpZiAodGhpcy5pc0ludGVybmFsVXNlcigpKSB7XG4gICAgICBpZiAoaXNBd2FpdGluZykge1xuICAgICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1lc3NhZ2UgPSBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SO1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0F3YWl0aW5nKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCBzaG93IG1lc3NhZ2VcbiAgICB9XG5cbiAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeVwiPlxuICA8Y3V0LWFsZXJ0IHR5cGU9XCJlcnJvclwiICpuZ0lmPVwiaGFzUmVzcG9uZGVkVG9RdWVyeSgpICYmICFzaG93SXRlbVwiPlxuICAgIDxuZy1jb250YWluZXI+e3ttZXNzYWdlfX08L25nLWNvbnRhaW5lcj5cbiAgPC9jdXQtYWxlcnQ+XG5cbiAgPGJyLz5cbiAgPHAgKm5nSWY9XCJzaG93SXRlbVwiPlxuICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25CYWNrKClcIj57eyAnQmFjayB0byBxdWVyeSBsaXN0JyB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgPC9wPlxuICA8ZGl2PlxuICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidEZXRhaWxzIG9mIHRoZSBxdWVyeScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIj5cbiAgICAgICAgPGRpdj57eyAnUXVlcnkgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pdHRlZCBieScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5Lmxhc3RTdWJtaXR0ZWRCeSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnU3VibWlzc2lvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTU0gWVlZWSBISDptbScgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IHN1YmplY3QnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5zdWJqZWN0IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdRdWVyeSBib2R5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuYm9keSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBbY2xhc3MuZ292dWstdGFibGVfX2hlYWRlci0tbm8tYm9yZGVyXT1cInF1ZXJ5LmlzSGVhcmluZ1JlbGF0ZWRcIj5cbiAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgW2NsYXNzLmdvdnVrLXRhYmxlX19jZWxsLS1uby1ib3JkZXJdPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZFwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGU6IG51bGwgOiAocXVlcnkuaXNIZWFyaW5nUmVsYXRlZCkgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3cgZ292dWstdGFibGVfX3Jvdy0taXNIZWFyaW5nUmVsYXRlZFwiICpuZ0lmPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZCA9PT0gJ1llcydcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1doYXQgaXMgdGhlIGRhdGUgb2YgdGhlIGhlYXJpbmc/JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuaGVhcmluZ0RhdGUgfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJxdWVyeS5hdHRhY2htZW50cy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgKm5nSWY9XCJxdWVyeS5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICBbYXR0YWNobWVudHNdPVwicXVlcnkuYXR0YWNobWVudHNcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeS5jaGlsZHJlbj8ubGVuZ3RoID4gMFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIHF1ZXJ5LmNoaWxkcmVuOyBsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImkgJSAyID09PSAwOyBlbHNlIGZvbGxvd1VwTWVzc2FnZVwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1kZXRhaWxzLXRhYmxlXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInUmVzcG9uc2Ugb2YgdGhlIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIj5cbiAgICAgICAgICAgIDxkaXY+e3sgJ1Jlc3BvbnNlJyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHJlc3BvbnNlIGRhdGUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTU0gWVlZWSBISDptbScgIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJpc0ludGVybmFsVXNlcigpXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdDYXNld29ya2VyIG5hbWUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1Jlc3BvbnNlIGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmb2xsb3dVcE1lc3NhZ2U+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInF1ZXJ5X2RldGFpbHNfY2FwdGlvblwiPnt7ICdGb2xsb3ctdXAnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+IC0tPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1kZXRhaWxzLXRhYmxlXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0ZvbGxvdy11cCBvZiB0aGUgcmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnRm9sbG93IHVwIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pc3Npb24gZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NTSBZWVlZIEhIOm1tJ319PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLm5hbWUgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQXR0YWNobWVudHMnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -49,9 +49,9 @@ function QueryListComponent_ng_container_0_tr_9_Template(rf, ctx) { if (rf & 1)
49
49
  i0.ɵɵadvance(2);
50
50
  i0.ɵɵtextInterpolate(message_r6.lastSubmittedBy);
51
51
  i0.ɵɵadvance(2);
52
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(8, 5, message_r6.lastSubmittedDate, "dd MMM YYYY"));
52
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(8, 5, message_r6.lastSubmittedDate, "dd MMM YYYY HH:mm"), " ");
53
53
  i0.ɵɵadvance(3);
54
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(11, 8, message_r6.lastResponseDate, "dd MMM YYYY"));
54
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind2(11, 8, message_r6.lastResponseDate, "dd MMM YYYY HH:mm"), " ");
55
55
  i0.ɵɵadvance(3);
56
56
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 11, message_r6.responseStatus));
57
57
  } }
@@ -155,11 +155,11 @@ export class QueryListComponent {
155
155
  }
156
156
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryListComponent, [{
157
157
  type: Component,
158
- args: [{ selector: 'ccd-query-list', template: "<ng-container *ngIf=\"queryListData\">\n <table class=\"govuk-table query-list__table\">\n <caption class=\"govuk-table__caption govuk-table__caption--l query-list__caption\">\n <div class=\"query-list__caption-text\">{{ queryListData.partyName }}</div>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row query-list__row\">\n <th scope=\"col\" class=\"govuk-table__header\" [attr.aria-sort]=\"getAriaSortHeaderValue(col)\"\n *ngFor=\"let col of displayedColumns; let i = index;\">\n <button type=\"button\" [attr.data-index]=\"i\" aria-sort=\"none\" (click)=\"sortTable(col)\" href=\"javascript:void(0)\">\n {{ col.displayName | rpxTranslate }}\n </button>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row query-list__row\"\n *ngFor=\"let message of queryListData.queries\"\n >\n <td class=\"govuk-table__cell query-list__cell query-list__cell--first\">\n <a href=\"javascript:void(0)\" (click)=\"showDetails(message)\">{{ message.subject }}</a>\n </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedBy }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastResponseDate | date: 'dd MMM YYYY' }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.responseStatus | rpxTranslate }}</td>\n </tr>\n </tbody>\n </table>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.query-list__row>*:first-child{padding-left:10px}.query-list__row>*:last-child{padding-right:10px}.query-list__cell--first{width:33%}.query-list__table{border:1px solid #b1b4b6;border-top:none}.query-list__caption{background-color:#dee0e2;border:1px solid #b1b4b6;border-bottom:none;font-weight:700;margin-bottom:0;padding:10px}.query-list__caption{font-size:18px}[aria-sort] button,[aria-sort] button:hover,[aria-sort] button:hover:hover{background-color:transparent;border-width:0;-webkit-box-shadow:0 0 0 0;-moz-box-shadow:0 0 0 0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button:focus,[aria-sort] button:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort]:first-child button{right:auto}[aria-sort] button:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button:before,[aria-sort=descending] button:before{content:none}[aria-sort=ascending] button:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}\n"] }]
158
+ args: [{ selector: 'ccd-query-list', template: "<ng-container *ngIf=\"queryListData\">\n <table class=\"govuk-table query-list__table\">\n <caption class=\"govuk-table__caption govuk-table__caption--l query-list__caption\">\n <div class=\"query-list__caption-text\">{{ queryListData.partyName }}</div>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row query-list__row\">\n <th scope=\"col\" class=\"govuk-table__header\" [attr.aria-sort]=\"getAriaSortHeaderValue(col)\"\n *ngFor=\"let col of displayedColumns; let i = index;\">\n <button type=\"button\" [attr.data-index]=\"i\" aria-sort=\"none\" (click)=\"sortTable(col)\" href=\"javascript:void(0)\">\n {{ col.displayName | rpxTranslate }}\n </button>\n </th>\n </tr>\n </thead>\n\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row query-list__row\"\n *ngFor=\"let message of queryListData.queries\"\n >\n <td class=\"govuk-table__cell query-list__cell query-list__cell--first\">\n <a href=\"javascript:void(0)\" (click)=\"showDetails(message)\">{{ message.subject }}</a>\n </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedBy }}</td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastSubmittedDate | date: 'dd MMM YYYY HH:mm' }} </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.lastResponseDate | date: 'dd MMM YYYY HH:mm' }} </td>\n <td class=\"govuk-table__cell query-list__cell\">{{ message.responseStatus | rpxTranslate }}</td>\n </tr>\n </tbody>\n </table>\n</ng-container>\n", styles: ["@charset \"UTF-8\";.query-list__row>*:first-child{padding-left:10px}.query-list__row>*:last-child{padding-right:10px}.query-list__cell--first{width:33%}.query-list__table{border:1px solid #b1b4b6;border-top:none}.query-list__caption{background-color:#dee0e2;border:1px solid #b1b4b6;border-bottom:none;font-weight:700;margin-bottom:0;padding:10px}.query-list__caption{font-size:18px}[aria-sort] button,[aria-sort] button:hover,[aria-sort] button:hover:hover{background-color:transparent;border-width:0;-webkit-box-shadow:0 0 0 0;-moz-box-shadow:0 0 0 0;box-shadow:0 0;color:#000;cursor:pointer;font-family:inherit;font-weight:inherit;padding:0 10px 0 0;position:relative;text-align:inherit;font-size:1em;margin:0}[aria-sort] button:focus,[aria-sort] button:hover:focus{background-color:#fd0;color:#000;box-shadow:0 -2px #fd0,0 4px #000;outline:none}[aria-sort]:first-child button{right:auto}[aria-sort] button:before{content:\" \\25bc\";position:absolute;right:-1px;top:9px;font-size:.5em}[aria-sort] button:after{content:\" \\25b2\";position:absolute;right:-1px;top:1px;font-size:.5em}[aria-sort=ascending] button:before,[aria-sort=descending] button:before{content:none}[aria-sort=ascending] button:after{content:\" \\25b2\";font-size:.8em;position:absolute;right:-5px;top:2px}[aria-sort=descending] button:after{content:\" \\25bc\";font-size:.8em;position:absolute;right:-5px;top:2px}\n"] }]
159
159
  }], null, { caseQueriesCollection: [{
160
160
  type: Input
161
161
  }], selectedQuery: [{
162
162
  type: Output
163
163
  }] }); })();
164
164
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryListComponent, { className: "QueryListComponent", filePath: "lib/shared/components/palette/query-management/components/query-list/query-list.component.ts", lineNumber: 10 }); })();
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1saXN0L3F1ZXJ5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBMEMsYUFBYSxFQUFpQixNQUFNLGNBQWMsQ0FBQzs7Ozs7O0lDTzFGLEFBRkYsNkJBQ3lELGlCQUN5RDtJQUFuRCxzTkFBUyx3QkFBYyxLQUFDO0lBQ25GLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBUyxFQUNOOzs7Ozs7SUFIbUIsY0FBcUI7O0lBQ3pDLGNBQ0Y7SUFERSx5RUFDRjs7OztJQVVGLEFBREYsQUFIRiw2QkFFQyxhQUN3RSxZQUNUO0lBQS9CLHFOQUFTLDhCQUFvQixLQUFDO0lBQUMsWUFBcUI7SUFDbkYsQUFEbUYsaUJBQUksRUFDbEY7SUFDTCw4QkFBK0M7SUFBQSxZQUE2QjtJQUFBLGlCQUFLO0lBQ2pGLDhCQUErQztJQUFBLFlBQXFEOztJQUFBLGlCQUFLO0lBQ3pHLDhCQUErQztJQUFBLGFBQW9EOztJQUFBLGlCQUFLO0lB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bnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9jb21wbGV4L3NvcnQtb3JkZXInO1xuaW1wb3J0IHsgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUxpc3RDb2x1bW4sIFF1ZXJ5TGlzdERhdGEsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb246IENhc2VRdWVyaWVzQ29sbGVjdGlvbjtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFF1ZXJ5OiBFdmVudEVtaXR0ZXI8UXVlcnlMaXN0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBxdWVyeUxpc3REYXRhOiBRdWVyeUxpc3REYXRhIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZGlzcGxheWVkQ29sdW1uczogUXVlcnlMaXN0Q29sdW1uW10gPSBbXG4gICAgeyBuYW1lOiAnc3ViamVjdCcsIGRpc3BsYXlOYW1lOiAnUXVlcnkgc3ViamVjdCcsIHNvcnRPcmRlcjogU29ydE9yZGVyLlVOU09SVEVEIH0sXG4gICAgeyBuYW1lOiAnbGFzdFN1Ym1pdHRlZEJ5JywgZGlzcGxheU5hbWU6ICdMYXN0IHN1Ym1pdHRlZCBieScsIHNvcnRPcmRlcjogU29ydE9yZGVyLlVOU09SVEVEIH0sXG4gICAgeyBuYW1lOiAnbGFzdFN1Ym1pdHRlZERhdGUnLCBkaXNwbGF5TmFtZTogJ0xhc3Qgc3VibWlzc2lvbiBkYXRlJywgc29ydE9yZGVyOiBTb3J0T3JkZXIuVU5TT1JURUQgfSxcbiAgICB7IG5hbWU6ICdsYXN0UmVzcG9uc2VEYXRlJywgZGlzcGxheU5hbWU6ICdMYXN0IHJlc3BvbnNlIGRhdGUnLCBzb3J0T3JkZXI6IFNvcnRPcmRlci5VTlNPUlRFRCB9LFxuICAgIHsgbmFtZTogJ3Jlc3BvbnNlU3RhdHVzJywgZGlzcGxheU5hbWU6ICdSZXNwb25zZSBzdGF0dXMnLCBzb3J0T3JkZXI6IFNvcnRPcmRlci5VTlNPUlRFRCB9XG4gIF07XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBjdXJyZW50Q2FzZVF1ZXJpZXNDb2xsZWN0aW9uID0gc2ltcGxlQ2hhbmdlcy5jYXNlUXVlcmllc0NvbGxlY3Rpb24/LmN1cnJlbnRWYWx1ZSBhcyBDYXNlUXVlcmllc0NvbGxlY3Rpb247XG4gICAgaWYgKGN1cnJlbnRDYXNlUXVlcmllc0NvbGxlY3Rpb24pIHtcbiAgICAgIHRoaXMucXVlcnlMaXN0RGF0YSA9IG5ldyBRdWVyeUxpc3REYXRhKGN1cnJlbnRDYXNlUXVlcmllc0NvbGxlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0VGFibGUoY29sOiBRdWVyeUxpc3RDb2x1bW4pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGNvbC5kaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSAnTGFzdCBzdWJtaXNzaW9uIGRhdGUnOlxuICAgICAgY2FzZSAnTGFzdCByZXNwb25zZSBkYXRlJzoge1xuICAgICAgICB0aGlzLnNvcnREYXRlKGNvbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLnNvcnQoY29sKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFyaWFTb3J0SGVhZGVyVmFsdWUoY29sOiBRdWVyeUxpc3RDb2x1bW4pOiAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJyB8ICdub25lJyB7XG4gICAgc3dpdGNoIChjb2wuc29ydE9yZGVyKSB7XG4gICAgICBjYXNlIFNvcnRPcmRlci5BU0NFTkRJTkc6IHtcbiAgICAgICAgcmV0dXJuICdhc2NlbmRpbmcnO1xuICAgICAgfVxuICAgICAgY2FzZSBTb3J0T3JkZXIuREVTQ0VORElORzoge1xuICAgICAgICByZXR1cm4gJ2Rlc2NlbmRpbmcnO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93RGV0YWlscyhxdWVyeSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRRdWVyeS5lbWl0KHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydChjb2w6IFF1ZXJ5TGlzdENvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2wuc29ydE9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HKSB7XG4gICAgICB0aGlzLnF1ZXJ5TGlzdERhdGEucXVlcmllcy5zb3J0KChhLCBiKSA9PiAoYVtjb2wubmFtZV0gPCBiW2NvbC5uYW1lXSkgPyAxIDogLTEpO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZvckVhY2goKGMpID0+IGMuc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEKTtcbiAgICAgIGNvbC5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeUxpc3REYXRhLnF1ZXJpZXMuc29ydCgoYSwgYikgPT4gKGFbY29sLm5hbWVdID4gYltjb2wubmFtZV0pID8gMSA6IC0xKTtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5mb3JFYWNoKChjKSA9PiBjLnNvcnRPcmRlciA9IFNvcnRPcmRlci5VTlNPUlRFRCk7XG4gICAgICBjb2wuc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnREYXRlKGNvbDogUXVlcnlMaXN0Q29sdW1uKTogdm9pZCB7XG4gICAgaWYgKGNvbC5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5BU0NFTkRJTkcpIHtcbiAgICAgIHRoaXMucXVlcnlMaXN0RGF0YS5xdWVyaWVzLnNvcnQoKGEsIGIpID0+IGJbY29sLm5hbWVdIC0gYVtjb2wubmFtZV0pO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZvckVhY2goKGMpID0+IGMuc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEKTtcbiAgICAgIGNvbC5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeUxpc3REYXRhLnF1ZXJpZXMuc29ydCgoYSwgYikgPT4gYVtjb2wubmFtZV0gLSBiW2NvbC5uYW1lXSk7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMuZm9yRWFjaCgoYykgPT4gYy5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuVU5TT1JURUQpO1xuICAgICAgY29sLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnlMaXN0RGF0YVwiPlxuICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1saXN0X190YWJsZVwiPlxuICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWwgcXVlcnktbGlzdF9fY2FwdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInF1ZXJ5LWxpc3RfX2NhcHRpb24tdGV4dFwiPnt7IHF1ZXJ5TGlzdERhdGEucGFydHlOYW1lIH19PC9kaXY+XG4gICAgPC9jYXB0aW9uPlxuICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93IHF1ZXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBbYXR0ci5hcmlhLXNvcnRdPVwiZ2V0QXJpYVNvcnRIZWFkZXJWYWx1ZShjb2wpXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgZGlzcGxheWVkQ29sdW1uczsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5kYXRhLWluZGV4XT1cImlcIiBhcmlhLXNvcnQ9XCJub25lXCIgKGNsaWNrKT1cInNvcnRUYWJsZShjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPlxuICAgICAgICAgICAge3sgY29sLmRpc3BsYXlOYW1lIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3cgcXVlcnktbGlzdF9fcm93XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgcXVlcnlMaXN0RGF0YS5xdWVyaWVzXCJcbiAgICA+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCBxdWVyeS1saXN0X19jZWxsIHF1ZXJ5LWxpc3RfX2NlbGwtLWZpcnN0XCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2hvd0RldGFpbHMobWVzc2FnZSlcIj57eyBtZXNzYWdlLnN1YmplY3QgfX08L2E+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgcXVlcnktbGlzdF9fY2VsbFwiPnt7IG1lc3NhZ2UubGFzdFN1Ym1pdHRlZEJ5IH19PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHF1ZXJ5LWxpc3RfX2NlbGxcIj57eyBtZXNzYWdlLmxhc3RTdWJtaXR0ZWREYXRlIHwgZGF0ZTogJ2RkIE1NTSBZWVlZJyB9fTwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCBxdWVyeS1saXN0X19jZWxsXCI+e3sgbWVzc2FnZS5sYXN0UmVzcG9uc2VEYXRlIHwgZGF0ZTogJ2RkIE1NTSBZWVlZJyB9fTwvdGQ+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCBxdWVyeS1saXN0X19jZWxsXCI+e3sgbWVzc2FnZS5yZXNwb25zZVN0YXR1cyB8IHJweFRyYW5zbGF0ZSB9fTwvdGQ+XG4gICAgPC90cj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1saXN0L3F1ZXJ5LWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBMEMsYUFBYSxFQUFpQixNQUFNLGNBQWMsQ0FBQzs7Ozs7O0lDTzFGLEFBRkYsNkJBQ3lELGlCQUN5RDtJQUFuRCxzTkFBUyx3QkFBYyxLQUFDO0lBQ25GLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBUyxFQUNOOzs7Ozs7SUFIbUIsY0FBcUI7O0lBQ3pDLGNBQ0Y7SUFERSx5RUFDRjs7OztJQVVGLEFBREYsQUFIRiw2QkFFQyxhQUN3RSxZQUNUO0lBQS9CLHFOQUFTLDhCQUFvQixLQUFDO0lBQUMsWUFBcUI7SUFDbkYsQUFEbUYsaUJBQUksRUFDbEY7SUFDTCw4QkFBK0M7SUFBQSxZQUE2QjtJQUFBLGlCQUFLO0lBQ2pGLDhCQUErQztJQUFBLFlBQTREOztJQUFBLGlCQUFLO0lBQ2hILDhCQUErQztJQUFBLGFBQTJEOztJQUFBLGlCQUFLO0lB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bnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3J0T3JkZXIgfSBmcm9tICcuLi8uLi8uLi9jb21wbGV4L3NvcnQtb3JkZXInO1xuaW1wb3J0IHsgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeUxpc3RDb2x1bW4sIFF1ZXJ5TGlzdERhdGEsIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb246IENhc2VRdWVyaWVzQ29sbGVjdGlvbjtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFF1ZXJ5OiBFdmVudEVtaXR0ZXI8UXVlcnlMaXN0SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBxdWVyeUxpc3REYXRhOiBRdWVyeUxpc3REYXRhIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgZGlzcGxheWVkQ29sdW1uczogUXVlcnlMaXN0Q29sdW1uW10gPSBbXG4gICAgeyBuYW1lOiAnc3ViamVjdCcsIGRpc3BsYXlOYW1lOiAnUXVlcnkgc3ViamVjdCcsIHNvcnRPcmRlcjogU29ydE9yZGVyLlVOU09SVEVEIH0sXG4gICAgeyBuYW1lOiAnbGFzdFN1Ym1pdHRlZEJ5JywgZGlzcGxheU5hbWU6ICdMYXN0IHN1Ym1pdHRlZCBieScsIHNvcnRPcmRlcjogU29ydE9yZGVyLlVOU09SVEVEIH0sXG4gICAgeyBuYW1lOiAnbGFzdFN1Ym1pdHRlZERhdGUnLCBkaXNwbGF5TmFtZTogJ0xhc3Qgc3VibWlzc2lvbiBkYXRlJywgc29ydE9yZGVyOiBTb3J0T3JkZXIuVU5TT1JURUQgfSxcbiAgICB7IG5hbWU6ICdsYXN0UmVzcG9uc2VEYXRlJywgZGlzcGxheU5hbWU6ICdMYXN0IHJlc3BvbnNlIGRhdGUnLCBzb3J0T3JkZXI6IFNvcnRPcmRlci5VTlNPUlRFRCB9LFxuICAgIHsgbmFtZTogJ3Jlc3BvbnNlU3RhdHVzJywgZGlzcGxheU5hbWU6ICdSZXNwb25zZSBzdGF0dXMnLCBzb3J0T3JkZXI6IFNvcnRPcmRlci5VTlNPUlRFRCB9XG4gIF07XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBjdXJyZW50Q2FzZVF1ZXJpZXNDb2xsZWN0aW9uID0gc2ltcGxlQ2hhbmdlcy5jYXNlUXVlcmllc0NvbGxlY3Rpb24/LmN1cnJlbnRWYWx1ZSBhcyBDYXNlUXVlcmllc0NvbGxlY3Rpb247XG4gICAgaWYgKGN1cnJlbnRDYXNlUXVlcmllc0NvbGxlY3Rpb24pIHtcbiAgICAgIHRoaXMucXVlcnlMaXN0RGF0YSA9IG5ldyBRdWVyeUxpc3REYXRhKGN1cnJlbnRDYXNlUXVlcmllc0NvbGxlY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0VGFibGUoY29sOiBRdWVyeUxpc3RDb2x1bW4pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGNvbC5kaXNwbGF5TmFtZSkge1xuICAgICAgY2FzZSAnTGFzdCBzdWJtaXNzaW9uIGRhdGUnOlxuICAgICAgY2FzZSAnTGFzdCByZXNwb25zZSBkYXRlJzoge1xuICAgICAgICB0aGlzLnNvcnREYXRlKGNvbCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB0aGlzLnNvcnQoY29sKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEFyaWFTb3J0SGVhZGVyVmFsdWUoY29sOiBRdWVyeUxpc3RDb2x1bW4pOiAnYXNjZW5kaW5nJyB8ICdkZXNjZW5kaW5nJyB8ICdub25lJyB7XG4gICAgc3dpdGNoIChjb2wuc29ydE9yZGVyKSB7XG4gICAgICBjYXNlIFNvcnRPcmRlci5BU0NFTkRJTkc6IHtcbiAgICAgICAgcmV0dXJuICdhc2NlbmRpbmcnO1xuICAgICAgfVxuICAgICAgY2FzZSBTb3J0T3JkZXIuREVTQ0VORElORzoge1xuICAgICAgICByZXR1cm4gJ2Rlc2NlbmRpbmcnO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93RGV0YWlscyhxdWVyeSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRRdWVyeS5lbWl0KHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydChjb2w6IFF1ZXJ5TGlzdENvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2wuc29ydE9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HKSB7XG4gICAgICB0aGlzLnF1ZXJ5TGlzdERhdGEucXVlcmllcy5zb3J0KChhLCBiKSA9PiAoYVtjb2wubmFtZV0gPCBiW2NvbC5uYW1lXSkgPyAxIDogLTEpO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZvckVhY2goKGMpID0+IGMuc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEKTtcbiAgICAgIGNvbC5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeUxpc3REYXRhLnF1ZXJpZXMuc29ydCgoYSwgYikgPT4gKGFbY29sLm5hbWVdID4gYltjb2wubmFtZV0pID8gMSA6IC0xKTtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5mb3JFYWNoKChjKSA9PiBjLnNvcnRPcmRlciA9IFNvcnRPcmRlci5VTlNPUlRFRCk7XG4gICAgICBjb2wuc29ydE9yZGVyID0gU29ydE9yZGVyLkFTQ0VORElORztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnREYXRlKGNvbDogUXVlcnlMaXN0Q29sdW1uKTogdm9pZCB7XG4gICAgaWYgKGNvbC5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5BU0NFTkRJTkcpIHtcbiAgICAgIHRoaXMucXVlcnlMaXN0RGF0YS5xdWVyaWVzLnNvcnQoKGEsIGIpID0+IGJbY29sLm5hbWVdIC0gYVtjb2wubmFtZV0pO1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmZvckVhY2goKGMpID0+IGMuc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEKTtcbiAgICAgIGNvbC5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5xdWVyeUxpc3REYXRhLnF1ZXJpZXMuc29ydCgoYSwgYikgPT4gYVtjb2wubmFtZV0gLSBiW2NvbC5uYW1lXSk7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMuZm9yRWFjaCgoYykgPT4gYy5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuVU5TT1JURUQpO1xuICAgICAgY29sLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnlMaXN0RGF0YVwiPlxuICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1saXN0X190YWJsZVwiPlxuICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWwgcXVlcnktbGlzdF9fY2FwdGlvblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInF1ZXJ5LWxpc3RfX2NhcHRpb24tdGV4dFwiPnt7IHF1ZXJ5TGlzdERhdGEucGFydHlOYW1lIH19PC9kaXY+XG4gICAgPC9jYXB0aW9uPlxuICAgIDx0aGVhZCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkXCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93IHF1ZXJ5LWxpc3RfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBbYXR0ci5hcmlhLXNvcnRdPVwiZ2V0QXJpYVNvcnRIZWFkZXJWYWx1ZShjb2wpXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2wgb2YgZGlzcGxheWVkQ29sdW1uczsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbYXR0ci5kYXRhLWluZGV4XT1cImlcIiBhcmlhLXNvcnQ9XCJub25lXCIgKGNsaWNrKT1cInNvcnRUYWJsZShjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPlxuICAgICAgICAgICAge3sgY29sLmRpc3BsYXlOYW1lIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG5cbiAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3cgcXVlcnktbGlzdF9fcm93XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgcXVlcnlMaXN0RGF0YS5xdWVyaWVzXCJcbiAgICA+XG4gICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbCBxdWVyeS1saXN0X19jZWxsIHF1ZXJ5LWxpc3RfX2NlbGwtLWZpcnN0XCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2hvd0RldGFpbHMobWVzc2FnZSlcIj57eyBtZXNzYWdlLnN1YmplY3QgfX08L2E+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgcXVlcnktbGlzdF9fY2VsbFwiPnt7IG1lc3NhZ2UubGFzdFN1Ym1pdHRlZEJ5IH19PC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHF1ZXJ5LWxpc3RfX2NlbGxcIj57eyBtZXNzYWdlLmxhc3RTdWJtaXR0ZWREYXRlIHwgZGF0ZTogJ2RkIE1NTSBZWVlZIEhIOm1tJyB9fSA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGwgcXVlcnktbGlzdF9fY2VsbFwiPnt7IG1lc3NhZ2UubGFzdFJlc3BvbnNlRGF0ZSB8IGRhdGU6ICdkZCBNTU0gWVlZWSBISDptbScgfX0gPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsIHF1ZXJ5LWxpc3RfX2NlbGxcIj57eyBtZXNzYWdlLnJlc3BvbnNlU3RhdHVzIHwgcnB4VHJhbnNsYXRlIH19PC90ZD5cbiAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -11,14 +11,18 @@ export class QueryListData {
11
11
  this.queries = parentMessages.map((message) => this.buildQueryListItem(message, caseQueriesCollection.caseMessages));
12
12
  }
13
13
  buildQueryListItem(message, allMessages) {
14
+ const childrenMessages = allMessages.filter((childMessage) => childMessage.value.parentId === message.value.id);
15
+ const children = childrenMessages.map((childMessage, index) => {
16
+ const childItem = this.buildQueryListItem(childMessage, allMessages);
17
+ childItem.messageIndexInParent = index; // Assign index for status logic
18
+ return childItem;
19
+ });
14
20
  const queryListItem = new QueryListItem();
15
21
  Object.assign(queryListItem, {
16
22
  ...message.value,
17
- children: allMessages
18
- .filter((childMessage) => childMessage.value.parentId === message.value.id)
19
- .map((childMessage) => this.buildQueryListItem(childMessage, allMessages))
23
+ children
20
24
  });
21
25
  return queryListItem;
22
26
  }
23
27
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWRhdGEvcXVlcnktbGlzdC1kYXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sYUFBYTtJQUNqQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBa0I7SUFFaEMsWUFBWSxxQkFBNEM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFDbkQsbUZBQW1GO1FBQ25GLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQixFQUFFLFdBQTJCO1FBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDM0IsR0FBRyxPQUFPLENBQUMsS0FBSztZQUNoQixRQUFRLEVBQUUsV0FBVztpQkFDbEIsTUFBTSxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7aUJBQ3hGLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDM0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uLCBRdWVyeU1lc3NhZ2UgfSBmcm9tICcuLi8uLi9jYXNlLXF1ZXJpZXMtY29sbGVjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vcXVlcnktbGlzdC1pdGVtL3F1ZXJ5LWxpc3QtaXRlbS5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeUxpc3REYXRhIHtcbiAgcHVibGljIHBhcnR5TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcm9sZU9uQ2FzZTogc3RyaW5nO1xuICBwdWJsaWMgcXVlcmllczogUXVlcnlMaXN0SXRlbVtdO1xuXG4gIGNvbnN0cnVjdG9yKGNhc2VRdWVyaWVzQ29sbGVjdGlvbjogQ2FzZVF1ZXJpZXNDb2xsZWN0aW9uKSB7XG4gICAgdGhpcy5wYXJ0eU5hbWUgPSBjYXNlUXVlcmllc0NvbGxlY3Rpb24ucGFydHlOYW1lO1xuICAgIHRoaXMucm9sZU9uQ2FzZSA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5yb2xlT25DYXNlO1xuICAgIC8vIGdldCB0aGUgcGFyZW50IG1lc3NhZ2VzIChtZXNzYWdlcyB3aXRob3V0IHBhcmVudElkKSBhbmQgYWRkIHRoZSBjaGlsZHJlbiB0byB0aGVtXG4gICAgY29uc3QgcGFyZW50TWVzc2FnZXMgPSBjYXNlUXVlcmllc0NvbGxlY3Rpb24uY2FzZU1lc3NhZ2VzLmZpbHRlcigobWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiAhbWVzc2FnZS52YWx1ZS5wYXJlbnRJZCk7XG4gICAgdGhpcy5xdWVyaWVzID0gcGFyZW50TWVzc2FnZXMubWFwKChtZXNzYWdlOiBRdWVyeU1lc3NhZ2UpID0+IHRoaXMuYnVpbGRRdWVyeUxpc3RJdGVtKG1lc3NhZ2UsIGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRRdWVyeUxpc3RJdGVtKG1lc3NhZ2U6IFF1ZXJ5TWVzc2FnZSwgYWxsTWVzc2FnZXM6IFF1ZXJ5TWVzc2FnZVtdKTogUXVlcnlMaXN0SXRlbSB7XG4gICAgY29uc3QgcXVlcnlMaXN0SXRlbSA9IG5ldyBRdWVyeUxpc3RJdGVtKCk7XG4gICAgT2JqZWN0LmFzc2lnbihxdWVyeUxpc3RJdGVtLCB7XG4gICAgICAuLi5tZXNzYWdlLnZhbHVlLFxuICAgICAgY2hpbGRyZW46IGFsbE1lc3NhZ2VzXG4gICAgICAgIC5maWx0ZXIoKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiBjaGlsZE1lc3NhZ2UudmFsdWUucGFyZW50SWQgPT09IG1lc3NhZ2UudmFsdWUuaWQpXG4gICAgICAgIC5tYXAoKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiB0aGlzLmJ1aWxkUXVlcnlMaXN0SXRlbShjaGlsZE1lc3NhZ2UsIGFsbE1lc3NhZ2VzKSlcbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnlMaXN0SXRlbTtcbiAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1kYXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWRhdGEvcXVlcnktbGlzdC1kYXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxNQUFNLE9BQU8sYUFBYTtJQUNqQixTQUFTLENBQVM7SUFDbEIsVUFBVSxDQUFTO0lBQ25CLE9BQU8sQ0FBa0I7SUFFaEMsWUFBWSxxQkFBNEM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7UUFDbkQsbUZBQW1GO1FBQ25GLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckgsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQixFQUFFLFdBQTJCO1FBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FDekMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDakYsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFvQixnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDN0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNyRSxTQUFTLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLENBQUMsZ0NBQWdDO1lBQ3hFLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMzQixHQUFHLE9BQU8sQ0FBQyxLQUFLO1lBQ2hCLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TWVzc2FnZSB9IGZyb20gJy4uLy4uL2Nhc2UtcXVlcmllcy1jb2xsZWN0aW9uLm1vZGVsJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFF1ZXJ5TGlzdERhdGEge1xuICBwdWJsaWMgcGFydHlOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByb2xlT25DYXNlOiBzdHJpbmc7XG4gIHB1YmxpYyBxdWVyaWVzOiBRdWVyeUxpc3RJdGVtW107XG5cbiAgY29uc3RydWN0b3IoY2FzZVF1ZXJpZXNDb2xsZWN0aW9uOiBDYXNlUXVlcmllc0NvbGxlY3Rpb24pIHtcbiAgICB0aGlzLnBhcnR5TmFtZSA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5wYXJ0eU5hbWU7XG4gICAgdGhpcy5yb2xlT25DYXNlID0gY2FzZVF1ZXJpZXNDb2xsZWN0aW9uLnJvbGVPbkNhc2U7XG4gICAgLy8gZ2V0IHRoZSBwYXJlbnQgbWVzc2FnZXMgKG1lc3NhZ2VzIHdpdGhvdXQgcGFyZW50SWQpIGFuZCBhZGQgdGhlIGNoaWxkcmVuIHRvIHRoZW1cbiAgICBjb25zdCBwYXJlbnRNZXNzYWdlcyA9IGNhc2VRdWVyaWVzQ29sbGVjdGlvbi5jYXNlTWVzc2FnZXMuZmlsdGVyKChtZXNzYWdlOiBRdWVyeU1lc3NhZ2UpID0+ICFtZXNzYWdlLnZhbHVlLnBhcmVudElkKTtcbiAgICB0aGlzLnF1ZXJpZXMgPSBwYXJlbnRNZXNzYWdlcy5tYXAoKG1lc3NhZ2U6IFF1ZXJ5TWVzc2FnZSkgPT4gdGhpcy5idWlsZFF1ZXJ5TGlzdEl0ZW0obWVzc2FnZSwgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uLmNhc2VNZXNzYWdlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFF1ZXJ5TGlzdEl0ZW0obWVzc2FnZTogUXVlcnlNZXNzYWdlLCBhbGxNZXNzYWdlczogUXVlcnlNZXNzYWdlW10pOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBjaGlsZHJlbk1lc3NhZ2VzID0gYWxsTWVzc2FnZXMuZmlsdGVyKFxuICAgICAgKGNoaWxkTWVzc2FnZTogUXVlcnlNZXNzYWdlKSA9PiBjaGlsZE1lc3NhZ2UudmFsdWUucGFyZW50SWQgPT09IG1lc3NhZ2UudmFsdWUuaWRcbiAgICApO1xuXG4gICAgY29uc3QgY2hpbGRyZW46IFF1ZXJ5TGlzdEl0ZW1bXSA9IGNoaWxkcmVuTWVzc2FnZXMubWFwKChjaGlsZE1lc3NhZ2UsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjaGlsZEl0ZW0gPSB0aGlzLmJ1aWxkUXVlcnlMaXN0SXRlbShjaGlsZE1lc3NhZ2UsIGFsbE1lc3NhZ2VzKTtcbiAgICAgIGNoaWxkSXRlbS5tZXNzYWdlSW5kZXhJblBhcmVudCA9IGluZGV4OyAvLyBBc3NpZ24gaW5kZXggZm9yIHN0YXR1cyBsb2dpY1xuICAgICAgcmV0dXJuIGNoaWxkSXRlbTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHF1ZXJ5TGlzdEl0ZW0gPSBuZXcgUXVlcnlMaXN0SXRlbSgpO1xuICAgIE9iamVjdC5hc3NpZ24ocXVlcnlMaXN0SXRlbSwge1xuICAgICAgLi4ubWVzc2FnZS52YWx1ZSxcbiAgICAgIGNoaWxkcmVuXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcXVlcnlMaXN0SXRlbTtcbiAgfVxufVxuIl19
@@ -11,10 +11,11 @@ export class QueryListItem {
11
11
  createdBy;
12
12
  parentId;
13
13
  children = [];
14
+ messageIndexInParent = null;
14
15
  get lastSubmittedMessage() {
15
16
  const getLastSubmittedMessage = (item) => {
16
17
  let lastSubmittedMessage = item;
17
- if (item.children && item.children.length > 0) {
18
+ if (item.children && item.children.length > 1) {
18
19
  for (const child of item.children) {
19
20
  const childLastSubmittedMessage = getLastSubmittedMessage(child);
20
21
  if (childLastSubmittedMessage.createdOn > lastSubmittedMessage.createdOn) {
@@ -30,21 +31,48 @@ export class QueryListItem {
30
31
  return this.lastSubmittedMessage.name;
31
32
  }
32
33
  get lastSubmittedDate() {
33
- return new Date(this.lastSubmittedMessage.createdOn);
34
+ const childrenCount = this.children.length;
35
+ if (childrenCount <= 1) {
36
+ return new Date(this.lastSubmittedMessage.createdOn);
37
+ }
38
+ let index;
39
+ if (childrenCount > 1) {
40
+ index = childrenCount % 2 === 0 ? childrenCount - 1 : childrenCount - 2;
41
+ }
42
+ return new Date(this.children[index].createdOn);
34
43
  }
35
44
  get lastResponseBy() {
36
45
  return this.children?.length > 0 ? this.lastSubmittedMessage.name : '';
37
46
  }
38
47
  get lastResponseDate() {
39
- return this.children?.length > 0 ? new Date(this.lastSubmittedMessage.createdOn) : null;
48
+ const childrenCount = this.children.length;
49
+ if (childrenCount === 0) {
50
+ return null;
51
+ }
52
+ let index;
53
+ if (childrenCount === 1) {
54
+ index = 0;
55
+ }
56
+ else {
57
+ index = childrenCount % 2 === 1 ? childrenCount - 1 : childrenCount - 2;
58
+ }
59
+ return new Date(this.children[index].createdOn);
40
60
  }
41
61
  get responseStatus() {
42
- if (this.children?.length > 0) {
62
+ // Child logic (position-based)
63
+ if (this.messageIndexInParent !== null) {
64
+ return this.messageIndexInParent % 2 === 0
65
+ ? QueryItemResponseStatus.RESPONDED
66
+ : QueryItemResponseStatus.AWAITING;
67
+ }
68
+ // Parent logic (children count)
69
+ if (this.children && this.children.length > 0) {
43
70
  return this.children.length % 2 === 1
44
71
  ? QueryItemResponseStatus.RESPONDED
45
72
  : QueryItemResponseStatus.AWAITING;
46
73
  }
74
+ // No children — still awaiting
47
75
  return QueryItemResponseStatus.AWAITING;
48
76
  }
49
77
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3pGLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUMxQyxnQkFBZ0IsQ0FBUztJQUN6QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFPO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQVU7SUFDbEIsUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFdEMsSUFBVyxvQkFBb0I7UUFDN0IsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQW1CLEVBQWlCLEVBQUU7WUFDckUsSUFBSSxvQkFBb0IsR0FBa0IsSUFBSSxDQUFDO1lBRS9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2xDLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pFLElBQUkseUJBQXlCLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUN6RSxvQkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztvQkFDbkQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sb0JBQW9CLENBQUM7UUFDOUIsQ0FBQyxDQUFDO1FBRUYsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTO2dCQUNuQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3F1ZXJ5LWl0ZW0tcmVzcG9uc2Utc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2FzZU1lc3NhZ2UsIFF1ZXJ5TWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlMaXN0SXRlbSBpbXBsZW1lbnRzIENhc2VNZXNzYWdlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJqZWN0Pzogc3RyaW5nO1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYm9keTogc3RyaW5nO1xuICBwdWJsaWMgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdID0gW107XG4gIHB1YmxpYyBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFyaW5nRGF0ZT86IHN0cmluZztcbiAgcHVibGljIGNyZWF0ZWRPbjogRGF0ZTtcbiAgcHVibGljIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0SXRlbVtdID0gW107XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkTWVzc2FnZSgpOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IChpdGVtOiBRdWVyeUxpc3RJdGVtKTogUXVlcnlMaXN0SXRlbSA9PiB7XG4gICAgICBsZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2U6IFF1ZXJ5TGlzdEl0ZW0gPSBpdGVtO1xuXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IGdldExhc3RTdWJtaXR0ZWRNZXNzYWdlKGNoaWxkKTtcbiAgICAgICAgICBpZiAoY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24gPiBsYXN0U3VibWl0dGVkTWVzc2FnZS5jcmVhdGVkT24pIHtcbiAgICAgICAgICAgIGxhc3RTdWJtaXR0ZWRNZXNzYWdlID0gY2hpbGRMYXN0U3VibWl0dGVkTWVzc2FnZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxhc3RTdWJtaXR0ZWRNZXNzYWdlO1xuICAgIH07XG5cbiAgICByZXR1cm4gZ2V0TGFzdFN1Ym1pdHRlZE1lc3NhZ2UodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RTdWJtaXR0ZWRCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RTdWJtaXR0ZWREYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RSZXNwb25zZUJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDAgPyB0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLm5hbWUgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFJlc3BvbnNlRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDAgPyBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbikgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNwb25zZVN0YXR1cygpOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB7XG4gICAgaWYgKHRoaXMuY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aCAlIDIgPT09IDFcbiAgICAgICAgPyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5SRVNQT05ERURcbiAgICAgICAgOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgICB9XG4gICAgcmV0dXJuIFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HO1xuICB9XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktbGlzdC1pdGVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvcXVlcnktbWFuYWdlbWVudC9tb2RlbHMvcXVlcnktbGlzdC9xdWVyeS1saXN0LWl0ZW0vcXVlcnktbGlzdC1pdGVtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3pGLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLEVBQUUsQ0FBUztJQUNYLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixXQUFXLEdBQTRCLEVBQUUsQ0FBQztJQUMxQyxnQkFBZ0IsQ0FBUztJQUN6QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFPO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixRQUFRLENBQVU7SUFDbEIsUUFBUSxHQUFvQixFQUFFLENBQUM7SUFFL0Isb0JBQW9CLEdBQW1CLElBQUksQ0FBQztJQUVuRCxJQUFXLG9CQUFvQjtRQUM3QixNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBbUIsRUFBaUIsRUFBRTtZQUNyRSxJQUFJLG9CQUFvQixHQUFrQixJQUFJLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSx5QkFBeUIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakUsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ3pFLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO29CQUNuRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztRQUM5QixDQUFDLENBQUM7UUFFRixPQUFPLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLGFBQWEsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsSUFBSSxLQUFhLENBQUM7UUFFbEIsSUFBSSxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsS0FBSyxHQUFHLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLGFBQWEsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLEtBQWEsQ0FBQztRQUVsQixJQUFJLGFBQWEsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1osQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLEdBQUcsYUFBYSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLCtCQUErQjtRQUMvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN2QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ25DLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDdkMsQ0FBQztRQUVELGdDQUFnQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFNBQVM7Z0JBQ25DLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7UUFDdkMsQ0FBQztRQUVELCtCQUErQjtRQUMvQixPQUFPLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL3F1ZXJ5LWl0ZW0tcmVzcG9uc2Utc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2FzZU1lc3NhZ2UsIFF1ZXJ5TWVzc2FnZURvY3VtZW50IH0gZnJvbSAnLi4vLi4vY2FzZS1xdWVyaWVzLWNvbGxlY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlMaXN0SXRlbSBpbXBsZW1lbnRzIENhc2VNZXNzYWdlIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJqZWN0Pzogc3RyaW5nO1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYm9keTogc3RyaW5nO1xuICBwdWJsaWMgYXR0YWNobWVudHM/OiBRdWVyeU1lc3NhZ2VEb2N1bWVudFtdID0gW107XG4gIHB1YmxpYyBpc0hlYXJpbmdSZWxhdGVkOiBzdHJpbmc7XG4gIHB1YmxpYyBoZWFyaW5nRGF0ZT86IHN0cmluZztcbiAgcHVibGljIGNyZWF0ZWRPbjogRGF0ZTtcbiAgcHVibGljIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBjaGlsZHJlbjogUXVlcnlMaXN0SXRlbVtdID0gW107XG5cbiAgcHVibGljIG1lc3NhZ2VJbmRleEluUGFyZW50PzogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBsYXN0U3VibWl0dGVkTWVzc2FnZSgpOiBRdWVyeUxpc3RJdGVtIHtcbiAgICBjb25zdCBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSA9IChpdGVtOiBRdWVyeUxpc3RJdGVtKTogUXVlcnlMaXN0SXRlbSA9PiB7XG4gICAgICBsZXQgbGFzdFN1Ym1pdHRlZE1lc3NhZ2U6IFF1ZXJ5TGlzdEl0ZW0gPSBpdGVtO1xuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIGNvbnN0IGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2UgPSBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZShjaGlsZCk7XG4gICAgICAgICAgaWYgKGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2UuY3JlYXRlZE9uID4gbGFzdFN1Ym1pdHRlZE1lc3NhZ2UuY3JlYXRlZE9uKSB7XG4gICAgICAgICAgICBsYXN0U3VibWl0dGVkTWVzc2FnZSA9IGNoaWxkTGFzdFN1Ym1pdHRlZE1lc3NhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbGFzdFN1Ym1pdHRlZE1lc3NhZ2U7XG4gICAgfTtcblxuICAgIHJldHVybiBnZXRMYXN0U3VibWl0dGVkTWVzc2FnZSh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFN1Ym1pdHRlZEJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGFzdFN1Ym1pdHRlZE1lc3NhZ2UubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFN1Ym1pdHRlZERhdGUoKTogRGF0ZSB7XG4gICAgY29uc3QgY2hpbGRyZW5Db3VudCA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoO1xuICAgIGlmIChjaGlsZHJlbkNvdW50IDw9IDEpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmxhc3RTdWJtaXR0ZWRNZXNzYWdlLmNyZWF0ZWRPbik7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4OiBudW1iZXI7XG5cbiAgICBpZiAoY2hpbGRyZW5Db3VudCA+IDEpIHtcbiAgICAgIGluZGV4ID0gY2hpbGRyZW5Db3VudCAlIDIgPT09IDAgPyBjaGlsZHJlbkNvdW50IC0gMSA6IGNoaWxkcmVuQ291bnQgLSAyO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNoaWxkcmVuW2luZGV4XS5jcmVhdGVkT24pO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0UmVzcG9uc2VCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuPy5sZW5ndGggPiAwID8gdGhpcy5sYXN0U3VibWl0dGVkTWVzc2FnZS5uYW1lIDogJyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhc3RSZXNwb25zZURhdGUoKTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGNoaWxkcmVuQ291bnQgPSB0aGlzLmNoaWxkcmVuLmxlbmd0aDtcbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGluZGV4OiBudW1iZXI7XG5cbiAgICBpZiAoY2hpbGRyZW5Db3VudCA9PT0gMSkge1xuICAgICAgaW5kZXggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGNoaWxkcmVuQ291bnQgJSAyID09PSAxID8gY2hpbGRyZW5Db3VudCAtIDEgOiBjaGlsZHJlbkNvdW50IC0gMjtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jaGlsZHJlbltpbmRleF0uY3JlYXRlZE9uKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzcG9uc2VTdGF0dXMoKTogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMge1xuICAgIC8vIENoaWxkIGxvZ2ljIChwb3NpdGlvbi1iYXNlZClcbiAgICBpZiAodGhpcy5tZXNzYWdlSW5kZXhJblBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZUluZGV4SW5QYXJlbnQgJSAyID09PSAwXG4gICAgICAgID8gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuUkVTUE9OREVEXG4gICAgICAgIDogUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gICAgfVxuXG4gICAgLy8gUGFyZW50IGxvZ2ljIChjaGlsZHJlbiBjb3VudClcbiAgICBpZiAodGhpcy5jaGlsZHJlbiAmJiB0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aCAlIDIgPT09IDFcbiAgICAgICAgPyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5SRVNQT05ERURcbiAgICAgICAgOiBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORztcbiAgICB9XG5cbiAgICAvLyBObyBjaGlsZHJlbiDigJQgc3RpbGwgYXdhaXRpbmdcbiAgICByZXR1cm4gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG4gIH1cbn1cbiJdfQ==
@@ -66,7 +66,7 @@ function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_ng_templ
66
66
  i0.ɵɵadvance(2);
67
67
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Your query is under review"));
68
68
  i0.ɵɵadvance(3);
69
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and will respond. Do not submit the same query more than once."));
69
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Our team will read your query and respond. Do not submit the same query more than once."));
70
70
  } }
71
71
  function ReadQueryManagementFieldComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
72
72
  i0.ɵɵelementContainerStart(0);
@@ -152,7 +152,7 @@ export class ReadQueryManagementFieldComponent extends AbstractFieldReadComponen
152
152
  }
153
153
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadQueryManagementFieldComponent, [{
154
154
  type: Component,
155
- 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=\"!isInternalUser()\">\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</ng-template>\n" }]
155
+ 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=\"!isInternalUser()\">\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 respond. Do not submit the same query more than once.' | rpxTranslate }}</p>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n" }]
156
156
  }], () => [{ type: i1.ActivatedRoute }, { type: i2.SessionStorageService }, { type: i3.CaseNotifier }], null); })();
157
157
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadQueryManagementFieldComponent, { className: "ReadQueryManagementFieldComponent", filePath: "lib/shared/components/palette/query-management/read-query-management-field.component.ts", lineNumber: 15 }); })();
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7OztJQ05sRSxBQURGLDhCQUFnRix3QkFDcUI7SUFBbkYsMFBBQWlCLHVCQUFnQixLQUFDO0lBQ3BELEFBRHFHLGlCQUFpQixFQUNoSDs7O0lBRCtDLGNBQStDO0lBQS9DLGdFQUErQzs7O0lBRnRHLDZCQUEyRTtJQUN6RSxnSEFBZ0Y7Ozs7SUFBMUUsY0FBbUI7SUFBbkIsMkNBQW1COzs7SUFGN0IsNkJBQTZEO0lBQzNELG1IQUEyRTs7OztJQUEzQixjQUF5QjtJQUF6Qix1REFBeUI7OztJQWV2RSw2QkFBNkc7SUFDM0csaUNBQzZFO0lBQzNFLFlBQ0Y7O0lBQUEsaUJBQVM7Ozs7SUFGRCxjQUFvRTtJQUFwRSx1RkFBb0U7SUFDMUUsY0FDRjtJQURFLGlGQUNGOzs7SUFLRSxBQURGLDJCQUFLLFlBQ2lDO0lBQUEsWUFBaUQ7O0lBQUEsaUJBQUk7SUFDekYseUJBQUc7SUFBQSxZQUFtSDs7SUFDeEgsQUFEd0gsaUJBQUksRUFDdEg7O0lBRmdDLGVBQWlEO0lBQWpELHdFQUFpRDtJQUNsRixlQUFtSDtJQUFuSCwwSUFBbUg7OztJQVg1SCw2QkFBd0M7SUFRdEMsQUFQQSxpSUFBNkcsbUpBTy9FOzs7OztJQVBmLGNBQXdFO0lBQUEsQUFBeEUsK09BQXdFLGdDQUFvQjs7OztJQVA3Ryw0Q0FJQztJQUZDLG1QQUErQixJQUFJLEtBQUM7SUFFckMsaUJBQW9CO0lBRXJCLGtIQUF3Qzs7O0lBSHRDLEFBRkEsb0NBQWUseUJBRUU7SUFHSixjQUF1QjtJQUF2QiwrQ0FBdUI7O0FERHhDLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSwwQkFBMEI7SUFNbEQ7SUFDbkI7SUFDUztJQVBaLHNCQUFzQixDQUEwQjtJQUNoRCxLQUFLLENBQWdCO0lBQ3JCLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIsTUFBTSxDQUFTO0lBRXRCLFlBQTZCLEtBQXFCLEVBQ3hDLHFCQUE0QyxFQUNuQyxZQUEwQjtRQUUzQyxLQUFLLEVBQUUsQ0FBQztRQUptQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN4QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRzdDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzdDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUMsNkVBQTZFO1lBQzdFLHNEQUFzRDtZQUV0RCw4RUFBOEU7WUFDOUUsaUVBQWlFO1lBQ2pFLHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2lCQUMzQyxTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLHNCQUFzQixHQUFJLFdBQVcsQ0FBQyxJQUFrQjs2QkFDMUQsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FDL0IsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLG1CQUFtQixJQUFJLFNBQVMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN6RyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFOzRCQUNwQyxNQUFNLGlDQUFpQyxHQUFHLG9CQUFvQixDQUFDLCtCQUErQixDQUFDLFNBQVMsQ0FBQyxDQUFDOzRCQUUxRyxJQUFJLGlDQUFpQyxJQUFJLE9BQU8saUNBQWlDLEtBQUssUUFBUSxFQUFFLENBQUM7Z0NBQy9GLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsQ0FBQzs0QkFDOUMsQ0FBQzs0QkFDRCxPQUFPLEdBQUcsQ0FBQzt3QkFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUwsc0VBQXNFO1lBQ3RFLDBEQUEwRDtRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDcEQsQ0FBQzsyRkExRFUsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNOOUMsQUFSQSxvR0FBNkQsc0hBUTVCOzs7WUFSRyxBQUFyQix3Q0FBcUIsbUNBQXVCOzs7aUZEYzlDLGlDQUFpQztjQUo3QyxTQUFTOzJCQUNFLGlDQUFpQzs7a0ZBR2hDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDYXNlVGFiIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGlzSW50ZXJuYWxVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4vdXRpbHMvcXVlcnktbWFuYWdlbWVudC51dGlscyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBwdWJsaWMgc2hvd1F1ZXJ5TGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICBpZiAodGhpcy5jb250ZXh0ID09PSBQYWxldHRlQ29udGV4dC5ERUZBVUxUKSB7XG4gICAgICAvLyBFVUktODMwMyBVc2luZyBtb2NrIGRhdGEgdW50aWwgQ0NEIGlzIHJlYWR5IHdpdGggdGhlIEFQSSBhbmQgZGF0YSBjb250cmFjdFxuICAgICAgLy8gdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gY2FzZU1lc3NhZ2VzTW9ja0RhdGE7XG5cbiAgICAgIC8vIFRPRE86IEFjdHVhbCBpbXBsZW1lbnRhdGlvbiBvbmNlIHRoZSBDQ0QgQVBJIGFuZCBkYXRhIGNvbnRyYWN0IGlzIGF2YWlsYWJsZVxuICAgICAgLy8gRWFjaCBwYXJ0aWVzIHdpbGwgaGF2ZSBhIHNlcGFyYXRlIGNvbGxlY3Rpb24gb2YgcGFydHkgbWVzc2FnZXNcbiAgICAgIC8vIEZpbmQgd2hldGhlciBxdWVyaWVzIHRhYiBpcyBhdmFpbGFibGUgaW4gdGhlIGNhc2UgZGF0YVxuICAgICAgdGhpcy5jYXNlTm90aWZpZXIuZmV0Y2hBbmRSZWZyZXNoKHRoaXMuY2FzZUlkKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZT8udGFicykge1xuICAgICAgICAgICAgICB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSAoY2FzZURldGFpbHMudGFicyBhcyBDYXNlVGFiW10pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB0YWIuZmllbGRzPy5zb21lKFxuICAgICAgICAgICAgICAgICAgKGNhc2VGaWVsZCkgPT4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBvbmVudExhdW5jaGVyJyAmJiBjYXNlRmllbGQuaWQgPT09IHRoaXMuY2FzZUZpZWxkLmlkKSlcbiAgICAgICAgICAgICAgICBbMF0uZmllbGRzPy5yZWR1Y2UoKGFjYywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJ0aWVzIGFuZCB0aGVpciBjYXNlIHF1ZXJpZXMgY29sbGVjdGlvbnNcbiAgICAgIC8vIFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnkocXVlcnkpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBwdWJsaWMgYmFja1RvUXVlcnlMaXN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSB0cnVlO1xuICAgIHRoaXMucXVlcnkgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGlzSW50ZXJuYWxVc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ludGVybmFsVXNlcih0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UXVlcnlMaXN0OyBlbHNlIHNpbmdsZVF1ZXJ5RGV0YWlsc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXNlUXVlcmllc0NvbGxlY3Rpb24gb2YgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93UXVlcnlMaXN0XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtOCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOFwiPlxuICAgICAgPGNjZC1xdWVyeS1saXN0IChzZWxlY3RlZFF1ZXJ5KT1cInNldFF1ZXJ5KCRldmVudClcIiBbY2FzZVF1ZXJpZXNDb2xsZWN0aW9uXT1cImNhc2VRdWVyaWVzQ29sbGVjdGlvblwiPjwvY2NkLXF1ZXJ5LWxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlUXVlcnlEZXRhaWxzPlxuICA8Y2NkLXF1ZXJ5LWRldGFpbHNcbiAgICBbcXVlcnldPVwicXVlcnlcIlxuICAgIChiYWNrQ2xpY2tlZCk9XCJzaG93UXVlcnlMaXN0ID0gdHJ1ZVwiXG4gICAgW2Nhc2VJZF09XCJjYXNlSWRcIlxuICA+PC9jY2QtcXVlcnktZGV0YWlscz5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzSW50ZXJuYWxVc2VyKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPiAwICYmIHF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoICUgMiA9PT0gMTsgZWxzZSBxdWVyeUlzSW5SZXZpZXdcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhc2stZm9sbG93LXVwLXF1ZXN0aW9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICc0JywgcXVlcnkuaWRdXCI+XG4gICAgICAgIHt7ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcXVlcnlJc0luUmV2aWV3PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyAnWW91ciBxdWVyeSBpcyB1bmRlciByZXZpZXcnIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cD57eyAnT3VyIHRlYW0gd2lsbCByZWFkIHlvdXIgcXVlcnkgYW5kIHdpbGwgcmVzcG9uZC4gRG8gbm90IHN1Ym1pdCB0aGUgc2FtZSBxdWVyeSBtb3JlIHRoYW4gb25jZS4nIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7OztJQ05sRSxBQURGLDhCQUFnRix3QkFDcUI7SUFBbkYsMFBBQWlCLHVCQUFnQixLQUFDO0lBQ3BELEFBRHFHLGlCQUFpQixFQUNoSDs7O0lBRCtDLGNBQStDO0lBQS9DLGdFQUErQzs7O0lBRnRHLDZCQUEyRTtJQUN6RSxnSEFBZ0Y7Ozs7SUFB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QUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDcEQsQ0FBQzsyRkExRFUsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7WUNOOUMsQUFSQSxvR0FBNkQsc0hBUTVCOzs7WUFSRyxBQUFyQix3Q0FBcUIsbUNBQXVCOzs7aUZEYzlDLGlDQUFpQztjQUo3QyxTQUFTOzJCQUNFLGlDQUFpQzs7a0ZBR2hDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDYXNlVGFiIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGlzSW50ZXJuYWxVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBhbGV0dGVDb250ZXh0IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9wYWxldHRlLWNvbnRleHQuZW51bSc7XG5pbXBvcnQgeyBDYXNlUXVlcmllc0NvbGxlY3Rpb24sIFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBRdWVyeU1hbmFnZW1lbnRVdGlscyB9IGZyb20gJy4vdXRpbHMvcXVlcnktbWFuYWdlbWVudC51dGlscyc7XG5pbXBvcnQgeyBDYXNlTm90aWZpZXIgfSBmcm9tICcuLi8uLi9jYXNlLWVkaXRvci9zZXJ2aWNlcy9jYXNlLm5vdGlmaWVyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLXF1ZXJ5LW1hbmFnZW1lbnQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1xdWVyeS1tYW5hZ2VtZW50LWZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkUXVlcnlNYW5hZ2VtZW50RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBwdWJsaWMgc2hvd1F1ZXJ5TGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZU5vdGlmaWVyOiBDYXNlTm90aWZpZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICBpZiAodGhpcy5jb250ZXh0ID09PSBQYWxldHRlQ29udGV4dC5ERUZBVUxUKSB7XG4gICAgICAvLyBFVUktODMwMyBVc2luZyBtb2NrIGRhdGEgdW50aWwgQ0NEIGlzIHJlYWR5IHdpdGggdGhlIEFQSSBhbmQgZGF0YSBjb250cmFjdFxuICAgICAgLy8gdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zID0gY2FzZU1lc3NhZ2VzTW9ja0RhdGE7XG5cbiAgICAgIC8vIFRPRE86IEFjdHVhbCBpbXBsZW1lbnRhdGlvbiBvbmNlIHRoZSBDQ0QgQVBJIGFuZCBkYXRhIGNvbnRyYWN0IGlzIGF2YWlsYWJsZVxuICAgICAgLy8gRWFjaCBwYXJ0aWVzIHdpbGwgaGF2ZSBhIHNlcGFyYXRlIGNvbGxlY3Rpb24gb2YgcGFydHkgbWVzc2FnZXNcbiAgICAgIC8vIEZpbmQgd2hldGhlciBxdWVyaWVzIHRhYiBpcyBhdmFpbGFibGUgaW4gdGhlIGNhc2UgZGF0YVxuICAgICAgdGhpcy5jYXNlTm90aWZpZXIuZmV0Y2hBbmRSZWZyZXNoKHRoaXMuY2FzZUlkKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuY2FzZT8udGFicykge1xuICAgICAgICAgICAgICB0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnMgPSAoY2FzZURldGFpbHMudGFicyBhcyBDYXNlVGFiW10pXG4gICAgICAgICAgICAgICAgLmZpbHRlcigodGFiKSA9PiB0YWIuZmllbGRzPy5zb21lKFxuICAgICAgICAgICAgICAgICAgKGNhc2VGaWVsZCkgPT4gY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBvbmVudExhdW5jaGVyJyAmJiBjYXNlRmllbGQuaWQgPT09IHRoaXMuY2FzZUZpZWxkLmlkKSlcbiAgICAgICAgICAgICAgICBbMF0uZmllbGRzPy5yZWR1Y2UoKGFjYywgY2FzZUZpZWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgPSBRdWVyeU1hbmFnZW1lbnRVdGlscy5leHRyYWN0Q2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKGNhc2VGaWVsZCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChleHRyYWN0ZWRDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQgJiYgdHlwZW9mIGV4dHJhY3RlZENhc2VRdWVyaWVzRnJvbUNhc2VGaWVsZCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goZXh0cmFjdGVkQ2FzZVF1ZXJpZXNGcm9tQ2FzZUZpZWxkKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGlzdCBvZiBwYXJ0aWVzIGFuZCB0aGVpciBjYXNlIHF1ZXJpZXMgY29sbGVjdGlvbnNcbiAgICAgIC8vIFF1ZXJ5TWFuYWdlbWVudFV0aWxzLmV4dHJhY3RDYXNlUXVlcmllc0Zyb21DYXNlRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UXVlcnkocXVlcnkpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBwdWJsaWMgYmFja1RvUXVlcnlMaXN0UGFnZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dRdWVyeUxpc3QgPSB0cnVlO1xuICAgIHRoaXMucXVlcnkgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGlzSW50ZXJuYWxVc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ludGVybmFsVXNlcih0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UXVlcnlMaXN0OyBlbHNlIHNpbmdsZVF1ZXJ5RGV0YWlsc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXNlUXVlcmllc0NvbGxlY3Rpb24gb2YgY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93UXVlcnlMaXN0XCIgY2xhc3M9XCJnb3Z1ay0hLW1hcmdpbi10b3AtOCBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tOFwiPlxuICAgICAgPGNjZC1xdWVyeS1saXN0IChzZWxlY3RlZFF1ZXJ5KT1cInNldFF1ZXJ5KCRldmVudClcIiBbY2FzZVF1ZXJpZXNDb2xsZWN0aW9uXT1cImNhc2VRdWVyaWVzQ29sbGVjdGlvblwiPjwvY2NkLXF1ZXJ5LWxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc2luZ2xlUXVlcnlEZXRhaWxzPlxuICA8Y2NkLXF1ZXJ5LWRldGFpbHNcbiAgICBbcXVlcnldPVwicXVlcnlcIlxuICAgIChiYWNrQ2xpY2tlZCk9XCJzaG93UXVlcnlMaXN0ID0gdHJ1ZVwiXG4gICAgW2Nhc2VJZF09XCJjYXNlSWRcIlxuICA+PC9jY2QtcXVlcnktZGV0YWlscz5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzSW50ZXJuYWxVc2VyKClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnk/LmNoaWxkcmVuPy5sZW5ndGggPiAwICYmIHF1ZXJ5Py5jaGlsZHJlbj8ubGVuZ3RoICUgMiA9PT0gMTsgZWxzZSBxdWVyeUlzSW5SZXZpZXdcIj5cbiAgICAgIDxidXR0b24gaWQ9XCJhc2stZm9sbG93LXVwLXF1ZXN0aW9uXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnL3F1ZXJ5LW1hbmFnZW1lbnQnLCAncXVlcnknLCBjYXNlSWQsICc0JywgcXVlcnkuaWRdXCI+XG4gICAgICAgIHt7ICdBc2sgYSBmb2xsb3ctdXAgcXVlc3Rpb24nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjcXVlcnlJc0luUmV2aWV3PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyAnWW91ciBxdWVyeSBpcyB1bmRlciByZXZpZXcnIHwgcnB4VHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cD57eyAnT3VyIHRlYW0gd2lsbCByZWFkIHlvdXIgcXVlcnkgYW5kIHJlc3BvbmQuIERvIG5vdCBzdWJtaXQgdGhlIHNhbWUgcXVlcnkgbW9yZSB0aGFuIG9uY2UuJyB8IHJweFRyYW5zbGF0ZSB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==