@reusa/ngx-reusa-app-lib 0.0.1351 → 0.0.1352

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.
@@ -25,7 +25,7 @@ function MultiQuestionnaireComponent_1_Template(rf, ctx) { if (rf & 1) {
25
25
  function MultiQuestionnaireComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
26
26
  const _r12 = i0.ɵɵgetCurrentView();
27
27
  i0.ɵɵelementStart(0, "div")(1, "app-questionnaire", 5, 6);
28
- i0.ɵɵlistener("modelCancel", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_modelCancel_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); })("onComplete", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onComplete_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.complete($event)); });
28
+ i0.ɵɵlistener("modelCancel", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_modelCancel_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); })("onComplete", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onComplete_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.complete($event)); })("onError", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onError_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.handleError($event)); });
29
29
  i0.ɵɵelementEnd()();
30
30
  } if (rf & 2) {
31
31
  const model_r7 = ctx.$implicit;
@@ -44,7 +44,7 @@ function MultiQuestionnaireComponent_div_2_Template(rf, ctx) { if (rf & 1) {
44
44
  i0.ɵɵproperty("ngForOf", ctx_r1.qeQueryModels);
45
45
  } }
46
46
  function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
47
- const _r15 = i0.ɵɵgetCurrentView();
47
+ const _r16 = i0.ɵɵgetCurrentView();
48
48
  i0.ɵɵelementStart(0, "div")(1, "div", 7);
49
49
  i0.ɵɵelement(2, "ion-icon", 8);
50
50
  i0.ɵɵelementStart(3, "h1");
@@ -52,7 +52,7 @@ function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
52
52
  i0.ɵɵpipe(5, "translate");
53
53
  i0.ɵɵelementEnd()();
54
54
  i0.ɵɵelementStart(6, "ion-row", 9)(7, "ion-col", 10)(8, "ion-button", 11);
55
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_3_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.close()); });
55
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_3_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.close()); });
56
56
  i0.ɵɵtext(9);
57
57
  i0.ɵɵpipe(10, "translate");
58
58
  i0.ɵɵelementEnd()()()();
@@ -63,14 +63,14 @@ function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
63
63
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 4, "Close"));
64
64
  } }
65
65
  function MultiQuestionnaireComponent_div_4_Template(rf, ctx) { if (rf & 1) {
66
- const _r17 = i0.ɵɵgetCurrentView();
66
+ const _r18 = i0.ɵɵgetCurrentView();
67
67
  i0.ɵɵelementStart(0, "div")(1, "div", 7);
68
68
  i0.ɵɵelement(2, "ion-icon", 12);
69
69
  i0.ɵɵelementStart(3, "h1");
70
70
  i0.ɵɵtext(4);
71
71
  i0.ɵɵelementEnd()();
72
72
  i0.ɵɵelementStart(5, "ion-row", 9)(6, "ion-col", 10)(7, "ion-button", 11);
73
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.close()); });
73
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.close()); });
74
74
  i0.ɵɵtext(8);
75
75
  i0.ɵɵpipe(9, "translate");
76
76
  i0.ɵɵelementEnd()()()();
@@ -82,9 +82,9 @@ function MultiQuestionnaireComponent_div_4_Template(rf, ctx) { if (rf & 1) {
82
82
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 2, "Close"));
83
83
  } }
84
84
  function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template(rf, ctx) { if (rf & 1) {
85
- const _r20 = i0.ɵɵgetCurrentView();
85
+ const _r21 = i0.ɵɵgetCurrentView();
86
86
  i0.ɵɵelementStart(0, "ion-button", 11);
87
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.close()); });
87
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.close()); });
88
88
  i0.ɵɵtext(1);
89
89
  i0.ɵɵpipe(2, "translate");
90
90
  i0.ɵɵelementEnd();
@@ -93,11 +93,11 @@ function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template(rf, ctx) {
93
93
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Close"));
94
94
  } }
95
95
  function MultiQuestionnaireComponent_p_footer_5_Template(rf, ctx) { if (rf & 1) {
96
- const _r22 = i0.ɵɵgetCurrentView();
96
+ const _r23 = i0.ɵɵgetCurrentView();
97
97
  i0.ɵɵelementStart(0, "p-footer")(1, "ion-row")(2, "ion-col", 10);
98
98
  i0.ɵɵtemplate(3, MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template, 3, 3, "ion-button", 13);
99
99
  i0.ɵɵelementStart(4, "ion-button", 14);
100
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.submit()); });
100
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.submit()); });
101
101
  i0.ɵɵtext(5);
102
102
  i0.ɵɵpipe(6, "translate");
103
103
  i0.ɵɵelementEnd()()()();
@@ -242,6 +242,9 @@ export class MultiQuestionnaireComponent {
242
242
  }
243
243
  }
244
244
  handleError(error) {
245
+ if (error?.errorCode == '422') {
246
+ this.errorText = error.msg[0];
247
+ }
245
248
  this.showError = true;
246
249
  }
247
250
  close() {
@@ -291,7 +294,7 @@ export class MultiQuestionnaireComponent {
291
294
  } if (rf & 2) {
292
295
  let _t;
293
296
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fbs = _t);
294
- } }, inputs: { qeQueryModels: "qeQueryModels", showClose: "showClose", autoSave: "autoSave", formData: "formData", readonly: "readonly", header: "header", showQuestionNumber: "showQuestionNumber" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete" }, decls: 6, vars: 12, consts: [["appendTo", "body", "modal", "true", 3, "visible", "breakpoints", "showHeader"], [4, "ngIf"], ["pTemplate", "header"], [1, "fb-heading"], [4, "ngFor", "ngForOf"], [2, "display", "contents", 3, "queryModel", "hideHeader", "autoSave", "pageType", "hideFooter", "dynamicParam", "formData", "readonly", "multiMode", "questionNumber", "modelCancel", "onComplete"], ["fbs", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-padding"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click", 4, "ngIf"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function MultiQuestionnaireComponent_Template(rf, ctx) { if (rf & 1) {
297
+ } }, inputs: { qeQueryModels: "qeQueryModels", showClose: "showClose", autoSave: "autoSave", formData: "formData", readonly: "readonly", header: "header", showQuestionNumber: "showQuestionNumber" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete" }, decls: 6, vars: 12, consts: [["appendTo", "body", "modal", "true", 3, "visible", "breakpoints", "showHeader"], [4, "ngIf"], ["pTemplate", "header"], [1, "fb-heading"], [4, "ngFor", "ngForOf"], [2, "display", "contents", 3, "queryModel", "hideHeader", "autoSave", "pageType", "hideFooter", "dynamicParam", "formData", "readonly", "multiMode", "questionNumber", "modelCancel", "onComplete", "onError"], ["fbs", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-padding"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click", 4, "ngIf"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function MultiQuestionnaireComponent_Template(rf, ctx) { if (rf & 1) {
295
298
  i0.ɵɵelementStart(0, "p-dialog", 0);
296
299
  i0.ɵɵtemplate(1, MultiQuestionnaireComponent_1_Template, 1, 0, null, 1)(2, MultiQuestionnaireComponent_div_2_Template, 2, 1, "div", 1)(3, MultiQuestionnaireComponent_div_3_Template, 11, 6, "div", 1)(4, MultiQuestionnaireComponent_div_4_Template, 10, 4, "div", 1)(5, MultiQuestionnaireComponent_p_footer_5_Template, 7, 4, "p-footer", 1);
297
300
  i0.ɵɵelementEnd();
@@ -312,7 +315,7 @@ export class MultiQuestionnaireComponent {
312
315
  }
313
316
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiQuestionnaireComponent, [{
314
317
  type: Component,
315
- args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'Could not save response. Please try again.'}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
318
+ args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\" (onError)=\"handleError($event)\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'Could not save response. Please try again.'}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
316
319
  }], () => [{ type: i1.QuestionnaireService }, { type: i2.LoggerService }], { fbs: [{
317
320
  type: ViewChildren,
318
321
  args: ['fbs']
@@ -336,4 +339,4 @@ export class MultiQuestionnaireComponent {
336
339
  type: Input
337
340
  }] }); })();
338
341
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiQuestionnaireComponent, { className: "MultiQuestionnaireComponent", filePath: "lib\\components\\questionnaire\\multi-questionnaire\\multi-questionnaire.component.ts", lineNumber: 14 }); })();
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztJQ0c3QiwrQkFBeUI7SUFBQSxZQUFVO0lBQUEsaUJBQU87OztJQUFqQixlQUFVO0lBQVYsbUNBQVU7OztJQUR2Qyw4RkFFYzs7OztJQUdWLDJCQUF3RSw4QkFBQTtJQUNqQix3TUFBZSxlQUFBLGVBQU8sQ0FBQSxJQUFDLCtMQUN2QyxlQUFBLHdCQUFnQixDQUFBLElBRHVCO0lBRTBILGlCQUFvQixFQUFBOzs7OztJQUR4TixlQUFvQjtJQUFwQixxQ0FBb0Isb0JBQUEsbUhBQUEsa0JBQUEsb0JBQUEsdUNBQUEsK0RBQUEsNkJBQUEsbUJBQUEsK0RBQUE7OztJQUg1QiwyQkFBMkI7SUFDdkIsbUZBSU07SUFDVixpQkFBTTs7O0lBTHFCLGVBQWtCO0lBQWxCLDhDQUFrQjs7OztJQU83QywyQkFBMEIsYUFBQTtJQUVsQiw4QkFBcUc7SUFDckcsMEJBQUk7SUFBQSxZQUE4Qzs7SUFBQSxpQkFB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QUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7NEZBL01VLDJCQUEyQjtvRUFBM0IsMkJBQTJCOzs7Ozs7WUNiMUMsbUNBQ29IO1lBRWhILHVFQUVjLCtEQUFBLGdFQUFBLGdFQUFBLHlFQUFBO1lBeUNsQixpQkFBVzs7WUE3Q1AsMENBQTZDO1lBRHZDLHVDQUFxQiw0Q0FBQSw2REFBQTtZQUdNLGVBQVk7WUFBWixpQ0FBWTtZQUl2QyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFRbkIsZUFBa0I7WUFBbEIsdUNBQWtCO1lBWWxCLGVBQWU7WUFBZixvQ0FBZTtZQVdWLGVBQW1CO1lBQW5CLHdDQUFtQjs7O2lGRHpCbkIsMkJBQTJCO2NBTHpDLFNBQVM7MkJBQ0kseUJBQXlCO2lGQU1kLEdBQUc7a0JBQXZCLFlBQVk7bUJBQUMsS0FBSztZQUVWLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFSyxXQUFXO2tCQUFyQixNQUFNO1lBRUcsVUFBVTtrQkFBbkIsTUFBTTtZQUVFLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7O2tGQXBCSywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsXCI7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVTYXZlTW9kZWxcIjtcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJlbmRlclF1ZXN0aW9ubmFpcmVQYWdlIH0gZnJvbSBcIi4uL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbXVsdGktcXVlc3Rpb25uYWlyZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnNjc3MnXVxuICB9KVxuICBleHBvcnQgY2xhc3MgTXVsdGlRdWVzdGlvbm5haXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gICAgQFZpZXdDaGlsZHJlbignZmJzJykgZmJzOiBRdWVyeUxpc3Q8UmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2U+O1xuICBcbiAgICBASW5wdXQoKSBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcbiAgXG4gICAgQElucHV0KCkgc2hvd0Nsb3NlIDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAgIEBJbnB1dCgpIGF1dG9TYXZlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgICBASW5wdXQoKSBmb3JtRGF0YTogYW55O1xuICBcbiAgICBAT3V0cHV0KCkgIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBcbiAgICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IEJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2hvd1F1ZXN0aW9uTnVtYmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBlcnJvclRleHQgOiBzdHJpbmc7XG4gIFxuICAgIHFlRGF0YXMgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsW10gPSBbXTtcbiAgXG4gICAgaXNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAgIHNob3dSZXNwb25zZSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gICAgc2hvd0Vycm9yIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgICBkeW5hbWljUGFyYW06YW55O1xuXG4gICAgcWVSZXNwb25zZSA6IE1hcDxudW1iZXIsIGFueT4gPSBuZXcgTWFwKCk7XG5cbiAgICBxZVJlc3BvbnNlU2F2ZU1vZGVsIDogTWFwPG51bWJlciwgUXVlc3Rpb25uYWlyZVNhdmVNb2RlbD4gPSBuZXcgTWFwKCk7XG5cbiAgICBxSWQgOiBhbnk7XG5cbiAgICBjb3VudDogbnVtYmVyID0gMDtcbiAgIFxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZSA6IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlLCBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7IFxuXG4gICAgIFxuICAgIH1cbiAgXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgfVxuICBcbiAgICBzdWJtaXQoKXtcbiAgICAgIHRoaXMuZmJzLmZvckVhY2goZmIgPT4ge1xuICAgICAgICBmYi5zdWJtaXQoKVxuICAgICAgfSk7XG4gICAgICBcbiAgICB9XG4gIFxuICAgIGNvbXBsZXRlKGV2ZW50IDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCl7XG4gICAgICB0aGlzLmNvdW50ID0gdGhpcy5jb3VudCArIDE7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNvbXBsZXRlZCBldmVudCBpbiBtdWx0aSBjYWxsZWQuLi5cIik7XG4gICAgICBpZih0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCkgfHwgdGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLmdldChldmVudC5xdWVzdGlvbm5haXJlSWRzWzBdKSl7XG4gICAgICAgIHRoaXMucUlkID0gZXZlbnQucG90ZW50aWFsSXNzdWVJZDtcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmVBcnJheVJlc3BvbnNlTW9kZWwgPSB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF0pO1xuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVJlc3BvbnNlTW9kZWwgPSB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCk7XG4gICAgICAgIGlmKHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsKXtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2V0KHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsLnBvdGVudGlhbElzc3VlSWQsIHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsKTtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZGVsZXRlKGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCk7ICBcbiAgICAgICAgfSBlbHNle1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5zZXQocXVlc3Rpb25uYWlyZUFycmF5UmVzcG9uc2VNb2RlbC5wb3RlbnRpYWxJc3N1ZUlkLCBxdWVzdGlvbm5haXJlQXJyYXlSZXNwb25zZU1vZGVsKTtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZGVsZXRlKGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2V7XG4gICAgICAgIHRoaXMucUlkID0gZXZlbnQucXVlc3Rpb25uYWlyZUlkIHx8IGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF07XG4gICAgICB9XG4gICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2V0KHRoaXMucUlkLCBldmVudCk7XG4gICAgICBpZihldmVudC5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpe1xuICAgICAgICB0aGlzLnFlUmVzcG9uc2Uuc2V0KHRoaXMucUlkLCBKU09OLnBhcnNlKGV2ZW50LnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UoZXZlbnQuZGF0YSkpO1xuICAgICAgfVxuICAgICAgaWYodGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLnNpemUgPT0gdGhpcy5mYnMubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5xZURhdGFzID0gW107XG4gICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5mb3JFYWNoKHIgPT4gdGhpcy5xZURhdGFzLnB1c2gocikpO1xuICAgICAgICBsZXQgc2NyZWVuUXVlc3Rpb25uYWlyZSA9IHRoaXMucWVEYXRhcy5maWx0ZXIocSA9PiBxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSA9PT0gdHJ1ZSk7XG4gICAgICAgIGxldCBxdWVzdGlvbm5haXJlID0gdGhpcy5xZURhdGFzLmZpbHRlcihxID0+IHEuaXNTY3JlZW5RdWVzdGlvbm5haXJlICE9IHRydWUpO1xuICAgICAgICBsZXQgaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSA9IHNjcmVlblF1ZXN0aW9ubmFpcmUubGVuZ3RoID4gMDtcbiAgICAgICAgbGV0IGhhc1F1ZXN0aW9ubmFpcmUgPSBxdWVzdGlvbm5haXJlLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgaWYoaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSAmJiBoYXNRdWVzdGlvbm5haXJlKXtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuY2hlY2tBbmRTYXZlQWxsUXVlc3Rpb25uYWlyZXMocXVlc3Rpb25uYWlyZSkpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93UmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gZXJyLm1zZ1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYoaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSkge1xuICAgICAgICAgIGlmKHRoaXMuYXV0b1NhdmUpe1xuICAgICAgICAgICAgLy9DYWxscyB0aGUgYmFja2VuZCBzYXZlIHNlcnZpY2UgZW5kcG9pbnQgYW5kIHN0b3JlcyB0aGUgZGF0YSwgRXhhbXBsZTogRFVBXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmVOZXcoc2NyZWVuUXVlc3Rpb25uYWlyZSkpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXNwID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgc2NyZWVuIHFlJyxyZXNwKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgaWYoZXJyPy5lcnJvckNvZGUgPT0gJzQyMicpe1xuICAgICAgICAgICAgICB0aGlzLmVycm9yVGV4dCA9IGVyci5tc2dbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgLy9ObyBkaXJlY3Qgc2F2aW5nIHRvIGRiLCBwYXNzZXMgZGF0YSB0byBtb2RlbC4gRXhhbXBsZTogV29yayBTZWFyY2ggQWN0aXZpdGllc1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmKGhhc1F1ZXN0aW9ubmFpcmUpIHtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgaWYoZXJyPy5lcnJvckNvZGUgPT0gJzQyMicpe1xuICAgICAgICAgICAgICB0aGlzLmVycm9yVGV4dCA9IGVyci5tc2dbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmVOZXcoc2NyZWVuUXVlc3Rpb25uYWlyZSA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNhdmUgc2NyZWVuUXVlc3Rpb25uYWlyZSA6IFwiLCBzY3JlZW5RdWVzdGlvbm5haXJlKTtcbiAgICAgIGxldCBzdWJzY3JpcHRpb25zID0gW107XG4gICAgICBzY3JlZW5RdWVzdGlvbm5haXJlLmZvckVhY2ggKHEgPT4ge1xuICAgICAgICBpZih0aGlzLmF1dG9TYXZlKXtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncWUgZGF0YSBpcyA6ICcsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpXG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25zO1xuICAgIH1cblxuICAgIHNhdmVTY3JlZW5RdWVzdGlvbm5haXJlKHFlU2NyZWVuRGF0YTogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NhdmVTY3JlZW5RdWVzdGlvbm5haXJlID0gJywgcWVTY3JlZW5EYXRhKTtcbiAgICAgIGlmKHRoaXMuYXV0b1NhdmUpe1xuICAgICAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnNhdmVTY3JlZW5RdWVzdGlvbm5haXJlKHFlU2NyZWVuRGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NhdmUgc2NyZWVuIHFlIHJlc3BvbnNlID0gJyxyZXMpO1xuICAgICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBlcnIubXNnWzBdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICB9XG4gIFxuICAgIGNsb3NlKCl7XG4gICAgICB0aGlzLm1vZGVsQ2FuY2VsLmVtaXQoKTtcbiAgICB9XG4gIFxuICAgIGNoZWNrQW5kU2F2ZUFsbFF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmVzIDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFtdKXtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic2F2ZSBxdWVzdGlvbm5haXJlcyA6IFwiLCBxdWVzdGlvbm5haXJlcyk7XG4gICAgICBsZXQgc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgICAgcXVlc3Rpb25uYWlyZXMuZm9yRWFjaCAocSA9PiB7IFxuICAgICAgICAvL3RoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSlcbiAgICAgICAgaWYocS5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpe1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxZSBkYXRhIGZvciBzY3JlZW4gaXMgOiAnLCBKU09OLnBhcnNlKHEuZGF0YSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3FlIGRhdGEgaXMgOiAnLCBKU09OLnBhcnNlKHEuZGF0YSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYocS5hdXRvU2F2ZSAmJiBxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSl7XG4gICAgICAgICAgLy9zYXZlIGRhdGEgaW50byBzY3JlZW4gc3BlY2lmaWMgdGFibGUgLSB1c2Ugc2F2ZSBtZXRob2QgZm9yIGNvZGUgdG8gZm9sbG93XG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9IGVsc2UgaWYoIXEuaXNTY3JlZW5RdWVzdGlvbm5haXJlKXsgIFxuICAgICAgICAgIC8vc2F2ZSBkYXRhIGludG8gUWUgc3BlY2lmaWMgdGFibGVzICAgICAgXG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25zO1xuICAgIH1cblxuICAgIHNhdmVRdWVzdGlvbm5haXJlcyhxdWVzdGlvbm5haXJlcyA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNhdmUgcXVlc3Rpb25uYWlyZXMgOiBcIiwgcXVlc3Rpb25uYWlyZXMpO1xuICAgICAgbGV0IHN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgIHF1ZXN0aW9ubmFpcmVzLmZvckVhY2ggKHEgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncWUgZGF0YSBpcyA6ICcsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSlcbiAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9ucztcbiAgICB9XG4gIFxuICAgIGNsb3NlQWZ0ZXJTdWNjZXNzKCl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnY2xvc2UgYWZ0ZXIgc3VjY2VzcyBjYWxsZWQnKTtcbiAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRoaXMucWVSZXNwb25zZSk7XG4gICAgfVxuICBcbiAgfSIsIjxwLWRpYWxvZyBbdmlzaWJsZV09XCJpc1Zpc2libGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiXHJcbiAgICBbc3R5bGVdPVwie3dpZHRoOiAnNDV2dycsIGhlaWdodCA6ICdpbmhlcml0J31cIiBtb2RhbD1cInRydWVcIiBbc2hvd0hlYWRlcl09XCJoZWFkZXIgIT0gbnVsbCAmJiBoZWFkZXIgIT0gdW5kZWZpbmVkXCI+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiAqbmdJZj1cImhlYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmItaGVhZGluZ1wiPnt7aGVhZGVyfX08L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dSZXNwb25zZVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1vZGVsIG9mIHFlUXVlcnlNb2RlbHM7IGxldCBpc0xhc3QgPSBsYXN0OyBpbmRleCBhcyBpXCI+XHJcbiAgICAgICAgICAgIDxhcHAtcXVlc3Rpb25uYWlyZSAjZmJzIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCIgKG1vZGVsQ2FuY2VsKT1cImNsb3NlKClcIiBcclxuICAgICAgICAgICAgW3F1ZXJ5TW9kZWxdPVwibW9kZWxcIiAob25Db21wbGV0ZSk9XCJjb21wbGV0ZSgkZXZlbnQpXCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiIFthdXRvU2F2ZV09XCJhdXRvU2F2ZSA/IChtb2RlbC5hdXRvU2F2ZSA9PSB0cnVlID8gdHJ1ZSA6IGZhbHNlKSA6IChtb2RlbC5hdXRvU2F2ZSA9PSB0cnVlID8gdHJ1ZSA6IGZhbHNlKVwiIFtwYWdlVHlwZV09XCJudWxsXCJcclxuICAgICAgICAgICAgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFtkeW5hbWljUGFyYW1dPVwibW9kZWwuZHluYW1pY1BhcmFtXCIgW2Zvcm1EYXRhXT1cImZvcm1EYXRhID8gZm9ybURhdGEgOiBtb2RlbC5kYXRhXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW211bHRpTW9kZV09XCJ0cnVlXCIgW3F1ZXN0aW9uTnVtYmVyXT1cInNob3dRdWVzdGlvbk51bWJlciA/IChpKzEpIDogbnVsbFwiPjwvYXBwLXF1ZXN0aW9ubmFpcmU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1Jlc3BvbnNlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgc3R5bGU9XCJmb250LXNpemU6IDgwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JlZW4pO1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxoMT57eydSZXNwb25zZSBzYXZlZCBzdWNjZXNzZnVsbHkuJyB8IHRyYW5zbGF0ZX19PC9oMT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCI+e3snQ2xvc2UnIHwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1jaXJjbGUtb3V0bGluZVwiIHN0eWxlPVwiZm9udC1zaXplOiA4MHB4OyBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgPGgxPnt7ZXJyb3JUZXh0ID8gZXJyb3JUZXh0IDogJ0NvdWxkIG5vdCBzYXZlIHJlc3BvbnNlLiBQbGVhc2UgdHJ5IGFnYWluLid9fTwvaDE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJyZXNldFwiPnt7J0Nsb3NlJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8cC1mb290ZXIgKm5nSWY9XCIhc2hvd1Jlc3BvbnNlXCI+XHJcbiAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCIgKm5nSWY9XCJzaG93Q2xvc2VcIj57eydDbG9zZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwic29saWRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCI+e3snU3VibWl0JyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9wLWZvb3Rlcj5cclxuPC9wLWRpYWxvZz4iXX0=
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztJQ0c3QiwrQkFBeUI7SUFBQSxZQUFVO0lBQUEsaUJBQU87OztJQUFqQixlQUFVO0lBQVYsbUNBQVU7OztJQUR2Qyw4RkFFYzs7OztJQUdWLDJCQUF3RSw4QkFBQTtJQUNqQix3TUFBZSxlQUFBLGVBQU8sQ0FBQSxJQUFDLCtMQUN2QyxlQUFBLHdCQUFnQixDQUFBLElBRHVCLHlMQUVxSSxlQUFBLDJCQUFtQixDQUFBLElBRnhKO0lBRTBKLGlCQUFvQixFQUFBOzs7OztJQUR4UCxlQUFvQjtJQUFwQixxQ0FBb0Isb0JBQUEsbUhBQUEsa0JBQUEsb0JBQUEsdUNBQUEsK0RBQUEsNkJBQUEsbUJBQUEsK0RBQUE7OztJQUg1QiwyQkFBMkI7SUFDdkIsbUZBSU07SUFDVixpQkFBTTs7O0lBTHFCLGVBQWtCO0lBQWxCLDhDQUFrQjs7OztJQU83QywyQkFBMEIsYUFBQTtJQUVsQiw4QkFBcUc7SUFD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SSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs0RkFuTlUsMkJBQTJCO29FQUEzQiwyQkFBMkI7Ozs7OztZQ2IxQyxtQ0FDb0g7WUFFaEgsdUVBRWMsK0RBQUEsZ0VBQUEsZ0VBQUEseUVBQUE7WUF5Q2xCLGlCQUFXOztZQTdDUCwwQ0FBNkM7WUFEdkMsdUNBQXFCLDRDQUFBLDZEQUFBO1lBR00sZUFBWTtZQUFaLGlDQUFZO1lBSXZDLGVBQW1CO1lBQW5CLHdDQUFtQjtZQVFuQixlQUFrQjtZQUFsQix1Q0FBa0I7WUFZbEIsZUFBZTtZQUFmLG9DQUFlO1lBV1YsZUFBbUI7WUFBbkIsd0NBQW1COzs7aUZEekJuQiwyQkFBMkI7Y0FMekMsU0FBUzsyQkFDSSx5QkFBeUI7aUZBTWQsR0FBRztrQkFBdkIsWUFBWTttQkFBQyxLQUFLO1lBRVYsYUFBYTtrQkFBckIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVLLFdBQVc7a0JBQXJCLE1BQU07WUFFRyxVQUFVO2tCQUFuQixNQUFNO1lBRUUsUUFBUTtrQkFBaEIsS0FBSztZQUVHLE1BQU07a0JBQWQsS0FBSztZQUVHLGtCQUFrQjtrQkFBMUIsS0FBSzs7a0ZBcEJLLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxcIjtcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFwiO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgUmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2UgfSBmcm9tIFwiLi4vcmVuZGVyLXF1ZXN0aW9ubmFpcmUvcmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuc2NzcyddXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBNdWx0aVF1ZXN0aW9ubmFpcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBcbiAgICBAVmlld0NoaWxkcmVuKCdmYnMnKSBmYnM6IFF1ZXJ5TGlzdDxSZW5kZXJRdWVzdGlvbm5haXJlUGFnZT47XG4gIFxuICAgIEBJbnB1dCgpIHFlUXVlcnlNb2RlbHMgOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xuICBcbiAgICBASW5wdXQoKSBzaG93Q2xvc2UgOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gICAgQElucHV0KCkgYXV0b1NhdmUgOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAgIEBJbnB1dCgpIGZvcm1EYXRhOiBhbnk7XG4gIFxuICAgIEBPdXRwdXQoKSAgbW9kZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIFxuICAgIEBPdXRwdXQoKSBvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBcbiAgICBASW5wdXQoKSByZWFkb25seTogQm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzaG93UXVlc3Rpb25OdW1iZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGVycm9yVGV4dCA6IHN0cmluZztcbiAgXG4gICAgcWVEYXRhcyA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSA9IFtdO1xuICBcbiAgICBpc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcbiAgXG4gICAgc2hvd1Jlc3BvbnNlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgICBzaG93RXJyb3IgOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICAgIGR5bmFtaWNQYXJhbTphbnk7XG5cbiAgICBxZVJlc3BvbnNlIDogTWFwPG51bWJlciwgYW55PiA9IG5ldyBNYXAoKTtcblxuICAgIHFlUmVzcG9uc2VTYXZlTW9kZWwgOiBNYXA8bnVtYmVyLCBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsPiA9IG5ldyBNYXAoKTtcblxuICAgIHFJZCA6IGFueTtcblxuICAgIGNvdW50OiBudW1iZXIgPSAwO1xuICAgXG4gICAgY29uc3RydWN0b3IocHVibGljIHF1ZXN0aW9ubmFpcmVTZXJ2aWNlIDogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHsgXG5cbiAgICAgXG4gICAgfVxuICBcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB9XG4gIFxuICAgIHN1Ym1pdCgpe1xuICAgICAgdGhpcy5mYnMuZm9yRWFjaChmYiA9PiB7XG4gICAgICAgIGZiLnN1Ym1pdCgpXG4gICAgICB9KTtcbiAgICAgIFxuICAgIH1cbiAgXG4gICAgY29tcGxldGUoZXZlbnQgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsKXtcbiAgICAgIHRoaXMuY291bnQgPSB0aGlzLmNvdW50ICsgMTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY29tcGxldGVkIGV2ZW50IGluIG11bHRpIGNhbGxlZC4uLlwiKTtcbiAgICAgIGlmKHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5nZXQoZXZlbnQucXVlc3Rpb25uYWlyZUlkKSB8fCB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF0pKXtcbiAgICAgICAgdGhpcy5xSWQgPSBldmVudC5wb3RlbnRpYWxJc3N1ZUlkO1xuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZUFycmF5UmVzcG9uc2VNb2RlbCA9IHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5nZXQoZXZlbnQucXVlc3Rpb25uYWlyZUlkc1swXSk7XG4gICAgICAgIGxldCBxdWVzdGlvbm5haXJlUmVzcG9uc2VNb2RlbCA9IHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5nZXQoZXZlbnQucXVlc3Rpb25uYWlyZUlkKTtcbiAgICAgICAgaWYocXVlc3Rpb25uYWlyZVJlc3BvbnNlTW9kZWwpe1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5zZXQocXVlc3Rpb25uYWlyZVJlc3BvbnNlTW9kZWwucG90ZW50aWFsSXNzdWVJZCwgcXVlc3Rpb25uYWlyZVJlc3BvbnNlTW9kZWwpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5kZWxldGUoZXZlbnQucXVlc3Rpb25uYWlyZUlkKTsgIFxuICAgICAgICB9IGVsc2V7XG4gICAgICAgICAgdGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLnNldChxdWVzdGlvbm5haXJlQXJyYXlSZXNwb25zZU1vZGVsLnBvdGVudGlhbElzc3VlSWQsIHF1ZXN0aW9ubmFpcmVBcnJheVJlc3BvbnNlTW9kZWwpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5kZWxldGUoZXZlbnQucXVlc3Rpb25uYWlyZUlkc1swXSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZXtcbiAgICAgICAgdGhpcy5xSWQgPSBldmVudC5xdWVzdGlvbm5haXJlSWQgfHwgZXZlbnQucXVlc3Rpb25uYWlyZUlkc1swXTtcbiAgICAgIH1cbiAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5zZXQodGhpcy5xSWQsIGV2ZW50KTtcbiAgICAgIGlmKGV2ZW50LmlzU2NyZWVuUXVlc3Rpb25uYWlyZSl7XG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UoZXZlbnQuc2NyZWVuUXVlc3Rpb25uYWlyZURhdGFbMF0pKTtcbiAgICAgIH1lbHNlIHtcbiAgICAgICAgdGhpcy5xZVJlc3BvbnNlLnNldCh0aGlzLnFJZCwgSlNPTi5wYXJzZShldmVudC5kYXRhKSk7XG4gICAgICB9XG4gICAgICBpZih0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2l6ZSA9PSB0aGlzLmZicy5sZW5ndGgpe1xuICAgICAgICB0aGlzLnFlRGF0YXMgPSBbXTtcbiAgICAgICAgdGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLmZvckVhY2gociA9PiB0aGlzLnFlRGF0YXMucHVzaChyKSk7XG4gICAgICAgIGxldCBzY3JlZW5RdWVzdGlvbm5haXJlID0gdGhpcy5xZURhdGFzLmZpbHRlcihxID0+IHEuaXNTY3JlZW5RdWVzdGlvbm5haXJlID09PSB0cnVlKTtcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnFlRGF0YXMuZmlsdGVyKHEgPT4gcS5pc1NjcmVlblF1ZXN0aW9ubmFpcmUgIT0gdHJ1ZSk7XG4gICAgICAgIGxldCBoYXNTY3JlZW5RdWVzdGlvbm5haXJlID0gc2NyZWVuUXVlc3Rpb25uYWlyZS5sZW5ndGggPiAwO1xuICAgICAgICBsZXQgaGFzUXVlc3Rpb25uYWlyZSA9IHF1ZXN0aW9ubmFpcmUubGVuZ3RoID4gMDtcblxuICAgICAgICBpZihoYXNTY3JlZW5RdWVzdGlvbm5haXJlICYmIGhhc1F1ZXN0aW9ubmFpcmUpe1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5jaGVja0FuZFNhdmVBbGxRdWVzdGlvbm5haXJlcyhxdWVzdGlvbm5haXJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWZ0ZXJTdWNjZXNzKCk7XG4gICAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICAgIGlmKGVycj8uZXJyb3JDb2RlID09ICc0MjInKXtcbiAgICAgICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBlcnIubXNnWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZihoYXNTY3JlZW5RdWVzdGlvbm5haXJlKSB7XG4gICAgICAgICAgaWYodGhpcy5hdXRvU2F2ZSl7XG4gICAgICAgICAgICAvL0NhbGxzIHRoZSBiYWNrZW5kIHNhdmUgc2VydmljZSBlbmRwb2ludCBhbmQgc3RvcmVzIHRoZSBkYXRhLCBFeGFtcGxlOiBEVUFcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5zYXZlU2NyZWVuUXVlc3Rpb25uYWlyZU5ldyhzY3JlZW5RdWVzdGlvbm5haXJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2luc2lkZSBzY3JlZW4gcWUnLHJlc3ApO1xuICAgICAgICAgICAgdGhpcy5zaG93UmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gZXJyLm1zZ1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNle1xuICAgICAgICAgICAvL05vIGRpcmVjdCBzYXZpbmcgdG8gZGIsIHBhc3NlcyBkYXRhIHRvIG1vZGVsLiBFeGFtcGxlOiBXb3JrIFNlYXJjaCBBY3Rpdml0aWVzXG4gICAgICAgICAgICB0aGlzLmNsb3NlQWZ0ZXJTdWNjZXNzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYoaGFzUXVlc3Rpb25uYWlyZSkge1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QodGhpcy5zYXZlUXVlc3Rpb25uYWlyZXMocXVlc3Rpb25uYWlyZSkpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93UmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gZXJyLm1zZ1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBzYXZlU2NyZWVuUXVlc3Rpb25uYWlyZU5ldyhzY3JlZW5RdWVzdGlvbm5haXJlIDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFtdKXtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic2F2ZSBzY3JlZW5RdWVzdGlvbm5haXJlIDogXCIsIHNjcmVlblF1ZXN0aW9ubmFpcmUpO1xuICAgICAgbGV0IHN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgIHNjcmVlblF1ZXN0aW9ubmFpcmUuZm9yRWFjaCAocSA9PiB7XG4gICAgICAgIGlmKHRoaXMuYXV0b1NhdmUpe1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxZSBkYXRhIGlzIDogJywgSlNPTi5wYXJzZShxLnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSk7XG4gICAgICAgICAgdGhpcy5xZVJlc3BvbnNlLnNldCh0aGlzLnFJZCwgSlNPTi5wYXJzZShxLnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSlcbiAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2godGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5zYXZlU2NyZWVuUXVlc3Rpb25uYWlyZShxKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbnM7XG4gICAgfVxuXG4gICAgc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocWVTY3JlZW5EYXRhOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUgPSAnLCBxZVNjcmVlbkRhdGEpO1xuICAgICAgaWYodGhpcy5hdXRvU2F2ZSl7XG4gICAgICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocWVTY3JlZW5EYXRhKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2F2ZSBzY3JlZW4gcWUgcmVzcG9uc2UgPSAnLHJlcyk7XG4gICAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIGlmKGVycj8uZXJyb3JDb2RlID09ICc0MjInKXtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yVGV4dCA9IGVyci5tc2dbMF07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICBoYW5kbGVFcnJvcihlcnJvcikge1xuICAgICAgaWYoZXJyb3I/LmVycm9yQ29kZSA9PSAnNDIyJylcblx0XHQgICAgICAge1xuICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBlcnJvci5tc2dbMF07XG4gICAgICAgfVxuICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgXG4gICAgY2xvc2UoKXtcbiAgICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdCgpO1xuICAgIH1cbiAgXG4gICAgY2hlY2tBbmRTYXZlQWxsUXVlc3Rpb25uYWlyZXMocXVlc3Rpb25uYWlyZXMgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsW10pe1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzYXZlIHF1ZXN0aW9ubmFpcmVzIDogXCIsIHF1ZXN0aW9ubmFpcmVzKTtcbiAgICAgIGxldCBzdWJzY3JpcHRpb25zID0gW107XG4gICAgICBxdWVzdGlvbm5haXJlcy5mb3JFYWNoIChxID0+IHsgXG4gICAgICAgIC8vdGhpcy5xZVJlc3BvbnNlLnNldCh0aGlzLnFJZCwgSlNPTi5wYXJzZShxLmRhdGEpKVxuICAgICAgICBpZihxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSl7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3FlIGRhdGEgZm9yIHNjcmVlbiBpcyA6ICcsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgICAgdGhpcy5xZVJlc3BvbnNlLnNldCh0aGlzLnFJZCwgSlNPTi5wYXJzZShxLnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSk7XG4gICAgICAgIH1lbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncWUgZGF0YSBpcyA6ICcsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgICAgdGhpcy5xZVJlc3BvbnNlLnNldCh0aGlzLnFJZCwgSlNPTi5wYXJzZShxLmRhdGEpKTtcbiAgICAgICAgfVxuICAgICAgICBpZihxLmF1dG9TYXZlICYmIHEuaXNTY3JlZW5RdWVzdGlvbm5haXJlKXtcbiAgICAgICAgICAvL3NhdmUgZGF0YSBpbnRvIHNjcmVlbiBzcGVjaWZpYyB0YWJsZSAtIHVzZSBzYXZlIG1ldGhvZCBmb3IgY29kZSB0byBmb2xsb3dcbiAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2godGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5zYXZlU2NyZWVuUXVlc3Rpb25uYWlyZShxKSk7XG4gICAgICAgIH0gZWxzZSBpZighcS5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpeyAgXG4gICAgICAgICAgLy9zYXZlIGRhdGEgaW50byBRZSBzcGVjaWZpYyB0YWJsZXMgICAgICBcbiAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2godGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5zYXZlUXVlc3Rpb25uYWlyZShxKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbnM7XG4gICAgfVxuXG4gICAgc2F2ZVF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmVzIDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFtdKXtcblx0ICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzYXZlIHF1ZXN0aW9ubmFpcmVzIDogXCIsIHF1ZXN0aW9ubmFpcmVzKTtcbiAgICAgIGxldCBzdWJzY3JpcHRpb25zID0gW107XG4gICAgICBxdWVzdGlvbm5haXJlcy5mb3JFYWNoIChxID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3FlIGRhdGEgaXMgOiAnLCBKU09OLnBhcnNlKHEuZGF0YSkpO1xuICAgICAgICB0aGlzLnFlUmVzcG9uc2Uuc2V0KHRoaXMucUlkLCBKU09OLnBhcnNlKHEuZGF0YSkpXG4gICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnNhdmVRdWVzdGlvbm5haXJlKHEpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbnM7XG4gICAgfVxuICBcbiAgICBjbG9zZUFmdGVyU3VjY2Vzcygpe1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2Nsb3NlIGFmdGVyIHN1Y2Nlc3MgY2FsbGVkJyk7XG4gICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0aGlzLnFlUmVzcG9uc2UpO1xuICAgIH1cbiAgXG4gIH0iLCI8cC1kaWFsb2cgW3Zpc2libGVdPVwiaXNWaXNpYmxlXCIgYXBwZW5kVG89XCJib2R5XCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIlxyXG4gICAgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnLCBoZWlnaHQgOiAnaW5oZXJpdCd9XCIgbW9kYWw9XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiaGVhZGVyICE9IG51bGwgJiYgaGVhZGVyICE9IHVuZGVmaW5lZFwiPlxyXG4gICAgXHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZiLWhlYWRpbmdcIj57e2hlYWRlcn19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIFxyXG4gICAgPGRpdiAqbmdJZj1cIiFzaG93UmVzcG9uc2VcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtb2RlbCBvZiBxZVF1ZXJ5TW9kZWxzOyBsZXQgaXNMYXN0ID0gbGFzdDsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICA8YXBwLXF1ZXN0aW9ubmFpcmUgI2ZicyBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiIChtb2RlbENhbmNlbCk9XCJjbG9zZSgpXCIgXHJcbiAgICAgICAgICAgIFtxdWVyeU1vZGVsXT1cIm1vZGVsXCIgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFtoaWRlSGVhZGVyXT1cInRydWVcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmUgPyAobW9kZWwuYXV0b1NhdmUgPT0gdHJ1ZSA/IHRydWUgOiBmYWxzZSkgOiAobW9kZWwuYXV0b1NhdmUgPT0gdHJ1ZSA/IHRydWUgOiBmYWxzZSlcIiBbcGFnZVR5cGVdPVwibnVsbFwiXHJcbiAgICAgICAgICAgIFtoaWRlRm9vdGVyXT1cInRydWVcIiBbZHluYW1pY1BhcmFtXT1cIm1vZGVsLmR5bmFtaWNQYXJhbVwiIFtmb3JtRGF0YV09XCJmb3JtRGF0YSA/IGZvcm1EYXRhIDogbW9kZWwuZGF0YVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwidHJ1ZVwiIFtxdWVzdGlvbk51bWJlcl09XCJzaG93UXVlc3Rpb25OdW1iZXIgPyAoaSsxKSA6IG51bGxcIiAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCI+PC9hcHAtcXVlc3Rpb25uYWlyZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93UmVzcG9uc2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1jaXJjbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogODBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmVlbik7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgPGgxPnt7J1Jlc3BvbnNlIHNhdmVkIHN1Y2Nlc3NmdWxseS4nIHwgdHJhbnNsYXRlfX08L2gxPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIj57eydDbG9zZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RXJyb3JcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNsb3NlLWNpcmNsZS1vdXRsaW5lXCIgc3R5bGU9XCJmb250LXNpemU6IDgwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aDE+e3tlcnJvclRleHQgPyBlcnJvclRleHQgOiAnQ291bGQgbm90IHNhdmUgcmVzcG9uc2UuIFBsZWFzZSB0cnkgYWdhaW4uJ319PC9oMT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCI+e3snQ2xvc2UnIHwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxwLWZvb3RlciAqbmdJZj1cIiFzaG93UmVzcG9uc2VcIj5cclxuICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIiAqbmdJZj1cInNob3dDbG9zZVwiPnt7J0Nsb3NlJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJzb2xpZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic3VibWl0KClcIj57eydTdWJtaXQnIHwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L3AtZm9vdGVyPlxyXG48L3AtZGlhbG9nPiJdfQ==
@@ -16363,7 +16363,7 @@ function MultiQuestionnaireComponent_1_Template(rf, ctx) { if (rf & 1) {
16363
16363
  function MultiQuestionnaireComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
16364
16364
  const _r12 = i0.ɵɵgetCurrentView();
16365
16365
  i0.ɵɵelementStart(0, "div")(1, "app-questionnaire", 5, 6);
16366
- i0.ɵɵlistener("modelCancel", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_modelCancel_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); })("onComplete", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onComplete_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.complete($event)); });
16366
+ i0.ɵɵlistener("modelCancel", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_modelCancel_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); })("onComplete", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onComplete_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.complete($event)); })("onError", function MultiQuestionnaireComponent_div_2_div_1_Template_app_questionnaire_onError_1_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.handleError($event)); });
16367
16367
  i0.ɵɵelementEnd()();
16368
16368
  } if (rf & 2) {
16369
16369
  const model_r7 = ctx.$implicit;
@@ -16382,7 +16382,7 @@ function MultiQuestionnaireComponent_div_2_Template(rf, ctx) { if (rf & 1) {
16382
16382
  i0.ɵɵproperty("ngForOf", ctx_r1.qeQueryModels);
16383
16383
  } }
16384
16384
  function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
16385
- const _r15 = i0.ɵɵgetCurrentView();
16385
+ const _r16 = i0.ɵɵgetCurrentView();
16386
16386
  i0.ɵɵelementStart(0, "div")(1, "div", 7);
16387
16387
  i0.ɵɵelement(2, "ion-icon", 8);
16388
16388
  i0.ɵɵelementStart(3, "h1");
@@ -16390,7 +16390,7 @@ function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
16390
16390
  i0.ɵɵpipe(5, "translate");
16391
16391
  i0.ɵɵelementEnd()();
16392
16392
  i0.ɵɵelementStart(6, "ion-row", 9)(7, "ion-col", 10)(8, "ion-button", 11);
16393
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_3_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.close()); });
16393
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_3_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.close()); });
16394
16394
  i0.ɵɵtext(9);
16395
16395
  i0.ɵɵpipe(10, "translate");
16396
16396
  i0.ɵɵelementEnd()()()();
@@ -16401,14 +16401,14 @@ function MultiQuestionnaireComponent_div_3_Template(rf, ctx) { if (rf & 1) {
16401
16401
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 4, "Close"));
16402
16402
  } }
16403
16403
  function MultiQuestionnaireComponent_div_4_Template(rf, ctx) { if (rf & 1) {
16404
- const _r17 = i0.ɵɵgetCurrentView();
16404
+ const _r18 = i0.ɵɵgetCurrentView();
16405
16405
  i0.ɵɵelementStart(0, "div")(1, "div", 7);
16406
16406
  i0.ɵɵelement(2, "ion-icon", 12);
16407
16407
  i0.ɵɵelementStart(3, "h1");
16408
16408
  i0.ɵɵtext(4);
16409
16409
  i0.ɵɵelementEnd()();
16410
16410
  i0.ɵɵelementStart(5, "ion-row", 9)(6, "ion-col", 10)(7, "ion-button", 11);
16411
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.close()); });
16411
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.close()); });
16412
16412
  i0.ɵɵtext(8);
16413
16413
  i0.ɵɵpipe(9, "translate");
16414
16414
  i0.ɵɵelementEnd()()()();
@@ -16420,9 +16420,9 @@ function MultiQuestionnaireComponent_div_4_Template(rf, ctx) { if (rf & 1) {
16420
16420
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 2, "Close"));
16421
16421
  } }
16422
16422
  function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template(rf, ctx) { if (rf & 1) {
16423
- const _r20 = i0.ɵɵgetCurrentView();
16423
+ const _r21 = i0.ɵɵgetCurrentView();
16424
16424
  i0.ɵɵelementStart(0, "ion-button", 11);
16425
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.close()); });
16425
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.close()); });
16426
16426
  i0.ɵɵtext(1);
16427
16427
  i0.ɵɵpipe(2, "translate");
16428
16428
  i0.ɵɵelementEnd();
@@ -16431,11 +16431,11 @@ function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template(rf, ctx) {
16431
16431
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Close"));
16432
16432
  } }
16433
16433
  function MultiQuestionnaireComponent_p_footer_5_Template(rf, ctx) { if (rf & 1) {
16434
- const _r22 = i0.ɵɵgetCurrentView();
16434
+ const _r23 = i0.ɵɵgetCurrentView();
16435
16435
  i0.ɵɵelementStart(0, "p-footer")(1, "ion-row")(2, "ion-col", 10);
16436
16436
  i0.ɵɵtemplate(3, MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template, 3, 3, "ion-button", 13);
16437
16437
  i0.ɵɵelementStart(4, "ion-button", 14);
16438
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.submit()); });
16438
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_p_footer_5_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.submit()); });
16439
16439
  i0.ɵɵtext(5);
16440
16440
  i0.ɵɵpipe(6, "translate");
16441
16441
  i0.ɵɵelementEnd()()()();
@@ -16580,6 +16580,9 @@ class MultiQuestionnaireComponent {
16580
16580
  }
16581
16581
  }
16582
16582
  handleError(error) {
16583
+ if (error?.errorCode == '422') {
16584
+ this.errorText = error.msg[0];
16585
+ }
16583
16586
  this.showError = true;
16584
16587
  }
16585
16588
  close() {
@@ -16629,7 +16632,7 @@ class MultiQuestionnaireComponent {
16629
16632
  } if (rf & 2) {
16630
16633
  let _t;
16631
16634
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fbs = _t);
16632
- } }, inputs: { qeQueryModels: "qeQueryModels", showClose: "showClose", autoSave: "autoSave", formData: "formData", readonly: "readonly", header: "header", showQuestionNumber: "showQuestionNumber" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete" }, decls: 6, vars: 12, consts: [["appendTo", "body", "modal", "true", 3, "visible", "breakpoints", "showHeader"], [4, "ngIf"], ["pTemplate", "header"], [1, "fb-heading"], [4, "ngFor", "ngForOf"], [2, "display", "contents", 3, "queryModel", "hideHeader", "autoSave", "pageType", "hideFooter", "dynamicParam", "formData", "readonly", "multiMode", "questionNumber", "modelCancel", "onComplete"], ["fbs", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-padding"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click", 4, "ngIf"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function MultiQuestionnaireComponent_Template(rf, ctx) { if (rf & 1) {
16635
+ } }, inputs: { qeQueryModels: "qeQueryModels", showClose: "showClose", autoSave: "autoSave", formData: "formData", readonly: "readonly", header: "header", showQuestionNumber: "showQuestionNumber" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete" }, decls: 6, vars: 12, consts: [["appendTo", "body", "modal", "true", 3, "visible", "breakpoints", "showHeader"], [4, "ngIf"], ["pTemplate", "header"], [1, "fb-heading"], [4, "ngFor", "ngForOf"], [2, "display", "contents", 3, "queryModel", "hideHeader", "autoSave", "pageType", "hideFooter", "dynamicParam", "formData", "readonly", "multiMode", "questionNumber", "modelCancel", "onComplete", "onError"], ["fbs", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-padding"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click", 4, "ngIf"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function MultiQuestionnaireComponent_Template(rf, ctx) { if (rf & 1) {
16633
16636
  i0.ɵɵelementStart(0, "p-dialog", 0);
16634
16637
  i0.ɵɵtemplate(1, MultiQuestionnaireComponent_1_Template, 1, 0, null, 1)(2, MultiQuestionnaireComponent_div_2_Template, 2, 1, "div", 1)(3, MultiQuestionnaireComponent_div_3_Template, 11, 6, "div", 1)(4, MultiQuestionnaireComponent_div_4_Template, 10, 4, "div", 1)(5, MultiQuestionnaireComponent_p_footer_5_Template, 7, 4, "p-footer", 1);
16635
16638
  i0.ɵɵelementEnd();
@@ -16650,7 +16653,7 @@ class MultiQuestionnaireComponent {
16650
16653
  }
16651
16654
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiQuestionnaireComponent, [{
16652
16655
  type: Component,
16653
- args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'Could not save response. Please try again.'}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
16656
+ args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\" (onError)=\"handleError($event)\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'Could not save response. Please try again.'}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
16654
16657
  }], () => [{ type: QuestionnaireService }, { type: LoggerService }], { fbs: [{
16655
16658
  type: ViewChildren,
16656
16659
  args: ['fbs']