@hmcts/ccd-case-ui-toolkit 7.0.71 → 7.0.72

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.
@@ -43,7 +43,6 @@ export class CaseSpecificAccessRequestComponent {
43
43
  $roleAssignmentResponseSubscription;
44
44
  genericError = 'There is a problem';
45
45
  specificReasonControlName = 'specificReason';
46
- getSpecificAccessError = false;
47
46
  constructor(fb, router, casesService, route, caseNotifier) {
48
47
  this.fb = fb;
49
48
  this.router = router;
@@ -98,15 +97,9 @@ export class CaseSpecificAccessRequestComponent {
98
97
  .subscribe(() => {
99
98
  // Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
100
99
  // Angular 7.2
101
- this.getSpecificAccessError = false;
102
100
  this.router.navigate(['success'], { relativeTo: this.route });
103
101
  }, () => {
104
- // Show the generic error message
105
- this.getSpecificAccessError = true;
106
- this.errorMessage = {
107
- title: this.genericError,
108
- description: 'Sorry, there is a problem with the service; Try again later.'
109
- };
102
+ // Navigate to error page
110
103
  });
111
104
  }
112
105
  }
@@ -123,7 +116,7 @@ export class CaseSpecificAccessRequestComponent {
123
116
  return input.value === null || input.value.trim().length === 0;
124
117
  }
125
118
  static ɵfac = function CaseSpecificAccessRequestComponent_Factory(t) { return new (t || CaseSpecificAccessRequestComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.CasesService), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i3.CaseNotifier)); };
126
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseSpecificAccessRequestComponent, selectors: [["ccd-case-specific-access-request"]], decls: 50, vars: 42, consts: [[3, "error", 4, "ngIf"], ["type", "information"], [3, "submit", "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "reason-hint", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], ["data-module", "govuk-details", "role", "group", 1, "govuk-details"], ["aria-expanded", "false", 1, "govuk-details__summary"], [1, "govuk-details__summary-text"], ["aria-hidden", "true", 1, "govuk-details__text"], [1, "govuk-body"], [1, "govuk-list", "govuk-list--bullet"], ["id", "reason-hint", 1, "govuk-hint"], ["id", "conditional-reason-3"], [1, "govuk-form-group"], ["id", "specific-reason-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "specific-reason", "name", "specific-reason", "rows", "8", "formControlName", "specificReason", 1, "govuk-textarea", 3, "ngClass"], [1, "govuk-button-group"], ["type", "submit", 1, "govuk-button", "govuk-!-margin-right-3"], [1, "govuk-grid-column-full", "govuk-!-padding-left-0"], ["href", "javascript:void(0)", 1, "govuk-body", 3, "click"], [3, "error"], ["id", "specific-reason-error-message", 1, "govuk-error-message"]], template: function CaseSpecificAccessRequestComponent_Template(rf, ctx) { if (rf & 1) {
119
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseSpecificAccessRequestComponent, selectors: [["ccd-case-specific-access-request"]], decls: 50, vars: 42, consts: [[3, "error", 4, "ngIf"], ["type", "information"], [3, "submit", "formGroup"], [1, "govuk-form-group", 3, "ngClass"], ["aria-describedby", "reason-hint", 1, "govuk-fieldset"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "govuk-fieldset__heading"], ["data-module", "govuk-details", "role", "group", 1, "govuk-details"], ["role", "button", "aria-expanded", "false", 1, "govuk-details__summary"], [1, "govuk-details__summary-text"], ["aria-hidden", "true", 1, "govuk-details__text"], [1, "govuk-body"], [1, "govuk-list", "govuk-list--bullet"], ["id", "reason-hint", 1, "govuk-hint"], ["id", "conditional-reason-3"], [1, "govuk-form-group"], ["id", "specific-reason-error-message", "class", "govuk-error-message", 4, "ngIf"], ["id", "specific-reason", "name", "specific-reason", "rows", "8", "formControlName", "specificReason", 1, "govuk-textarea", 3, "ngClass"], [1, "govuk-button-group"], ["type", "submit", 1, "govuk-button", "govuk-!-margin-right-3"], [1, "govuk-grid-column-full", "govuk-!-padding-left-0"], ["href", "javascript:void(0)", 1, "govuk-body", 3, "click"], [3, "error"], ["id", "specific-reason-error-message", 1, "govuk-error-message"]], template: function CaseSpecificAccessRequestComponent_Template(rf, ctx) { if (rf & 1) {
127
120
  i0.ɵɵtemplate(0, CaseSpecificAccessRequestComponent_exui_error_message_0_Template, 1, 1, "exui-error-message", 0);
128
121
  i0.ɵɵelementStart(1, "cut-alert", 1);
129
122
  i0.ɵɵtext(2);
@@ -177,7 +170,7 @@ export class CaseSpecificAccessRequestComponent {
177
170
  i0.ɵɵpipe(49, "rpxTranslate");
178
171
  i0.ɵɵelementEnd()()()()();
179
172
  } if (rf & 2) {
180
- i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted || ctx.getSpecificAccessError);
173
+ i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted);
181
174
  i0.ɵɵadvance(2);
182
175
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 16, "Authorisation is needed to access this case."), "");
183
176
  i0.ɵɵadvance(3);
@@ -212,7 +205,7 @@ export class CaseSpecificAccessRequestComponent {
212
205
  }
213
206
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseSpecificAccessRequestComponent, [{
214
207
  type: Component,
215
- args: [{ selector: 'ccd-case-specific-access-request', template: "<exui-error-message\n *ngIf=\"(formGroup.invalid && submitted) || getSpecificAccessError\"\n [error]=\"errorMessage\"></exui-error-message>\n<cut-alert type=\"information\">\n {{'Authorisation is needed to access this case.' | rpxTranslate}}<br />\n {{'This could be because it\\'s outside your jurisdiction, or you may be excluded from the case. If you request access to this case, it will be logged for auditing purposes.' | rpxTranslate}}\n</cut-alert>\n<form [formGroup]=\"formGroup\" (submit)=\"onSubmit()\">\n <div class=\"govuk-form-group\"\n [ngClass]=\"{ 'form-group-error': formGroup.invalid && submitted }\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"reason-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ title | rpxTranslate }}\n </h1>\n </legend>\n\n <details class=\"govuk-details\" data-module=\"govuk-details\" role=\"group\">\n <summary\n class=\"govuk-details__summary\"\n aria-expanded=\"false\">\n <span class=\"govuk-details__summary-text\">\n {{'Help with requesting case access' | rpxTranslate}}\n </span>\n </summary>\n <div\n class=\"govuk-details__text\"\n aria-hidden=\"true\">\n <p class=\"govuk-body\">{{'You could include:' | rpxTranslate}}</p>\n <ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'the case reference of the linked case' | rpxTranslate}}</li>\n <li>{{'how long you require access to this case' | rpxTranslate}}</li>\n <li>{{'any other reasons why you require access' | rpxTranslate}}</li>\n </ul>\n </div>\n </details>\n\n <div id=\"reason-hint\" class=\"govuk-hint\">\n {{ hint | rpxTranslate }}\n </div>\n <div id=\"conditional-reason-3\">\n <div class=\"govuk-form-group\">\n <div\n id=\"specific-reason-error-message\"\n class=\"govuk-error-message\"\n *ngIf=\"formGroup.get('specificReason').invalid && submitted\">\n {{ errorMessage.description | rpxTranslate }}\n </div>\n <textarea\n class=\"govuk-textarea\"\n [ngClass]=\"{\n 'govuk-textarea--error':\n formGroup.get('specificReason').invalid && submitted\n }\"\n id=\"specific-reason\"\n name=\"specific-reason\"\n rows=\"8\"\n formControlName=\"specificReason\">\n </textarea>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-!-margin-right-3\" type=\"submit\">\n {{'Submit' | rpxTranslate}}\n </button>\n <div class=\"govuk-grid-column-full govuk-!-padding-left-0\">\n <p>\n <a class=\"govuk-body\" (click)=\"onCancel()\" href=\"javascript:void(0)\">\n {{'Cancel' | rpxTranslate}}\n </a>\n </p>\n </div>\n </div>\n</form>\n" }]
208
+ args: [{ selector: 'ccd-case-specific-access-request', template: "<exui-error-message\n *ngIf=\"formGroup.invalid && submitted\"\n [error]=\"errorMessage\"></exui-error-message>\n<cut-alert type=\"information\">\n {{'Authorisation is needed to access this case.' | rpxTranslate}}<br />\n {{'This could be because it\\'s outside your jurisdiction, or you may be excluded from the case. If you request access to this case, it will be logged for auditing purposes.' | rpxTranslate}}\n</cut-alert>\n<form [formGroup]=\"formGroup\" (submit)=\"onSubmit()\">\n <div class=\"govuk-form-group\"\n [ngClass]=\"{ 'form-group-error': formGroup.invalid && submitted }\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"reason-hint\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h1 class=\"govuk-fieldset__heading\">\n {{ title | rpxTranslate }}\n </h1>\n </legend>\n\n <details class=\"govuk-details\" data-module=\"govuk-details\" role=\"group\">\n <summary\n class=\"govuk-details__summary\"\n role=\"button\"\n aria-expanded=\"false\">\n <span class=\"govuk-details__summary-text\">\n {{'Help with requesting case access' | rpxTranslate}}\n </span>\n </summary>\n <div\n class=\"govuk-details__text\"\n aria-hidden=\"true\">\n <p class=\"govuk-body\">{{'You could include:' | rpxTranslate}}</p>\n <ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'the case reference of the linked case' | rpxTranslate}}</li>\n <li>{{'how long you require access to this case' | rpxTranslate}}</li>\n <li>{{'any other reasons why you require access' | rpxTranslate}}</li>\n </ul>\n </div>\n </details>\n\n <div id=\"reason-hint\" class=\"govuk-hint\">\n {{ hint | rpxTranslate }}\n </div>\n <div id=\"conditional-reason-3\">\n <div class=\"govuk-form-group\">\n <div\n id=\"specific-reason-error-message\"\n class=\"govuk-error-message\"\n *ngIf=\"formGroup.get('specificReason').invalid && submitted\">\n {{ errorMessage.description | rpxTranslate }}\n </div>\n <textarea\n class=\"govuk-textarea\"\n [ngClass]=\"{\n 'govuk-textarea--error':\n formGroup.get('specificReason').invalid && submitted\n }\"\n id=\"specific-reason\"\n name=\"specific-reason\"\n rows=\"8\"\n formControlName=\"specificReason\">\n </textarea>\n </div>\n </div>\n </fieldset>\n </div>\n\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-!-margin-right-3\" type=\"submit\">\n {{'Submit' | rpxTranslate}}\n </button>\n <div class=\"govuk-grid-column-full govuk-!-padding-left-0\">\n <p>\n <a class=\"govuk-body\" (click)=\"onCancel()\" href=\"javascript:void(0)\">\n {{'Cancel' | rpxTranslate}}\n </a>\n </p>\n </div>\n </div>\n</form>\n" }]
216
209
  }], () => [{ type: i1.FormBuilder }, { type: i2.Router }, { type: i3.CasesService }, { type: i2.ActivatedRoute }, { type: i3.CaseNotifier }], null); })();
217
210
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseSpecificAccessRequestComponent, { className: "CaseSpecificAccessRequestComponent", filePath: "lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.ts", lineNumber: 22 }); })();
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS12aWV3ZXIvY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzlCLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztJQ2ZsQix5Q0FFOEM7OztJQUE1QywyQ0FBc0I7OztJQXdDZCwrQkFHK0Q7SUFDN0QsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNGQUNGOztBRDFCVixNQUFNLE9BQU8sa0NBQWtDO0lBZ0IxQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbkJaLE1B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QURFLGtFQUNGO1lBUUksZUFDRjtZQURFLDJGQUNGO1lBS3NCLGVBQXVDO1lBQXZDLGtFQUF1QztZQUV2RCxlQUEwRDtZQUExRCxxRkFBMEQ7WUFDMUQsZUFBNkQ7WUFBN0Qsd0ZBQTZEO1lBQzdELGVBQTZEO1lBQTdELHdGQUE2RDtZQU1yRSxlQUNGO1lBREUsaUVBQ0Y7WUFNTyxlQUEwRDtZQUExRCxtRkFBMEQ7WUFLM0QsY0FHRTtZQUhGLG1IQUdFO1lBYVIsZUFDRjtZQURFLGlFQUNGO1lBSU0sZUFDRjtZQURFLGlFQUNGOzs7aUZEbkRLLGtDQUFrQztjQUo5QyxTQUFTOzJCQUNFLGtDQUFrQzs7a0ZBR2pDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXBcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0RXJyb3JzLFxuICBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RQYWdlVGV4dFxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgc3RhdGljIENBTkNFTF9MSU5LX0RFU1RJTkFUSU9OID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVmTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZTtcbiAgcHVibGljICRyb2xlQXNzaWdubWVudFJlc3BvbnNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmljRXJyb3IgPSAnVGhlcmUgaXMgYSBwcm9ibGVtJztcbiAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lID0gJ3NwZWNpZmljUmVhc29uJztcbiAgcHVibGljIGdldFNwZWNpZmljQWNjZXNzRXJyb3IgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuVElUTEU7XG4gICAgdGhpcy5oaW50ID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuSElOVDtcbiAgICB0aGlzLmNhc2VSZWZMYWJlbCA9IFNwZWNpZmljQWNjZXNzUmVxdWVzdFBhZ2VUZXh0LkNBU0VfUkVGO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICByYWRpb1NlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgbnVsbCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgdGhpcy5zcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lLFxuICAgICAgbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RW1wdHkoY29udHJvbCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdXBkYXRlT246ICdzdWJtaXQnLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgLy8gQ2xlYXIgdGhlIFwic3BlY2lmaWMgcmVhc29uXCIgZmllbGRzIG1hbnVhbGx5LiBUaGlzIHByZXZlbnRzIGFueSBwcmV2aW91cyB2YWx1ZSBiZWluZyByZXRhaW5lZCBieVxuICAgIC8vIHRoZSBmaWVsZCdzIEZvcm1Db250cm9sIHdoZW4gdGhlIGZpZWxkIGl0c2VsZiBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBieSAqbmdJZi4gKElmIGl0IGlzIHN1YnNlcXVlbnRseSBhZGRlZCBiYWNrXG4gICAgLy8gdG8gdGhlIERPTSBieSAqbmdJZiwgaXQgd2lsbCBhcHBlYXIgZW1wdHkgYnV0IHRoZSBhc3NvY2lhdGVkIEZvcm1Db250cm9sIHN0aWxsIGhhcyB0aGUgcHJldmlvdXMgdmFsdWUuKVxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RFcnJvcnMuTk9fUkVBU09OLFxuICAgICAgICBmaWVsZElkOiAnc3BlY2lmaWMtcmVhc29uJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhdGUgU3BlY2lmaWMgQWNjZXNzIFJlcXVlc3RcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIC8vIEdldCB0aGUgQ2FzZSBSZWZlcmVuY2UgKGZvciB3aGljaCBhY2Nlc3MgaXMgYmVpbmcgcmVxdWVzdGVkKSBmcm9tIHRoZSBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IGRhdGFcbiAgICAgIGNvbnN0IGNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICAgIGNvbnN0IHNwZWNpZmljQWNjZXNzUmVxdWVzdCA9IHtcbiAgICAgICAgc3BlY2lmaWNSZWFzb246IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICB9IGFzIFNwZWNpZmljQWNjZXNzUmVxdWVzdDtcblxuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQsIHNwZWNpZmljQWNjZXNzUmVxdWVzdClcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBXb3VsZCBoYXZlIGJlZW4gbmljZSB0byBwYXNzIHRoZSBjYXNlSWQgd2l0aGluIHN0YXRlLmRhdGEsIGJ1dCB0aGlzIGlzbid0IHBhcnQgb2YgTmF2aWdhdGlvbkV4dHJhcyB1bnRpbFxuICAgICAgICAgICAgLy8gQW5ndWxhciA3LjJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3BlY2lmaWNBY2Nlc3NFcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydzdWNjZXNzJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIC8vIFNob3cgdGhlIGdlbmVyaWMgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgdGhpcy5nZXRTcGVjaWZpY0FjY2Vzc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU29ycnksIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlOyBUcnkgYWdhaW4gbGF0ZXIuJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBwYWdlIGJlZm9yZSBwcmV2aW91cyBvbmUgKHNob3VsZCBiZSBTZWFyY2ggUmVzdWx0cyBvciBDYXNlIExpc3QgcGFnZSwgZm9yIGV4YW1wbGUpXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50LkNBTkNFTF9MSU5LX0RFU1RJTkFUSU9OKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5wdXRFbXB0eShpbnB1dDogQWJzdHJhY3RDb250cm9sKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlucHV0LnZhbHVlID09PSBudWxsIHx8IGlucHV0LnZhbHVlLnRyaW0oKS5sZW5ndGggPT09IDA7XG4gIH1cbn1cbiIsIjxleHVpLWVycm9yLW1lc3NhZ2VcbiAgKm5nSWY9XCIoZm9ybUdyb3VwLmludmFsaWQgJiYgc3VibWl0dGVkKSB8fCBnZXRTcGVjaWZpY0FjY2Vzc0Vycm9yXCJcbiAgW2Vycm9yXT1cImVycm9yTWVzc2FnZVwiPjwvZXh1aS1lcnJvci1tZXNzYWdlPlxuPGN1dC1hbGVydCB0eXBlPVwiaW5mb3JtYXRpb25cIj5cbiAge3snQXV0aG9yaXNhdGlvbiBpcyBuZWVkZWQgdG8gYWNjZXNzIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX08YnIgLz5cbiAge3snVGhpcyBjb3VsZCBiZSBiZWNhdXNlIGl0XFwncyBvdXRzaWRlIHlvdXIganVyaXNkaWN0aW9uLCBvciB5b3UgbWF5IGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhc2UuIElmIHlvdSByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGNhc2UsIGl0IHdpbGwgYmUgbG9nZ2VkIGZvciBhdWRpdGluZyBwdXJwb3Nlcy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvY3V0LWFsZXJ0PlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAoc3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Zvcm0tZ3JvdXAtZXJyb3InOiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzdWJtaXR0ZWQgfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInJlYXNvbi1oaW50XCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3sgdGl0bGUgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuXG4gICAgICA8ZGV0YWlscyBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIiByb2xlPVwiZ3JvdXBcIj5cbiAgICAgICAgPHN1bW1hcnlcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0XCI+XG4gICAgICAgICAgICB7eydIZWxwIHdpdGggcmVxdWVzdGluZyBjYXNlIGFjY2VzcycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0XCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydZb3UgY291bGQgaW5jbHVkZTonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgICAgICAgICAgIDxsaT57eyd0aGUgY2FzZSByZWZlcmVuY2Ugb2YgdGhlIGxpbmtlZCBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydob3cgbG9uZyB5b3UgcmVxdWlyZSBhY2Nlc3MgdG8gdGhpcyBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydhbnkgb3RoZXIgcmVhc29ucyB3aHkgeW91IHJlcXVpcmUgYWNjZXNzJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGV0YWlscz5cblxuICAgICAgPGRpdiBpZD1cInJlYXNvbi1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgIHt7IGhpbnQgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cImNvbmRpdGlvbmFsLXJlYXNvbi0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJzcGVjaWZpYy1yZWFzb24tZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXCI+XG4gICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb24gfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZ292dWstdGV4dGFyZWEtLWVycm9yJzpcbiAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGlkPVwic3BlY2lmaWMtcmVhc29uXCJcbiAgICAgICAgICAgIG5hbWU9XCJzcGVjaWZpYy1yZWFzb25cIlxuICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3BlY2lmaWNSZWFzb25cIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTNcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICB7eydTdWJtaXQnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wXCI+XG4gICAgICA8cD5cbiAgICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAge3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvY2FzZS12aWV3ZXIvY2FzZS1zcGVjaWZpYy1hY2Nlc3MtcmVxdWVzdC9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9jYXNlLXZpZXdlci9jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0L2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLFdBQVcsRUFDWCxXQUFXLEVBRVosTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzlCLE1BQU0sVUFBVSxDQUFDOzs7Ozs7OztJQ2ZsQix5Q0FFOEM7OztJQUE1QywyQ0FBc0I7OztJQXlDZCwrQkFHK0Q7SUFDN0QsWUFDRjs7SUFBQSxpQkFBTTs7O0lBREosY0FDRjtJQURFLHNGQUNGOztBRDNCVixNQUFNLE9BQU8sa0NBQWtDO0lBZTFCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFsQlosTUFB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YVIsZUFDRjtZQURFLGlFQUNGO1lBSU0sZUFDRjtZQURFLGlFQUNGOzs7aUZEcERLLGtDQUFrQztjQUo5QyxTQUFTOzJCQUNFLGtDQUFrQzs7a0ZBR2pDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXBcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZSwgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IENhc2VOb3RpZmllciwgQ2FzZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY2FzZS1lZGl0b3InO1xuaW1wb3J0IHtcbiAgU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0RXJyb3JzLFxuICBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RQYWdlVGV4dFxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1jYXNlLXNwZWNpZmljLWFjY2Vzcy1yZXF1ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2Utc3BlY2lmaWMtYWNjZXNzLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgc3RhdGljIENBTkNFTF9MSU5LX0RFU1RJTkFUSU9OID0gJy93b3JrL215LXdvcmsvbGlzdCc7XG4gIHB1YmxpYyBjb2xsYXBzZWQgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlUmVmTGFiZWw6IHN0cmluZztcbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZTtcbiAgcHVibGljICRyb2xlQXNzaWdubWVudFJlc3BvbnNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBnZW5lcmljRXJyb3IgPSAnVGhlcmUgaXMgYSBwcm9ibGVtJztcbiAgcHJpdmF0ZSByZWFkb25seSBzcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lID0gJ3NwZWNpZmljUmVhc29uJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllclxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuVElUTEU7XG4gICAgdGhpcy5oaW50ID0gU3BlY2lmaWNBY2Nlc3NSZXF1ZXN0UGFnZVRleHQuSElOVDtcbiAgICB0aGlzLmNhc2VSZWZMYWJlbCA9IFNwZWNpZmljQWNjZXNzUmVxdWVzdFBhZ2VUZXh0LkNBU0VfUkVGO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICByYWRpb1NlbGVjdGVkOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgbnVsbCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgdGhpcy5zcGVjaWZpY1JlYXNvbkNvbnRyb2xOYW1lLFxuICAgICAgbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RW1wdHkoY29udHJvbCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgaW52YWxpZDogdHJ1ZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgdXBkYXRlT246ICdzdWJtaXQnLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgLy8gQ2xlYXIgdGhlIFwic3BlY2lmaWMgcmVhc29uXCIgZmllbGRzIG1hbnVhbGx5LiBUaGlzIHByZXZlbnRzIGFueSBwcmV2aW91cyB2YWx1ZSBiZWluZyByZXRhaW5lZCBieVxuICAgIC8vIHRoZSBmaWVsZCdzIEZvcm1Db250cm9sIHdoZW4gdGhlIGZpZWxkIGl0c2VsZiBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBieSAqbmdJZi4gKElmIGl0IGlzIHN1YnNlcXVlbnRseSBhZGRlZCBiYWNrXG4gICAgLy8gdG8gdGhlIERPTSBieSAqbmdJZiwgaXQgd2lsbCBhcHBlYXIgZW1wdHkgYnV0IHRoZSBhc3NvY2lhdGVkIEZvcm1Db250cm9sIHN0aWxsIGhhcyB0aGUgcHJldmlvdXMgdmFsdWUuKVxuICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0ge1xuICAgICAgICB0aXRsZTogdGhpcy5nZW5lcmljRXJyb3IsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTcGVjaWZpY0FjY2Vzc1JlcXVlc3RFcnJvcnMuTk9fUkVBU09OLFxuICAgICAgICBmaWVsZElkOiAnc3BlY2lmaWMtcmVhc29uJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhdGUgU3BlY2lmaWMgQWNjZXNzIFJlcXVlc3RcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIC8vIEdldCB0aGUgQ2FzZSBSZWZlcmVuY2UgKGZvciB3aGljaCBhY2Nlc3MgaXMgYmVpbmcgcmVxdWVzdGVkKSBmcm9tIHRoZSBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IGRhdGFcbiAgICAgIGNvbnN0IGNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmNpZDtcbiAgICAgIGNvbnN0IHNwZWNpZmljQWNjZXNzUmVxdWVzdCA9IHtcbiAgICAgICAgc3BlY2lmaWNSZWFzb246IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLnNwZWNpZmljUmVhc29uQ29udHJvbE5hbWUpLnZhbHVlXG4gICAgICB9IGFzIFNwZWNpZmljQWNjZXNzUmVxdWVzdDtcblxuICAgICAgdGhpcy4kcm9sZUFzc2lnbm1lbnRSZXNwb25zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2FzZXNTZXJ2aWNlLmNyZWF0ZVNwZWNpZmljQWNjZXNzUmVxdWVzdChjYXNlSWQsIHNwZWNpZmljQWNjZXNzUmVxdWVzdClcbiAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FzZU5vdGlmaWVyLmZldGNoQW5kUmVmcmVzaChjYXNlSWQpKSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBXb3VsZCBoYXZlIGJlZW4gbmljZSB0byBwYXNzIHRoZSBjYXNlSWQgd2l0aGluIHN0YXRlLmRhdGEsIGJ1dCB0aGlzIGlzbid0IHBhcnQgb2YgTmF2aWdhdGlvbkV4dHJhcyB1bnRpbFxuICAgICAgICAgICAgLy8gQW5ndWxhciA3LjJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnc3VjY2VzcyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAvLyBOYXZpZ2F0ZSB0byBlcnJvciBwYWdlXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgcGFnZSBiZWZvcmUgcHJldmlvdXMgb25lIChzaG91bGQgYmUgU2VhcmNoIFJlc3VsdHMgb3IgQ2FzZSBMaXN0IHBhZ2UsIGZvciBleGFtcGxlKVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoQ2FzZVNwZWNpZmljQWNjZXNzUmVxdWVzdENvbXBvbmVudC5DQU5DRUxfTElOS19ERVNUSU5BVElPTik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuJHJvbGVBc3NpZ25tZW50UmVzcG9uc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuJHJvbGVBc3NpZ25tZW50UmVzcG9uc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlucHV0RW1wdHkoaW5wdXQ6IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnB1dC52YWx1ZSA9PT0gbnVsbCB8fCBpbnB1dC52YWx1ZS50cmltKCkubGVuZ3RoID09PSAwO1xuICB9XG59XG4iLCI8ZXh1aS1lcnJvci1tZXNzYWdlXG4gICpuZ0lmPVwiZm9ybUdyb3VwLmludmFsaWQgJiYgc3VibWl0dGVkXCJcbiAgW2Vycm9yXT1cImVycm9yTWVzc2FnZVwiPjwvZXh1aS1lcnJvci1tZXNzYWdlPlxuPGN1dC1hbGVydCB0eXBlPVwiaW5mb3JtYXRpb25cIj5cbiAge3snQXV0aG9yaXNhdGlvbiBpcyBuZWVkZWQgdG8gYWNjZXNzIHRoaXMgY2FzZS4nIHwgcnB4VHJhbnNsYXRlfX08YnIgLz5cbiAge3snVGhpcyBjb3VsZCBiZSBiZWNhdXNlIGl0XFwncyBvdXRzaWRlIHlvdXIganVyaXNkaWN0aW9uLCBvciB5b3UgbWF5IGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhc2UuIElmIHlvdSByZXF1ZXN0IGFjY2VzcyB0byB0aGlzIGNhc2UsIGl0IHdpbGwgYmUgbG9nZ2VkIGZvciBhdWRpdGluZyBwdXJwb3Nlcy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvY3V0LWFsZXJ0PlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiAoc3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2Zvcm0tZ3JvdXAtZXJyb3InOiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzdWJtaXR0ZWQgfVwiPlxuICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCIgYXJpYS1kZXNjcmliZWRieT1cInJlYXNvbi1oaW50XCI+XG4gICAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICAgIDxoMSBjbGFzcz1cImdvdnVrLWZpZWxkc2V0X19oZWFkaW5nXCI+XG4gICAgICAgICAge3sgdGl0bGUgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvbGVnZW5kPlxuXG4gICAgICA8ZGV0YWlscyBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIiByb2xlPVwiZ3JvdXBcIj5cbiAgICAgICAgPHN1bW1hcnlcbiAgICAgICAgICBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0XCI+XG4gICAgICAgICAgICB7eydIZWxwIHdpdGggcmVxdWVzdGluZyBjYXNlIGFjY2VzcycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0XCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj57eydZb3UgY291bGQgaW5jbHVkZTonIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZ292dWstbGlzdCBnb3Z1ay1saXN0LS1idWxsZXRcIj5cbiAgICAgICAgICAgIDxsaT57eyd0aGUgY2FzZSByZWZlcmVuY2Ugb2YgdGhlIGxpbmtlZCBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydob3cgbG9uZyB5b3UgcmVxdWlyZSBhY2Nlc3MgdG8gdGhpcyBjYXNlJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICAgIDxsaT57eydhbnkgb3RoZXIgcmVhc29ucyB3aHkgeW91IHJlcXVpcmUgYWNjZXNzJyB8IHJweFRyYW5zbGF0ZX19PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGV0YWlscz5cblxuICAgICAgPGRpdiBpZD1cInJlYXNvbi1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgIHt7IGhpbnQgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cImNvbmRpdGlvbmFsLXJlYXNvbi0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJzcGVjaWZpYy1yZWFzb24tZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXCI+XG4gICAgICAgICAgICB7eyBlcnJvck1lc3NhZ2UuZGVzY3JpcHRpb24gfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiZ292dWstdGV4dGFyZWFcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZ292dWstdGV4dGFyZWEtLWVycm9yJzpcbiAgICAgICAgICAgICAgICBmb3JtR3JvdXAuZ2V0KCdzcGVjaWZpY1JlYXNvbicpLmludmFsaWQgJiYgc3VibWl0dGVkXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIGlkPVwic3BlY2lmaWMtcmVhc29uXCJcbiAgICAgICAgICAgIG5hbWU9XCJzcGVjaWZpYy1yZWFzb25cIlxuICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3BlY2lmaWNSZWFzb25cIj5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1idXR0b24tZ3JvdXBcIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLSEtbWFyZ2luLXJpZ2h0LTNcIiB0eXBlPVwic3VibWl0XCI+XG4gICAgICB7eydTdWJtaXQnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1jb2x1bW4tZnVsbCBnb3Z1ay0hLXBhZGRpbmctbGVmdC0wXCI+XG4gICAgICA8cD5cbiAgICAgICAgPGEgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgICAge3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
3
3
  import * as i0 from "@angular/core";
4
- const _c0 = (a0, a1, a2, a3) => [a0, false, undefined, true, a1, a2, a3];
4
+ const _c0 = (a0, a1, a2) => [a0, false, undefined, true, a1, undefined, a2];
5
5
  function ReadComplexFieldTableComponent_ng_container_9_ng_container_1_Template(rf, ctx) { if (rf & 1) {
6
6
  i0.ɵɵelementContainerStart(0);
7
7
  i0.ɵɵelementStart(1, "tr", 7)(2, "td", 8)(3, "span", 3);
@@ -46,25 +46,9 @@ function ReadComplexFieldTableComponent_ng_container_9_Template(rf, ctx) { if (r
46
46
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(2, 2, field_r1))("ngIfElse", SimpleRow_r3);
47
47
  } }
48
48
  export class ReadComplexFieldTableComponent extends AbstractFieldReadComponent {
49
- // parent_ can be replaced with any ***_ - underscore is only important character
50
- // value can also be replaced with anything
51
- static DUMMY_STRING_PRE = 'parent_';
52
- static DUMMY_STRING_POST = 'value';
53
49
  caseFields = [];
54
- path;
55
- ngOnInit() {
56
- this.setDummyPathForChildArrays();
57
- }
58
- /* In order to get child arrays (within casefield) to display their logic
59
- we need to add a path. This path needs to include the idPrefix as that
60
- is the part of the path that is used to display the elements.
61
- The joining strings will allow us to use the existing show condition to
62
- match against this path. */
63
- setDummyPathForChildArrays() {
64
- this.path = ReadComplexFieldTableComponent.DUMMY_STRING_PRE + this.idPrefix + ReadComplexFieldTableComponent.DUMMY_STRING_POST;
65
- }
66
50
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadComplexFieldTableComponent_BaseFactory; return function ReadComplexFieldTableComponent_Factory(t) { return (ɵReadComplexFieldTableComponent_BaseFactory || (ɵReadComplexFieldTableComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldTableComponent)))(t || ReadComplexFieldTableComponent); }; })();
67
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadComplexFieldTableComponent, selectors: [["ccd-read-complex-field-table"]], inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 17, consts: [["SimpleRow", ""], [1, "complex-panel"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex field table", 1, "complex-panel-table"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"], [1, "complex-panel-compound-field", 3, "hidden"], ["colspan", "2"], [3, "topLevelFormGroup", "caseField", "context"], [1, "complex-panel-simple-field", 3, "hidden"], ["id", "complex-panel-simple-field-label"]], template: function ReadComplexFieldTableComponent_Template(rf, ctx) { if (rf & 1) {
51
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadComplexFieldTableComponent, selectors: [["ccd-read-complex-field-table"]], inputs: { caseFields: "caseFields" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 16, consts: [["SimpleRow", ""], [1, "complex-panel"], [1, "complex-panel-title"], [1, "text-16"], ["aria-describedby", "complex field table", 1, "complex-panel-table"], [4, "ngFor", "ngForOf"], [4, "ngIf", "ngIfElse"], [1, "complex-panel-compound-field", 3, "hidden"], ["colspan", "2"], [3, "topLevelFormGroup", "caseField", "context"], [1, "complex-panel-simple-field", 3, "hidden"], ["id", "complex-panel-simple-field-label"]], template: function ReadComplexFieldTableComponent_Template(rf, ctx) { if (rf & 1) {
68
52
  i0.ɵɵelementStart(0, "div", 1)(1, "dl", 2)(2, "dt")(3, "span", 3);
69
53
  i0.ɵɵtext(4);
70
54
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -79,14 +63,14 @@ export class ReadComplexFieldTableComponent extends AbstractFieldReadComponent {
79
63
  i0.ɵɵadvance(4);
80
64
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 2, ctx.caseField.label));
81
65
  i0.ɵɵadvance(5);
82
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(10, 4, i0.ɵɵpureFunction4(12, _c0, ctx.caseField, ctx.topLevelFormGroup, ctx.path, ctx.idPrefix)));
66
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(10, 4, i0.ɵɵpureFunction3(12, _c0, ctx.caseField, ctx.topLevelFormGroup, ctx.idPrefix)));
83
67
  } }, styles: [".complex-panel[_ngcontent-%COMP%]{margin:13px 0;border:1px solid #bfc1c3}.complex-panel[_ngcontent-%COMP%] .complex-panel-title[_ngcontent-%COMP%]{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel[_ngcontent-%COMP%] .complex-panel-title[_ngcontent-%COMP%]{font-size:19px;line-height:1.3157894737}}.complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%] > th[_ngcontent-%COMP%]{vertical-align:top}.complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:last-child > th[_ngcontent-%COMP%], .complex-panel[_ngcontent-%COMP%] .complex-panel-table[_ngcontent-%COMP%] > tbody[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]:last-child > td[_ngcontent-%COMP%]{border-bottom:none}.complex-panel[_ngcontent-%COMP%] .complex-panel-simple-field[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding-left:5px;width:295px}.complex-panel[_ngcontent-%COMP%] .complex-panel-compound-field[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}"] });
84
68
  }
85
69
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadComplexFieldTableComponent, [{
86
70
  type: Component,
87
- args: [{ selector: 'ccd-read-complex-field-table', template: "<div class=\"complex-panel\">\n <dl class=\"complex-panel-title\"><dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt><dd></dd></dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex field table\">\n <tbody>\n <ng-container *ngFor=\"let field of caseField | ccdReadFieldsFilter:false :undefined :true :topLevelFormGroup :path :idPrefix\">\n <ng-container *ngIf=\"(field | ccdIsCompound); else SimpleRow\">\n <tr class=\"complex-panel-compound-field\" [hidden]=\"field.hidden\">\n <td colspan=\"2\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"topLevelFormGroup\"\n [caseField]=\"field\" [context]=\"context\"></ccd-field-read>\n </span>\n </td>\n </tr>\n </ng-container>\n <ng-template #SimpleRow>\n <tr class=\"complex-panel-simple-field\" [hidden]=\"field.hidden\">\n <th id=\"complex-panel-simple-field-label\"><span class=\"text-16\">{{field.label | rpxTranslate}}</span></th>\n <td>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"topLevelFormGroup\"\n [caseField]=\"field\" [context]=\"context\"></ccd-field-read>\n </span>\n </td>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}\n"] }]
71
+ args: [{ selector: 'ccd-read-complex-field-table', template: "<div class=\"complex-panel\">\n <dl class=\"complex-panel-title\"><dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt><dd></dd></dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex field table\">\n <tbody>\n <ng-container *ngFor=\"let field of caseField | ccdReadFieldsFilter:false :undefined :true :topLevelFormGroup: undefined :idPrefix\">\n <ng-container *ngIf=\"(field | ccdIsCompound); else SimpleRow\">\n <tr class=\"complex-panel-compound-field\" [hidden]=\"field.hidden\">\n <td colspan=\"2\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"topLevelFormGroup\"\n [caseField]=\"field\" [context]=\"context\"></ccd-field-read>\n </span>\n </td>\n </tr>\n </ng-container>\n <ng-template #SimpleRow>\n <tr class=\"complex-panel-simple-field\" [hidden]=\"field.hidden\">\n <th id=\"complex-panel-simple-field-label\"><span class=\"text-16\">{{field.label | rpxTranslate}}</span></th>\n <td>\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"topLevelFormGroup\"\n [caseField]=\"field\" [context]=\"context\"></ccd-field-read>\n </span>\n </td>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}\n"] }]
88
72
  }], null, { caseFields: [{
89
73
  type: Input
90
74
  }] }); })();
91
75
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadComplexFieldTableComponent, { className: "ReadComplexFieldTableComponent", filePath: "lib/shared/components/palette/complex/read-complex-field-table.component.ts", lineNumber: 10 }); })();
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7SUNHakYsNkJBQThEO0lBR3hELEFBREYsQUFERiw2QkFBaUUsWUFDL0MsY0FDUTtJQUNwQixvQ0FDMkQ7SUFHakUsQUFERSxBQURFLGlCQUFPLEVBQ0osRUFDRjs7Ozs7SUFQb0MsY0FBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQU9ILEFBQTFDLEFBREYsOEJBQStELGFBQ25CLGNBQXNCO0lBQUEsWUFBOEI7O0lBQU8sQUFBUCxpQkFBTyxFQUFLO0lBRXRHLEFBREosMEJBQUksY0FDc0I7SUFDcEIsb0NBQzJEO0lBR25FLEFBREUsQUFESSxpQkFBTyxFQUNOLEVBQ0Y7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQWpCckQsNkJBQThIO0lBQzVILGdIQUE4RDs7SUFVOUQsK0lBQXdCOzs7OztJQVZULGNBQStCO0lBQUEsQUFBL0IscURBQStCLDBCQUFjOztBRElwRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBQzVFLGlGQUFpRjtJQUNqRiwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFVLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztJQUM3QyxNQUFNLENBQVUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO0lBRzVDLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO0lBRTdCLElBQUksQ0FBUztJQUViLFFBQVE7UUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7aUNBSTZCO0lBQ3JCLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLDhCQUE4QixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsOEJBQThCLENBQUMsaUJBQWlCLENBQUM7SUFDakksQ0FBQztxUkF0QlUsOEJBQThCLFNBQTlCLDhCQUE4Qjs2REFBOUIsOEJBQThCO1lDUkwsQUFBSixBQUFoQyxBQURGLDhCQUEyQixZQUNPLFNBQUksY0FBc0I7WUFBQSxZQUFrQzs7WUFBTyxBQUFQLGlCQUFPLEVBQUs7WUFBQSxxQkFBUztZQUFBLGlCQUFLO1lBRXBILEFBREYsZ0NBQTBFLFlBQ2pFO1lBQ0wsaUdBQThIOztZQXlCcEksQUFERSxBQURFLGlCQUFRLEVBQ0YsRUFDSjs7WUE1QnNELGVBQWtDO1lBQWxDLCtEQUFrQztZQUd4RCxlQUE0RjtZQUE1RiwwSUFBNEY7OztpRkRLckgsOEJBQThCO2NBTDFDLFNBQVM7MkJBQ0UsOEJBQThCO2dCQVdqQyxVQUFVO2tCQURoQixLQUFLOztrRkFOSyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gcGFyZW50XyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbnkgKioqXyAtIHVuZGVyc2NvcmUgaXMgb25seSBpbXBvcnRhbnQgY2hhcmFjdGVyXG4gIC8vIHZhbHVlIGNhbiBhbHNvIGJlIHJlcGxhY2VkIHdpdGggYW55dGhpbmdcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEVU1NWV9TVFJJTkdfUFJFID0gJ3BhcmVudF8nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERVTU1ZX1NUUklOR19QT1NUID0gJ3ZhbHVlJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10gPSBbXTtcblxuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldER1bW15UGF0aEZvckNoaWxkQXJyYXlzKCk7XG4gIH1cblxuICAvKiBJbiBvcmRlciB0byBnZXQgY2hpbGQgYXJyYXlzICh3aXRoaW4gY2FzZWZpZWxkKSB0byBkaXNwbGF5IHRoZWlyIGxvZ2ljXG4gICAgd2UgbmVlZCB0byBhZGQgYSBwYXRoLiBUaGlzIHBhdGggbmVlZHMgdG8gaW5jbHVkZSB0aGUgaWRQcmVmaXggYXMgdGhhdFxuICAgIGlzIHRoZSBwYXJ0IG9mIHRoZSBwYXRoIHRoYXQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBlbGVtZW50cy5cbiAgICBUaGUgam9pbmluZyBzdHJpbmdzIHdpbGwgYWxsb3cgdXMgdG8gdXNlIHRoZSBleGlzdGluZyBzaG93IGNvbmRpdGlvbiB0b1xuICAgIG1hdGNoIGFnYWluc3QgdGhpcyBwYXRoLiAqL1xuICBwcml2YXRlIHNldER1bW15UGF0aEZvckNoaWxkQXJyYXlzKCk6IHZvaWQge1xuICAgIHRoaXMucGF0aCA9IFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudC5EVU1NWV9TVFJJTkdfUFJFICsgdGhpcy5pZFByZWZpeCArIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudC5EVU1NWV9TVFJJTkdfUE9TVDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPjxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+PGRkPjwvZGQ+PC9kbD5cbiAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IGZpZWxkIHRhYmxlXCI+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY2FzZUZpZWxkIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjpmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDp0b3BMZXZlbEZvcm1Hcm91cCA6cGF0aCA6aWRQcmVmaXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmaWVsZCB8IGNjZElzQ29tcG91bmQpOyBlbHNlIFNpbXBsZVJvd1wiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtY29tcG91bmQtZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI1NpbXBsZVJvdz5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZFwiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICA8dGggaWQ9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZC1sYWJlbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7ZmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFt0b3BMZXZlbEZvcm1Hcm91cF09XCJ0b3BMZXZlbEZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7SUNHakYsNkJBQThEO0lBR3hELEFBREYsQUFERiw2QkFBaUUsWUFDL0MsY0FDUTtJQUNwQixvQ0FDMkQ7SUFHakUsQUFERSxBQURFLGlCQUFPLEVBQ0osRUFDRjs7Ozs7SUFQb0MsY0FBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQU9ILEFBQTFDLEFBREYsOEJBQStELGFBQ25CLGNBQXNCO0lBQUEsWUFBOEI7O0lBQU8sQUFBUCxpQkFBTyxFQUFLO0lBRXRHLEFBREosMEJBQUksY0FDc0I7SUFDcEIsb0NBQzJEO0lBR25FLEFBREUsQUFESSxpQkFBTyxFQUNOLEVBQ0Y7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQWpCckQsNkJBQW1JO0lBQ2pJLGdIQUE4RDs7SUFVOUQsK0lBQXdCOzs7OztJQVZULGNBQStCO0lBQUEsQUFBL0IscURBQStCLDBCQUFjOztBRElwRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBRXJFLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO3FSQUZ6Qiw4QkFBOEIsU0FBOUIsOEJBQThCOzZEQUE5Qiw4QkFBOEI7WUNSTCxBQUFKLEFBQWhDLEFBREYsOEJBQTJCLFlBQ08sU0FBSSxjQUFzQjtZQUFBLFlBQWtDOztZQUFPLEFBQVAsaUJBQU8sRUFBSztZQUFBLHFCQUFTO1lBQUEsaUJBQUs7WUFFcEgsQUFERixnQ0FBMEUsWUFDakU7WUFDTCxpR0FBbUk7O1lBeUJ6SSxBQURFLEFBREUsaUJBQVEsRUFDRixFQUNKOztZQTVCc0QsZUFBa0M7WUFBbEMsK0RBQWtDO1lBR3hELGVBQWlHO1lBQWpHLGdJQUFpRzs7O2lGREsxSCw4QkFBOEI7Y0FMMUMsU0FBUzsyQkFDRSw4QkFBOEI7Z0JBTWpDLFVBQVU7a0JBRGhCLEtBQUs7O2tGQURLLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29tcGxleC1wYW5lbFwiPlxuICA8ZGwgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRpdGxlXCI+PGR0PjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9kdD48ZGQ+PC9kZD48L2RsPlxuICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggZmllbGQgdGFibGVcIj5cbiAgICA8dGJvZHk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjYXNlRmllbGQgfCBjY2RSZWFkRmllbGRzRmlsdGVyOmZhbHNlIDp1bmRlZmluZWQgOnRydWUgOnRvcExldmVsRm9ybUdyb3VwOiB1bmRlZmluZWQgOmlkUHJlZml4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZmllbGQgfCBjY2RJc0NvbXBvdW5kKTsgZWxzZSBTaW1wbGVSb3dcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLWNvbXBvdW5kLWZpZWxkXCIgW2hpZGRlbl09XCJmaWVsZC5oaWRkZW5cIj5cbiAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNTaW1wbGVSb3c+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgPHRoIGlkPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGQtbGFiZWxcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2ZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
@@ -47,18 +47,19 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
47
47
  i0.ɵɵelementStart(2, "label", 12);
48
48
  i0.ɵɵtext(3);
49
49
  i0.ɵɵpipe(4, "rpxTranslate");
50
+ i0.ɵɵpipe(5, "rpxTranslate");
50
51
  i0.ɵɵelementEnd()();
51
52
  } if (rf & 2) {
52
53
  const value_r2 = ctx.$implicit;
53
54
  const ctx_r0 = i0.ɵɵnextContext();
54
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1, ctx_r0.yesNoControl.value === value_r2));
55
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c1, ctx_r0.yesNoControl.value === value_r2));
55
56
  i0.ɵɵadvance();
56
57
  i0.ɵɵproperty("id", ctx_r0.createElementId(value_r2))("name", ctx_r0.id())("formControl", ctx_r0.yesNoControl)("value", value_r2);
57
58
  i0.ɵɵattribute("name", ctx_r0.id());
58
59
  i0.ɵɵadvance();
59
60
  i0.ɵɵproperty("for", ctx_r0.createElementId(value_r2));
60
61
  i0.ɵɵadvance();
61
- i0.ɵɵtextInterpolate(ctx_r0.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r0.caseField.label, null, value_r2) : value_r2);
62
+ i0.ɵɵtextInterpolate(ctx_r0.caseField.label ? i0.ɵɵpipeBind1(5, 12, i0.ɵɵpipeBind3(4, 8, ctx_r0.caseField.label, null, value_r2)) : value_r2);
62
63
  } }
63
64
  export class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
64
65
  yesNoService;
@@ -78,7 +79,7 @@ export class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
78
79
  i0.ɵɵelementEnd();
79
80
  i0.ɵɵtemplate(4, WriteYesNoFieldComponent_span_4_Template, 3, 3, "span", 3)(5, WriteYesNoFieldComponent_span_5_Template, 3, 4, "span", 4);
80
81
  i0.ɵɵelementStart(6, "div", 5);
81
- i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 5, 14, "div", 6);
82
+ i0.ɵɵtemplate(7, WriteYesNoFieldComponent_div_7_Template, 6, 16, "div", 6);
82
83
  i0.ɵɵelementEnd()()();
83
84
  } if (rf & 2) {
84
85
  i0.ɵɵproperty("id", ctx.id())("ngClass", i0.ɵɵpureFunction1(7, _c0, !ctx.yesNoControl.valid && (ctx.yesNoControl.dirty || ctx.yesNoControl.touched)));
@@ -96,7 +97,7 @@ export class WriteYesNoFieldComponent extends AbstractFieldWriteComponent {
96
97
  }
97
98
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteYesNoFieldComponent, [{
98
99
  type: Component,
99
- args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label ? (caseField.label | rpxTranslate:null:value) : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\n" }]
100
+ args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label ? (caseField.label | rpxTranslate:null:value | rpxTranslate) : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\n" }]
100
101
  }], () => [{ type: i1.YesNoService }], null); })();
101
102
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteYesNoFieldComponent, { className: "WriteYesNoFieldComponent", filePath: "lib/shared/components/palette/yes-no/write-yes-no-field.component.ts", lineNumber: 10 }); })();
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUteWVzLW5vLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3llcy1uby93cml0ZS15ZXMtbm8tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUveWVzLW5vL3dyaXRlLXllcy1uby1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNBMUMsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxjQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUFzQzs7SUFBQSxpQkFBTzs7O0lBQTdDLGNBQXNDO0lBQXRDLHNFQUFzQzs7O0lBQzFGLCtCQUF3RztJQUN0RyxZQUNGOztJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUseUdBQ0Y7OztJQUdDLCtCQUFvSDtJQUNsSCw0QkFBcUo7SUFDcEosaUNBQXlEO0lBQUEsWUFBeUU7O0lBQ3JJLEFBRHFJLGlCQUFRLEVBQ3ZJOzs7O0lBSHlELDZGQUFvRDtJQUNyRixjQUE2QjtJQUE0RSxBQUE3QixBQUEzQixBQUFqRCxxREFBNkIscUJBQWlDLG9DQUEwQyxtQkFBZ0I7O0lBQ3pILGNBQThCO0lBQTlCLHNEQUE4QjtJQUFDLGNBQXlFO0lBQXpFLHNIQUF5RTs7QURKMUksTUFBTSxPQUFPLHdCQUF5QixTQUFRLDJCQUEyQjtJQUkxQztJQUh0QixXQUFXLEdBQUcsQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLENBQUM7SUFDOUIsWUFBWSxDQUFjO0lBRWpDLFlBQTZCLFlBQTBCO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRG1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBRXZELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztJQUMzSCxDQUFDO2tGQVZVLHdCQUF3Qjs2REFBeEIsd0JBQXdCO1lDUGpDLEFBREgsQUFERCw4QkFBb0osa0JBQzFILGFBQ2Q7WUFDTiwyRUFBaUQ7WUFDbkQsaUJBQVM7WUFFVCxBQURBLDJFQUFvRCw4REFDb0Q7WUFJeEcsOEJBQXFDO1lBQ3BDLDBFQUFvSDtZQU16SCxBQURDLEFBREcsaUJBQU0sRUFDRSxFQUNOOztZQWpCd0MsQUFBekMsNkJBQVcsd0hBQW1JO1lBR25ILGVBQXFCO1lBQXJCLDBDQUFxQjtZQUV4QixjQUF5QjtZQUF6Qiw4Q0FBeUI7WUFDckIsY0FBeUU7WUFBekUsc0dBQXlFO1lBSWpHLGNBQStCO1lBQS9CLGlEQUErQjtZQUNZLGNBQWM7WUFBZCx5Q0FBYzs7O2lGREZyRCx3QkFBd0I7Y0FKcEMsU0FBUzsyQkFDRSx3QkFBd0I7O2tGQUd2Qix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1uby5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLXllcy1uby1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS15ZXMtbm8tZmllbGQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHllc05vVmFsdWVzID0gWyAnWWVzJywgJ05vJyBdO1xuICBwdWJsaWMgeWVzTm9Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHllc05vU2VydmljZTogWWVzTm9TZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnllc05vQ29udHJvbCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLnllc05vU2VydmljZS5mb3JtYXQodGhpcy5jYXNlRmllbGQudmFsdWUpKSkgYXMgRm9ybUNvbnRyb2w7XG4gIH1cbn1cbiIsIjxkaXYgW2lkXT1cImlkKClcIiBjbGFzcz1cImZvcm0tZ3JvdXAgYm90dG9tLTMwXCIgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogIXllc05vQ29udHJvbC52YWxpZCAmJiAoeWVzTm9Db250cm9sLmRpcnR5IHx8IHllc05vQ29udHJvbC50b3VjaGVkKX1cIj5cblx0PGZpZWxkc2V0IGNsYXNzPVwiaW5saW5lXCI+XG4gICAgPGxlZ2VuZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiY2FzZUZpZWxkLmxhYmVsXCI+e3tjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsfX08L3NwYW4+XG4gICAgPC9sZWdlbmQ+XG4gICAgPHNwYW4gY2xhc3M9XCJmb3JtLWhpbnRcIiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIj57e2Nhc2VGaWVsZC5oaW50X3RleHQgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cInllc05vQ29udHJvbC5lcnJvcnMgJiYgKHllc05vQ29udHJvbC5kaXJ0eSB8fCB5ZXNOb0NvbnRyb2wudG91Y2hlZClcIj5cbiAgICAgIHt7eWVzTm9Db250cm9sLmVycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsfX1cbiAgICA8L3NwYW4+XG5cbiAgICA8ZGl2IFtpZF09XCJjcmVhdGVFbGVtZW50SWQoJ3JhZGlvJylcIj5cbiAgXHQgIDxkaXYgY2xhc3M9XCJtdWx0aXBsZS1jaG9pY2VcIiAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgeWVzTm9WYWx1ZXNcIiBbbmdDbGFzc109XCJ7c2VsZWN0ZWQ6IHllc05vQ29udHJvbC52YWx1ZSA9PT0gdmFsdWV9XCI+XG4gIFx0ICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtpZF09XCJjcmVhdGVFbGVtZW50SWQodmFsdWUpXCIgW2F0dHIubmFtZV09XCJpZCgpXCIgW25hbWVdPVwiaWQoKVwiIHR5cGU9XCJyYWRpb1wiIFtmb3JtQ29udHJvbF09XCJ5ZXNOb0NvbnRyb2xcIiBbdmFsdWVdPVwidmFsdWVcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwiY3JlYXRlRWxlbWVudElkKHZhbHVlKVwiPnt7Y2FzZUZpZWxkLmxhYmVsID8gKGNhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZTpudWxsOnZhbHVlKSA6IHZhbHVlfX08L2xhYmVsPlxuICBcdCAgPC9kaXY+XG4gICAgPC9kaXY+XG5cdDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUteWVzLW5vLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3llcy1uby93cml0ZS15ZXMtbm8tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUveWVzLW5vL3dyaXRlLXllcy1uby1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNBMUMsK0JBQWlEO0lBQUEsWUFBNkI7O0lBQUEsaUJBQU87OztJQUFwQyxjQUE2QjtJQUE3Qiw0REFBNkI7OztJQUVoRiwrQkFBb0Q7SUFBQSxZQUFzQzs7SUFBQSxpQkFBTzs7O0lBQTdDLGNBQXNDO0lBQXRDLHNFQUFzQzs7O0lBQzFGLCtCQUF3RztJQUN0RyxZQUNGOztJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUseUdBQ0Y7OztJQUdDLCtCQUFvSDtJQUNsSCw0QkFBcUo7SUFDcEosaUNBQXlEO0lBQUEsWUFBd0Y7OztJQUNwSixBQURvSixpQkFBUSxFQUN0Sjs7OztJQUh5RCw2RkFBb0Q7SUFDckYsY0FBNkI7SUFBNEUsQUFBN0IsQUFBM0IsQUFBakQscURBQTZCLHFCQUFpQyxvQ0FBMEMsbUJBQWdCOztJQUN6SCxjQUE4QjtJQUE5QixzREFBOEI7SUFBQyxjQUF3RjtJQUF4Riw2SUFBd0Y7O0FESnpKLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwyQkFBMkI7SUFJMUM7SUFIdEIsV0FBVyxHQUFHLENBQUUsS0FBSyxFQUFFLElBQUksQ0FBRSxDQUFDO0lBQzlCLFlBQVksQ0FBYztJQUVqQyxZQUE2QixZQUEwQjtRQUNyRCxLQUFLLEVBQUUsQ0FBQztRQURtQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUV2RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQWdCLENBQUM7SUFDM0gsQ0FBQztrRkFWVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQ1BqQyxBQURILEFBREQsOEJBQW9KLGtCQUMxSCxhQUNkO1lBQ04sMkVBQWlEO1lBQ25ELGlCQUFTO1lBRVQsQUFEQSwyRUFBb0QsOERBQ29EO1lBSXhHLDhCQUFxQztZQUNwQywwRUFBb0g7WUFNekgsQUFEQyxBQURHLGlCQUFNLEVBQ0UsRUFDTjs7WUFqQndDLEFBQXpDLDZCQUFXLHdIQUFtSTtZQUduSCxlQUFxQjtZQUFyQiwwQ0FBcUI7WUFFeEIsY0FBeUI7WUFBekIsOENBQXlCO1lBQ3JCLGNBQXlFO1lBQXpFLHNHQUF5RTtZQUlqRyxjQUErQjtZQUEvQixpREFBK0I7WUFDWSxjQUFjO1lBQWQseUNBQWM7OztpRkRGckQsd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0Usd0JBQXdCOztrRkFHdkIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWVzTm9TZXJ2aWNlIH0gZnJvbSAnLi95ZXMtbm8uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS15ZXMtbm8tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUteWVzLW5vLWZpZWxkLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyB5ZXNOb1ZhbHVlcyA9IFsgJ1llcycsICdObycgXTtcbiAgcHVibGljIHllc05vQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB5ZXNOb1NlcnZpY2U6IFllc05vU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy55ZXNOb0NvbnRyb2wgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUNvbnRyb2wodGhpcy55ZXNOb1NlcnZpY2UuZm9ybWF0KHRoaXMuY2FzZUZpZWxkLnZhbHVlKSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG59XG4iLCI8ZGl2IFtpZF09XCJpZCgpXCIgY2xhc3M9XCJmb3JtLWdyb3VwIGJvdHRvbS0zMFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICF5ZXNOb0NvbnRyb2wudmFsaWQgJiYgKHllc05vQ29udHJvbC5kaXJ0eSB8fCB5ZXNOb0NvbnRyb2wudG91Y2hlZCl9XCI+XG5cdDxmaWVsZHNldCBjbGFzcz1cImlubGluZVwiPlxuICAgIDxsZWdlbmQ+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19PC9zcGFuPlxuICAgIDwvbGVnZW5kPlxuICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJ5ZXNOb0NvbnRyb2wuZXJyb3JzICYmICh5ZXNOb0NvbnRyb2wuZGlydHkgfHwgeWVzTm9Db250cm9sLnRvdWNoZWQpXCI+XG4gICAgICB7e3llc05vQ29udHJvbC5lcnJvcnMgfCBjY2RGaXJzdEVycm9yOmNhc2VGaWVsZC5sYWJlbH19XG4gICAgPC9zcGFuPlxuXG4gICAgPGRpdiBbaWRdPVwiY3JlYXRlRWxlbWVudElkKCdyYWRpbycpXCI+XG4gIFx0ICA8ZGl2IGNsYXNzPVwibXVsdGlwbGUtY2hvaWNlXCIgKm5nRm9yPVwibGV0IHZhbHVlIG9mIHllc05vVmFsdWVzXCIgW25nQ2xhc3NdPVwie3NlbGVjdGVkOiB5ZXNOb0NvbnRyb2wudmFsdWUgPT09IHZhbHVlfVwiPlxuICBcdCAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbaWRdPVwiY3JlYXRlRWxlbWVudElkKHZhbHVlKVwiIFthdHRyLm5hbWVdPVwiaWQoKVwiIFtuYW1lXT1cImlkKClcIiB0eXBlPVwicmFkaW9cIiBbZm9ybUNvbnRyb2xdPVwieWVzTm9Db250cm9sXCIgW3ZhbHVlXT1cInZhbHVlXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cImNyZWF0ZUVsZW1lbnRJZCh2YWx1ZSlcIj57e2Nhc2VGaWVsZC5sYWJlbCA/IChjYXNlRmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGU6bnVsbDp2YWx1ZSB8IHJweFRyYW5zbGF0ZSkgOiB2YWx1ZX19PC9sYWJlbD5cbiAgXHQgIDwvZGl2PlxuICAgIDwvZGl2PlxuXHQ8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
@@ -184,9 +184,7 @@ export class ConditionParser {
184
184
  }
185
185
  }
186
186
  else {
187
- // EXUI-2460 - if path present then show error, otherwise log message to stop unnecessary console errors
188
- path ? console.error('Path in formArray should start with ', head, ', full path: ', path) :
189
- console.log('Path not present in formArray');
187
+ console.error('Path in formArray should start with ', head, ', full path: ', path);
190
188
  }
191
189
  }
192
190
  static removeStarChar(str) {
@@ -199,4 +197,4 @@ export class ConditionParser {
199
197
  return value === null && (right === '');
200
198
  }
201
199
  }
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvc2VydmljZXMvY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFFbEMsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFBQyxDQUFDO1FBQ2hDLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFXLEVBQUUsVUFBaUIsRUFBRSxJQUFhO1FBQ2xFLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUM1RCxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxD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QUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYSxFQUFFLEtBQVU7UUFDcEQsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF9zY29yZSBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vY29uZGl0aW9uYWwtc2hvdy9kb21haW4vY29uZGl0aW9uYWwtc2hvdy5tb2RlbCc7XG5pbXBvcnQgcGVnIGZyb20gJy4vY29uZGl0aW9uLnBlZyc7XG5cbmV4cG9ydCBjbGFzcyBDb25kaXRpb25QYXJzZXIge1xuICAvKipcbiAgICogUGFyc2UgdGhlIHJhdyBmb3JtdWxhIGFuZCBvdXRwdXQgc3RydWN0dXJlZCBjb25kaXRpb24gZGF0YVxuICAgKiB0aGF0IGNhbiBiZSB1c2VkIGluIGV2YWx1YXRpbmcgc2hvdy9oaWRlIGxvZ2ljXG4gICAqIEBwYXJhbSBjb25kaXRpb24gcmF3IGZvcm11bGEgZS5nLiBUZXh0RmllbGQgPSBcIkhlbGxvXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2UoY29uZGl0aW9uOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghY29uZGl0aW9uKSB7IHJldHVybiBudWxsOyB9XG4gICAgY29uZGl0aW9uID0gY29uZGl0aW9uLnJlcGxhY2UoL0NPTlRBSU5TL2csICcgQ09OVEFJTlMnKTtcbiAgICByZXR1cm4gcGVnLnBhcnNlKGNvbmRpdGlvbi50cmltKCksIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB0aGUgY3VycmVudCBmaWVsZHMgYWdhaW5zdCB0aGUgY29uZGl0aW9uc1xuICAgKiBAcGFyYW0gZmllbGRzIHRoZSBjdXJyZW50IHBhZ2UgZmllbGRzIGFuZCB0aGVpciB2YWx1ZVxuICAgKiBAcGFyYW0gY29uZGl0aW9ucyBUaGUgUGVnSlMgZm9ybXVsYSBvdXRwdXRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZXZhbHVhdGUoZmllbGRzOiBhbnksIGNvbmRpdGlvbnM6IGFueVtdLCBwYXRoPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFjb25kaXRpb25zIHx8IGNvbmRpdGlvbnMubGVuZ3RoID09PSAwKSB7IHJldHVybiB0cnVlOyB9XG4gICAgY29uc3QgdmFsaWRKb2luQ29tcGFyYXRvcnMgPSBbJ0FORCcsICdPUiddO1xuXG4gICAgcmV0dXJuIGNvbmRpdGlvbnMucmVkdWNlKChhY2N1bXVsYXRvcjogYm9vbGVhbiwgY29uZGl0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBpc0pvaW5Db21wYXJhdG9yID0gKGNvbXBhcmF0b3I6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgICAgICAgKHR5cGVvZiBjb21wYXJhdG9yID09PSAnc3RyaW5nJyAmJiB2YWxpZEpvaW5Db21wYXJhdG9ycy5pbmRleE9mKGNvbXBhcmF0b3IpICE9PSAtMSk7XG5cbiAgICAgIGlmIChpc0pvaW5Db21wYXJhdG9yKGNvbmRpdGlvbikpIHsgcmV0dXJuIGFjY3VtdWxhdG9yOyB9XG5cbiAgICAgIGxldCBjdXJyZW50Q29uZGl0aW9uUmVzdWx0ID0gdHJ1ZTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZGl0aW9uKSkge1xuICAgICAgICBjdXJyZW50Q29uZGl0aW9uUmVzdWx0ID0gdGhpcy5ldmFsdWF0ZShmaWVsZHMsIGNvbmRpdGlvbik7XG5cbiAgICAgICAgaWYgKGlzSm9pbkNvbXBhcmF0b3IoY29uZGl0aW9uc1tpbmRleCAtIDFdKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlSm9pbihhY2N1bXVsYXRvciwgY29uZGl0aW9uc1tpbmRleCAtIDFdLCBjdXJyZW50Q29uZGl0aW9uUmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY29uZGl0aW9uLmNvbXBhcmF0b3IpIHtcbiAgICAgICAgY29uc3QgZm9ybXVsYSA9IGNvbmRpdGlvbi5maWVsZFJlZmVyZW5jZSArIGNvbmRpdGlvbi5jb21wYXJhdG9yICsgY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICBjdXJyZW50Q29uZGl0aW9uUmVzdWx0ID0gdGhpcy5tYXRjaEVxdWFsaXR5Q29uZGl0aW9uKGZpZWxkcywgZm9ybXVsYSwgcGF0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0pvaW5Db21wYXJhdG9yKGNvbmRpdGlvbnNbaW5kZXggLSAxXSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVKb2luKGFjY3VtdWxhdG9yLCBjb25kaXRpb25zW2luZGV4IC0gMV0sIGN1cnJlbnRDb25kaXRpb25SZXN1bHQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmVudENvbmRpdGlvblJlc3VsdDtcbiAgICB9LCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV2YWx1YXRlSm9pbihsZWZ0UmVzdWx0OiBib29sZWFuLCBjb21wYXJhdG9yLCByaWdodFJlc3VsdDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdFxuICAgIHN3aXRjaCAoY29tcGFyYXRvcikge1xuICAgICAgY2FzZSAnT1InOiByZXR1cm4gbGVmdFJlc3VsdCB8fCByaWdodFJlc3VsdDtcbiAgICAgIGNhc2UgJ0FORCc6IHJldHVybiBsZWZ0UmVzdWx0ICYmIHJpZ2h0UmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1hdGNoRXF1YWxpdHlDb25kaXRpb24oZmllbGRzOiBvYmplY3QsIGNvbmRpdGlvbjogc3RyaW5nLCBwYXRoPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgW2ZpZWxkLCBjb25kaXRpb25TZXBhcmF0b3JdID0gdGhpcy5nZXRGaWVsZChjb25kaXRpb24pO1xuICAgIGNvbnN0IFtoZWFkLCAuLi50YWlsXSA9IGZpZWxkLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uKGZpZWxkcywgaGVhZCwgdGFpbCwgcGF0aCk7XG4gICAgY29uc3QgZXhwZWN0ZWRWYWx1ZSA9IHRoaXMudW5xdW90ZWQoY29uZGl0aW9uLnNwbGl0KGNvbmRpdGlvblNlcGFyYXRvcilbMV0pO1xuICAgIGlmIChjb25kaXRpb25TZXBhcmF0b3IgPT09IFNob3dDb25kaXRpb24uQ09OVEFJTlMpIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrVmFsdWVDb250YWlucyhleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlRXF1YWxzKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSwgY29uZGl0aW9uU2VwYXJhdG9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZShmaWVsZHM6IG9iamVjdCwgaGVhZDogc3RyaW5nKTogYW55IHtcbiAgICBpZiAodGhpcy5pc0R5bmFtaWNMaXN0KGZpZWxkc1toZWFkXSkpIHtcbiAgICAgIHJldHVybiBmaWVsZHNbaGVhZF0/LnZhbHVlPy5jb2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmllbGRzW2hlYWRdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzRHluYW1pY0xpc3QoZHluYW1pY2xpc3Q6IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhX3Njb3JlLmlzRW1wdHkoZHluYW1pY2xpc3QpICYmXG4gICAgICAgIChfc2NvcmUuaGFzKGR5bmFtaWNsaXN0LCAndmFsdWUnKSAmJiBfc2NvcmUuaGFzKGR5bmFtaWNsaXN0LCAnbGlzdF9pdGVtcycpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEZpZWxkKGNvbmRpdGlvbjogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nP10ge1xuICAgIGxldCBzZXBhcmF0b3I6IHN0cmluZyA9IFNob3dDb25kaXRpb24uQ09OVEFJTlM7XG4gICAgaWYgKGNvbmRpdGlvbi5pbmRleE9mKFNob3dDb25kaXRpb24uQ09OVEFJTlMpIDwgMCkge1xuICAgICAgc2VwYXJhdG9yID0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fRVFVQUxTO1xuICAgICAgaWYgKGNvbmRpdGlvbi5pbmRleE9mKFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpID4gLTEpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsgY29uZGl0aW9uLnNwbGl0KHNlcGFyYXRvcilbMF0sIHNlcGFyYXRvciBdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZUVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55LCBjb25kaXRpb25TZXBhcmFvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGV4cGVjdGVkVmFsdWUuc2VhcmNoKCdbLF0nKSA+IC0xKSB7IC8vIGZvciAgbXVsdGktc2VsZWN0IGxpc3RcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrTXVsdGlTZWxlY3RMaXN0RXF1YWxzKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSwgY29uZGl0aW9uU2VwYXJhb3IpO1xuICAgIH0gZWxzZSBpZiAoZXhwZWN0ZWRWYWx1ZS5lbmRzV2l0aCgnKicpICYmIGN1cnJlbnRWYWx1ZSAmJiBjb25kaXRpb25TZXBhcmFvciAhPT0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykge1xuICAgICAgaWYgKHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUuc3RhcnRzV2l0aCh0aGlzLnJlbW92ZVN0YXJDaGFyKGV4cGVjdGVkVmFsdWUpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlID09PSAnKic7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNoYW5nZWQgZnJvbSAnPT09JyB0byAnPT0nIHRvIGNvdmVyIG51bWJlciBmaWVsZCBjb25kaXRpb25zXG4gICAgICBpZiAoY29uZGl0aW9uU2VwYXJhb3IgPT09IFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tWYWx1ZU5vdEVxdWFscyhleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZSA9PSBleHBlY3RlZFZhbHVlIHx8IHRoaXMub2tJZkJvdGhFbXB0eShleHBlY3RlZFZhbHVlLCBjdXJyZW50VmFsdWUpOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZU5vdEVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybWF0Q3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlID8gY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudHJpbSgpIDogJyc7XG4gICAgaWYgKCcqJyA9PT0gZXhwZWN0ZWRWYWx1ZSAmJiBmb3JtYXRDdXJyZW50VmFsdWUgIT09ICcnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGZvcm1hdEV4cGVjdGVkVmFsdWUgPSBleHBlY3RlZFZhbHVlID8gZXhwZWN0ZWRWYWx1ZS50b1N0cmluZygpLnRyaW0oKSA6ICcnO1xuICAgIHJldHVybiBmb3JtYXRDdXJyZW50VmFsdWUgIT0gZm9ybWF0RXhwZWN0ZWRWYWx1ZTsgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tNdWx0aVNlbGVjdExpc3RFcXVhbHMoZXhwZWN0ZWRWYWx1ZTogc3RyaW5nLCBjdXJyZW50VmFsdWU6IGFueSwgY29uZGl0aW9uU2VwYXJhdG9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IGV4cGVjdGVkVmFsdWUuc3BsaXQoJywnKS5zb3J0KCkudG9TdHJpbmcoKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUuc29ydCgpLnRvU3RyaW5nKCkgOiAnJztcbiAgICBpZiAoY29uZGl0aW9uU2VwYXJhdG9yID09PSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWRWYWx1ZXMgIT09IHZhbHVlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWVzID09PSB2YWx1ZXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2hlY2tWYWx1ZUNvbnRhaW5zKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoZXhwZWN0ZWRWYWx1ZS5zZWFyY2goJywnKSA+IC0xKSB7XG4gICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IGV4cGVjdGVkVmFsdWUuc3BsaXQoJywnKS5zb3J0KCk7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUuc29ydCgpLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlcy5ldmVyeShpdGVtID0+IHZhbHVlcy5zZWFyY2goaXRlbSkgPj0gMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSAmJiBBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkgPyBjdXJyZW50VmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgcmV0dXJuIHZhbHVlcy5zZWFyY2goZXhwZWN0ZWRWYWx1ZSkgPj0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB1bnF1b3RlZChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXCJ8XCIkL2csICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICghZmllbGRzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGFpbC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKGZpZWxkcywgaGVhZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChGaWVsZHNVdGlscy5pc0FycmF5KGZpZWxkc1toZWFkXSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkluQXJyYXkoZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25Gb3JQYXRoSWZBbnkoZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBmaW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uRm9yUGF0aElmQW55KGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcsIHRhaWw6IHN0cmluZ1tdLCBwYXRoPzogc3RyaW5nKTogYW55IHtcbiAgICBpZiAocGF0aCkge1xuICAgICAgY29uc3QgW18sIC4uLnBhdGhUYWlsXSA9IHBhdGguc3BsaXQoL1tfXSsvZyk7XG4gICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uKGZpZWxkc1toZWFkXSwgdGFpbFswXSwgdGFpbC5zbGljZSgxKSwgcGF0aFRhaWwuam9pbignXycpKTtcbiAgICB9IGVsc2UgaWYgKCFmaWVsZHNbaGVhZF0pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHNbaGVhZF0sIHRhaWxbMF0sIHRhaWwuc2xpY2UoMSksIHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25JbkFycmF5KGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcsIHRhaWw6IHN0cmluZ1tdLCBwYXRoPzogc3RyaW5nKTogYW55IHtcbiAgICAvLyB1c2UgdGhlIHBhdGggdG8gcmVzb2x2ZSB3aGljaCBhcnJheSBlbGVtZW50IHdlIHJlZmVyIHRvXG4gICAgaWYgKHBhdGggJiYgcGF0aC5zdGFydHNXaXRoKGhlYWQpKSB7XG4gICAgICBjb25zdCBbXywgLi4ucGF0aFRhaWxdID0gcGF0aC5zcGxpdCgvW19dKy9nKTtcbiAgICAgIGlmIChwYXRoVGFpbC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYXJyYXlJbmRleCA9IE51bWJlci5wYXJzZUludChwYXRoVGFpbFswXSwgMTApO1xuICAgICAgICAgIGNvbnN0IFtfXywgLi4uZHJvcE51bWJlclBhdGhdID0gcGF0aFRhaWw7XG4gICAgICAgICAgcmV0dXJuIChmaWVsZHNbaGVhZF1bYXJyYXlJbmRleF0gIT09IHVuZGVmaW5lZCkgPyB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oXG4gICAgICAgICAgICBmaWVsZHNbaGVhZF1bYXJyYXlJbmRleF1bJ3ZhbHVlJ10sIHRhaWxbMF0sIHRhaWwuc2xpY2UoMSksIGRyb3BOdW1iZXJQYXRoLmpvaW4oJ18nKSkgOiBudWxsO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igd2hpbGUgcGFyc2luZyBudW1iZXInLCBwYXRoVGFpbFswXSwgZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRVhVSS0yNDYwIC0gaWYgcGF0aCBwcmVzZW50IHRoZW4gc2hvdyBlcnJvciwgb3RoZXJ3aXNlIGxvZyBtZXNzYWdlIHRvIHN0b3AgdW5uZWNlc3NhcnkgY29uc29sZSBlcnJvcnNcbiAgICAgIHBhdGggPyBjb25zb2xlLmVycm9yKCdQYXRoIGluIGZvcm1BcnJheSBzaG91bGQgc3RhcnQgd2l0aCAnLCBoZWFkLCAnLCBmdWxsIHBhdGg6ICcsIHBhdGgpIDpcbiAgICAgICAgY29uc29sZS5sb2coJ1BhdGggbm90IHByZXNlbnQgaW4gZm9ybUFycmF5Jyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVtb3ZlU3RhckNoYXIoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChzdHIgJiYgc3RyLmluZGV4T2YoJyonKSA+IC0xKSB7XG4gICAgICByZXR1cm4gc3RyLnN1YnN0cmluZygwLCBzdHIuaW5kZXhPZignKicpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG9rSWZCb3RoRW1wdHkocmlnaHQ6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCAmJiAocmlnaHQgPT09ICcnKTtcbiAgfVxufVxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvc2VydmljZXMvY29uZGl0aW9uLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckYsT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUM7QUFFbEMsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQUMsT0FBTyxJQUFJLENBQUM7UUFBQyxDQUFDO1FBQ2hDLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFXLEVBQUUsVUFBaUIsRUFBRSxJQUFhO1FBQ2xFLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUFDLE9BQU8sSUFBSSxDQUFDO1FBQUMsQ0FBQztRQUM1RCxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxD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QyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBVTtRQUNwRCxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgX3Njb3JlIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCBwZWcgZnJvbSAnLi9jb25kaXRpb24ucGVnJztcblxuZXhwb3J0IGNsYXNzIENvbmRpdGlvblBhcnNlciB7XG4gIC8qKlxuICAgKiBQYXJzZSB0aGUgcmF3IGZvcm11bGEgYW5kIG91dHB1dCBzdHJ1Y3R1cmVkIGNvbmRpdGlvbiBkYXRhXG4gICAqIHRoYXQgY2FuIGJlIHVzZWQgaW4gZXZhbHVhdGluZyBzaG93L2hpZGUgbG9naWNcbiAgICogQHBhcmFtIGNvbmRpdGlvbiByYXcgZm9ybXVsYSBlLmcuIFRleHRGaWVsZCA9IFwiSGVsbG9cIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShjb25kaXRpb246IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFjb25kaXRpb24pIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25kaXRpb24gPSBjb25kaXRpb24ucmVwbGFjZSgvQ09OVEFJTlMvZywgJyBDT05UQUlOUycpO1xuICAgIHJldHVybiBwZWcucGFyc2UoY29uZGl0aW9uLnRyaW0oKSwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIHRoZSBjdXJyZW50IGZpZWxkcyBhZ2FpbnN0IHRoZSBjb25kaXRpb25zXG4gICAqIEBwYXJhbSBmaWVsZHMgdGhlIGN1cnJlbnQgcGFnZSBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlXG4gICAqIEBwYXJhbSBjb25kaXRpb25zIFRoZSBQZWdKUyBmb3JtdWxhIG91dHB1dFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBldmFsdWF0ZShmaWVsZHM6IGFueSwgY29uZGl0aW9uczogYW55W10sIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWNvbmRpdGlvbnMgfHwgY29uZGl0aW9ucy5sZW5ndGggPT09IDApIHsgcmV0dXJuIHRydWU7IH1cbiAgICBjb25zdCB2YWxpZEpvaW5Db21wYXJhdG9ycyA9IFsnQU5EJywgJ09SJ107XG5cbiAgICByZXR1cm4gY29uZGl0aW9ucy5yZWR1Y2UoKGFjY3VtdWxhdG9yOiBib29sZWFuLCBjb25kaXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGlzSm9pbkNvbXBhcmF0b3IgPSAoY29tcGFyYXRvcjogc3RyaW5nKTogYm9vbGVhbiA9PlxuICAgICAgICAodHlwZW9mIGNvbXBhcmF0b3IgPT09ICdzdHJpbmcnICYmIHZhbGlkSm9pbkNvbXBhcmF0b3JzLmluZGV4T2YoY29tcGFyYXRvcikgIT09IC0xKTtcblxuICAgICAgaWYgKGlzSm9pbkNvbXBhcmF0b3IoY29uZGl0aW9uKSkgeyByZXR1cm4gYWNjdW11bGF0b3I7IH1cblxuICAgICAgbGV0IGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0cnVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb25kaXRpb24pKSB7XG4gICAgICAgIGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRlKGZpZWxkcywgY29uZGl0aW9uKTtcblxuICAgICAgICBpZiAoaXNKb2luQ29tcGFyYXRvcihjb25kaXRpb25zW2luZGV4IC0gMV0pKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVKb2luKGFjY3VtdWxhdG9yLCBjb25kaXRpb25zW2luZGV4IC0gMV0sIGN1cnJlbnRDb25kaXRpb25SZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb25kaXRpb24uY29tcGFyYXRvcikge1xuICAgICAgICBjb25zdCBmb3JtdWxhID0gY29uZGl0aW9uLmZpZWxkUmVmZXJlbmNlICsgY29uZGl0aW9uLmNvbXBhcmF0b3IgKyBjb25kaXRpb24udmFsdWU7XG4gICAgICAgIGN1cnJlbnRDb25kaXRpb25SZXN1bHQgPSB0aGlzLm1hdGNoRXF1YWxpdHlDb25kaXRpb24oZmllbGRzLCBmb3JtdWxhLCBwYXRoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzSm9pbkNvbXBhcmF0b3IoY29uZGl0aW9uc1tpbmRleCAtIDFdKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZUpvaW4oYWNjdW11bGF0b3IsIGNvbmRpdGlvbnNbaW5kZXggLSAxXSwgY3VycmVudENvbmRpdGlvblJlc3VsdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjdXJyZW50Q29uZGl0aW9uUmVzdWx0O1xuICAgIH0sIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZXZhbHVhdGVKb2luKGxlZnRSZXN1bHQ6IGJvb2xlYW4sIGNvbXBhcmF0b3IsIHJpZ2h0UmVzdWx0OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnN3aXRjaC1kZWZhdWx0XG4gICAgc3dpdGNoIChjb21wYXJhdG9yKSB7XG4gICAgICBjYXNlICdPUic6IHJldHVybiBsZWZ0UmVzdWx0IHx8IHJpZ2h0UmVzdWx0O1xuICAgICAgY2FzZSAnQU5EJzogcmV0dXJuIGxlZnRSZXN1bHQgJiYgcmlnaHRSZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWF0Y2hFcXVhbGl0eUNvbmRpdGlvbihmaWVsZHM6IG9iamVjdCwgY29uZGl0aW9uOiBzdHJpbmcsIHBhdGg/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBbZmllbGQsIGNvbmRpdGlvblNlcGFyYXRvcl0gPSB0aGlzLmdldEZpZWxkKGNvbmRpdGlvbik7XG4gICAgY29uc3QgW2hlYWQsIC4uLnRhaWxdID0gZmllbGQuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzLCBoZWFkLCB0YWlsLCBwYXRoKTtcbiAgICBjb25zdCBleHBlY3RlZFZhbHVlID0gdGhpcy51bnF1b3RlZChjb25kaXRpb24uc3BsaXQoY29uZGl0aW9uU2VwYXJhdG9yKVsxXSk7XG4gICAgaWYgKGNvbmRpdGlvblNlcGFyYXRvciA9PT0gU2hvd0NvbmRpdGlvbi5DT05UQUlOUykge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tWYWx1ZUNvbnRhaW5zKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrVmFsdWVFcXVhbHMoZXhwZWN0ZWRWYWx1ZSwgY3VycmVudFZhbHVlLCBjb25kaXRpb25TZXBhcmF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkczogb2JqZWN0LCBoZWFkOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmICh0aGlzLmlzRHluYW1pY0xpc3QoZmllbGRzW2hlYWRdKSkge1xuICAgICAgcmV0dXJuIGZpZWxkc1toZWFkXT8udmFsdWU/LmNvZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmaWVsZHNbaGVhZF07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNEeW5hbWljTGlzdChkeW5hbWljbGlzdDogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFfc2NvcmUuaXNFbXB0eShkeW5hbWljbGlzdCkgJiZcbiAgICAgICAgKF9zY29yZS5oYXMoZHluYW1pY2xpc3QsICd2YWx1ZScpICYmIF9zY29yZS5oYXMoZHluYW1pY2xpc3QsICdsaXN0X2l0ZW1zJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RmllbGQoY29uZGl0aW9uOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmc/XSB7XG4gICAgbGV0IHNlcGFyYXRvcjogc3RyaW5nID0gU2hvd0NvbmRpdGlvbi5DT05UQUlOUztcbiAgICBpZiAoY29uZGl0aW9uLmluZGV4T2YoU2hvd0NvbmRpdGlvbi5DT05UQUlOUykgPCAwKSB7XG4gICAgICBzZXBhcmF0b3IgPSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9FUVVBTFM7XG4gICAgICBpZiAoY29uZGl0aW9uLmluZGV4T2YoU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykgPiAtMSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWyBjb25kaXRpb24uc3BsaXQoc2VwYXJhdG9yKVswXSwgc2VwYXJhdG9yIF07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlRXF1YWxzKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnksIGNvbmRpdGlvblNlcGFyYW9yOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoZXhwZWN0ZWRWYWx1ZS5zZWFyY2goJ1ssXScpID4gLTEpIHsgLy8gZm9yICBtdWx0aS1zZWxlY3QgbGlzdFxuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tNdWx0aVNlbGVjdExpc3RFcXVhbHMoZXhwZWN0ZWRWYWx1ZSwgY3VycmVudFZhbHVlLCBjb25kaXRpb25TZXBhcmFvcik7XG4gICAgfSBlbHNlIGlmIChleHBlY3RlZFZhbHVlLmVuZHNXaXRoKCcqJykgJiYgY3VycmVudFZhbHVlICYmIGNvbmRpdGlvblNlcGFyYW9yICE9PSBTaG93Q29uZGl0aW9uLkNPTkRJVElPTl9OT1RfRVFVQUxTKSB7XG4gICAgICBpZiAodHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5zdGFydHNXaXRoKHRoaXMucmVtb3ZlU3RhckNoYXIoZXhwZWN0ZWRWYWx1ZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWUgPT09ICcqJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2hhbmdlZCBmcm9tICc9PT0nIHRvICc9PScgdG8gY292ZXIgbnVtYmVyIGZpZWxkIGNvbmRpdGlvbnNcbiAgICAgIGlmIChjb25kaXRpb25TZXBhcmFvciA9PT0gU2hvd0NvbmRpdGlvbi5DT05ESVRJT05fTk9UX0VRVUFMUykge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlTm90RXF1YWxzKGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlID09IGV4cGVjdGVkVmFsdWUgfHwgdGhpcy5va0lmQm90aEVtcHR5KGV4cGVjdGVkVmFsdWUsIGN1cnJlbnRWYWx1ZSk7IC8vIHRzbGludDpkaXNhYmxlLWxpbmVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlTm90RXF1YWxzKGV4cGVjdGVkVmFsdWU6IHN0cmluZywgY3VycmVudFZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBmb3JtYXRDdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWUgPyBjdXJyZW50VmFsdWUudG9TdHJpbmcoKS50cmltKCkgOiAnJztcbiAgICBpZiAoJyonID09PSBleHBlY3RlZFZhbHVlICYmIGZvcm1hdEN1cnJlbnRWYWx1ZSAhPT0gJycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgZm9ybWF0RXhwZWN0ZWRWYWx1ZSA9IGV4cGVjdGVkVmFsdWUgPyBleHBlY3RlZFZhbHVlLnRvU3RyaW5nKCkudHJpbSgpIDogJyc7XG4gICAgcmV0dXJuIGZvcm1hdEN1cnJlbnRWYWx1ZSAhPSBmb3JtYXRFeHBlY3RlZFZhbHVlOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja011bHRpU2VsZWN0TGlzdEVxdWFscyhleHBlY3RlZFZhbHVlOiBzdHJpbmcsIGN1cnJlbnRWYWx1ZTogYW55LCBjb25kaXRpb25TZXBhcmF0b3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZS5zcGxpdCgnLCcpLnNvcnQoKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSA/IGN1cnJlbnRWYWx1ZS5zb3J0KCkudG9TdHJpbmcoKSA6ICcnO1xuICAgIGlmIChjb25kaXRpb25TZXBhcmF0b3IgPT09IFNob3dDb25kaXRpb24uQ09ORElUSU9OX05PVF9FUVVBTFMpIHtcbiAgICAgIHJldHVybiBleHBlY3RlZFZhbHVlcyAhPT0gdmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWRWYWx1ZXMgPT09IHZhbHVlcztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjaGVja1ZhbHVlQ29udGFpbnMoZXhwZWN0ZWRWYWx1ZTogc3RyaW5nLCBjdXJyZW50VmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChleHBlY3RlZFZhbHVlLnNlYXJjaCgnLCcpID4gLTEpIHtcbiAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gZXhwZWN0ZWRWYWx1ZS5zcGxpdCgnLCcpLnNvcnQoKTtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IGN1cnJlbnRWYWx1ZSA/IGN1cnJlbnRWYWx1ZS5zb3J0KCkudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgcmV0dXJuIGV4cGVjdGVkVmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gdmFsdWVzLnNlYXJjaChpdGVtKSA+PSAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsdWVzID0gY3VycmVudFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY3VycmVudFZhbHVlKSA/IGN1cnJlbnRWYWx1ZS50b1N0cmluZygpIDogJyc7XG4gICAgICByZXR1cm4gdmFsdWVzLnNlYXJjaChleHBlY3RlZFZhbHVlKSA+PSAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHVucXVvdGVkKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL15cInxcIiQvZywgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHM6IG9iamVjdCwgaGVhZDogc3RyaW5nLCB0YWlsOiBzdHJpbmdbXSwgcGF0aD86IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFmaWVsZHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGlmICh0YWlsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoZmllbGRzLCBoZWFkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKEZpZWxkc1V0aWxzLmlzQXJyYXkoZmllbGRzW2hlYWRdKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uSW5BcnJheShmaWVsZHMsIGhlYWQsIHRhaWwsIHBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkZvclBhdGhJZkFueShmaWVsZHMsIGhlYWQsIHRhaWwsIHBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb25Gb3JQYXRoSWZBbnkoZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChwYXRoKSB7XG4gICAgICBjb25zdCBbXywgLi4ucGF0aFRhaWxdID0gcGF0aC5zcGxpdCgvW19dKy9nKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmRWYWx1ZUZvckNvbXBsZXhDb25kaXRpb24oZmllbGRzW2hlYWRdLCB0YWlsWzBdLCB0YWlsLnNsaWNlKDEpLCBwYXRoVGFpbC5qb2luKCdfJykpO1xuICAgIH0gZWxzZSBpZiAoIWZpZWxkc1toZWFkXSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihmaWVsZHMsIHRhaWxbMF0sIHRhaWwuc2xpY2UoMSksIHBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5maW5kVmFsdWVGb3JDb21wbGV4Q29uZGl0aW9uKGZpZWxkc1toZWFkXSwgdGFpbFswXSwgdGFpbC5zbGljZSgxKSwgcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbkluQXJyYXkoZmllbGRzOiBvYmplY3QsIGhlYWQ6IHN0cmluZywgdGFpbDogc3RyaW5nW10sIHBhdGg/OiBzdHJpbmcpOiBhbnkge1xuICAgIC8vIHVzZSB0aGUgcGF0aCB0byByZXNvbHZlIHdoaWNoIGFycmF5IGVsZW1lbnQgd2UgcmVmZXIgdG9cbiAgICBpZiAocGF0aCAmJiBwYXRoLnN0YXJ0c1dpdGgoaGVhZCkpIHtcbiAgICAgIGNvbnN0IFtfLCAuLi5wYXRoVGFpbF0gPSBwYXRoLnNwbGl0KC9bX10rL2cpO1xuICAgICAgaWYgKHBhdGhUYWlsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBhcnJheUluZGV4ID0gTnVtYmVyLnBhcnNlSW50KHBhdGhUYWlsWzBdLCAxMCk7XG4gICAgICAgICAgY29uc3QgW19fLCAuLi5kcm9wTnVtYmVyUGF0aF0gPSBwYXRoVGFpbDtcbiAgICAgICAgICByZXR1cm4gKGZpZWxkc1toZWFkXVthcnJheUluZGV4XSAhPT0gdW5kZWZpbmVkKSA/IHRoaXMuZmluZFZhbHVlRm9yQ29tcGxleENvbmRpdGlvbihcbiAgICAgICAgICAgIGZpZWxkc1toZWFkXVthcnJheUluZGV4XVsndmFsdWUnXSwgdGFpbFswXSwgdGFpbC5zbGljZSgxKSwgZHJvcE51bWJlclBhdGguam9pbignXycpKSA6IG51bGw7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSBwYXJzaW5nIG51bWJlcicsIHBhdGhUYWlsWzBdLCBlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdQYXRoIGluIGZvcm1BcnJheSBzaG91bGQgc3RhcnQgd2l0aCAnLCBoZWFkLCAnLCBmdWxsIHBhdGg6ICcsIHBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlbW92ZVN0YXJDaGFyKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoc3RyICYmIHN0ci5pbmRleE9mKCcqJykgPiAtMSkge1xuICAgICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgc3RyLmluZGV4T2YoJyonKSk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBva0lmQm90aEVtcHR5KHJpZ2h0OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgJiYgKHJpZ2h0ID09PSAnJyk7XG4gIH1cbn1cbiJdfQ==
@@ -104,14 +104,7 @@ export class ReadFieldsFilterPipe {
104
104
  else {
105
105
  cond = ShowCondition.getInstance(field.show_condition);
106
106
  }
107
- if (path) {
108
- // EXUI-2460 - evaluate with and without path to ensure validity
109
- field.hidden = !cond.match(formValue, path) ? !cond.match(formValue) : false;
110
- }
111
- else {
112
- // if no path there is no need to evaluate twice
113
- field.hidden = !cond.match(formValue);
114
- }
107
+ field.hidden = !cond.match(formValue, path);
115
108
  }
116
109
  else {
117
110
  field.hidden = false;
@@ -177,4 +170,4 @@ export class ReadFieldsFilterPipe {
177
170
  name: 'ccdReadFieldsFilter'
178
171
  }]
179
172
  }], null, null); })();
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQUV2QixNQUFNLENBQVUsWUFBWSxHQUFHO1FBQ3JDLFNBQVM7UUFDVCxJQUFJO1FBQ0osRUFBRTtRQUNGLEVBQUU7S0FDSCxDQUFDO0lBRU0sTUFBTSxDQUFVLGtCQUFrQixHQUFHLENBQUMsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBRXBILE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGNBQWM7UUFDN0MsVUFBVSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQjtLQUNwRCxDQUFDO0lBRUY7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZSxFQUFFLDJCQUFvQztRQUNuRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FB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QkFDcEUsQ0FBQyxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO2dCQUNuRCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLG9CQUFvQixDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSwyQkFBMkIsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFILENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7OEVBcExVLG9CQUFvQjtzRkFBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSGhDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUscUJBQXFCO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RSZWFkRmllbGRzRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkRmllbGRzRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFUyA9IFtcbiAgICB1bmRlZmluZWQsXG4gICAgbnVsbCxcbiAgICAnJyxcbiAgICB7fVxuICBdO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMV0FZU19OVUxMX0ZJRUxEUyA9IFsnQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyJywgJ1dheXNUb1BheScsICdGbGFnTGF1bmNoZXInLCAnQ29tcG9uZW50TGF1bmNoZXInXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVNURURfVFlQRVMgPSB7XG4gICAgQ29tcGxleDogUmVhZEZpZWxkc0ZpbHRlclBpcGU/LmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlPy5pc1ZhbGlkQ29sbGVjdGlvblxuICB9O1xuXG4gIC8qKlxuICAgKiBDb21wbGV4IHR5cGUgc2hvdWxkIGhhdmUgYXQgbGVhc3Qgb24gc2ltcGxlIGZpZWxkIGRlc2NlbmRhbnQgd2l0aCBhIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbXBsZXgoZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzPzogb2JqZWN0LCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMgfHwge307XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLmZpZWxkX3R5cGU7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmaWVsZCwgdmFsdWVzKTtcblxuICAgIGNvbnN0IGhhc0NoaWxkcmVuV2l0aFZhbHVlID0gdHlwZS5jb21wbGV4X2ZpZWxkcy5maW5kKGYgPT4ge1xuICAgICAgY29uc3Qgd2lsbEtlZXAgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdmFsdWUsIHRydWUsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gICAgICByZXR1cm4gd2lsbEtlZXAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KS5oaWRkZW4gIT09IHRydWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbldpdGhWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb2xsZWN0aW9uKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0Pzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgLy8gaWYgZmllbGQgaXMgY29sbGVjdGlvbiBhbmQgaXQgaGFzIGNvbXBsZXgvY29sbGVjdGlvbiBjaGlsZCBmaWVsZDsgcGFyZW50IGZpZWxkIGRvZXNudCBoYXZlIHZhbHVlIGRlZmluZWRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIHZhbHVlcyAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkoZmllbGQuaWQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgaXNOb3RFbXB0eSA9IEFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgaWYgKGlzTm90RW1wdHkgJiYgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gISFmaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb21wbGV4RmllbGQgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICAgICAgaWQ6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4KGNvbXBsZXhGaWVsZCwgdW5kZWZpbmVkLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc05vdEVtcHR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IHZhbHVlPy5oYXNPd25Qcm9wZXJ0eSgnbGlzdF9pdGVtcycpICAmJiB2YWx1ZT8uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgPyB2YWx1ZS52YWx1ZSA6IHZhbHVlO1xuICAgIHJldHVybiAgUmVhZEZpZWxkc0ZpbHRlclBpcGUuRU1QVFlfVkFMVUVTLmluZGV4T2YoZmllbGRWYWx1ZSkgIT09IC0xXG4gICAgICB8fCBmaWVsZFZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzQ29tcG91bmQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0Pzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzQ29tcG91bmQoZmllbGQpXG4gICAgICAgICAgICAmJiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXShmaWVsZCwgdmFsdWUsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBrZWVwRmllbGQoZmllbGQ6IENhc2VGaWVsZCwgdmFsdWU/OiBvYmplY3QsIGlnbm9yZUxhYmVscyA9IGZhbHNlLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAvLyBXZSBzaG91bGRuJ3QgZGl0Y2ggbGFiZWxzLlxuICAgIGlmICghaWdub3JlTGFiZWxzICYmIGZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0xhYmVsJyAmJiAoZmllbGQubGFiZWwgfHwgJycpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBXZSBhbHNvIHNob3VsZG4ndCBkaXRjaCBmaWVsZHMgdGhhdCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgd2l0aCBhIG51bGwgdmFsdWUuXG4gICAgaWYgKHRoaXMuQUxXQVlTX05VTExfRklFTERTLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS50eXBlKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWUgfHwge307XG5cbiAgICBpZiAoUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNDb21wb3VuZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcG91bmQoZmllbGQsIHZhbHVlLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpO1xuICAgIH1cblxuICAgIHJldHVybiAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSlcbiAgICAgIHx8ICFSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KHZhbHVlW2ZpZWxkLmlkXSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZShmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM6IGFueSwgaW5kZXg/OiBudW1iZXIpOiBhbnkge1xuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKSkge1xuICAgICAgbGV0IHZhbHVlOiBhbnk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0udmFsdWVbZmllbGQuaWRdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbZmllbGQuaWRdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGZpZWxkOiBDYXNlRmllbGQsIGZvcm1WYWx1ZTogYW55LCBwYXRoPzogc3RyaW5nLFxuICAgIGZvcm1Hcm91cEF2YWlsYWJsZT86IGJvb2xlYW4sIGZpZWxkSWQ/OiBzdHJpbmcpOiBDYXNlRmllbGQge1xuICAgIGlmIChmaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09ICdISURERU4nKSB7XG4gICAgICBmaWVsZC5oaWRkZW4gPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoZmllbGQuc2hvd19jb25kaXRpb24pIHtcbiAgICAgIGxldCBjb25kOiBTaG93Q29uZGl0aW9uO1xuICAgICAgaWYgKGZpZWxkSWQgJiYgZmllbGQuc2hvd19jb25kaXRpb24uaW5kZXhPZihgJHtmaWVsZElkfS5gKSA+IC0xICYmICFmb3JtR3JvdXBBdmFpbGFibGUgJiYgISFPYmplY3Qua2V5cyhmb3JtVmFsdWUpLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBzZWFyY2ggPSBgJHtmaWVsZElkfS5gO1xuICAgICAgICBjb25zdCBzZWFyY2hSZWdFeHAgPSBuZXcgUmVnRXhwKHNlYXJjaCwgJ2cnKTtcbiAgICAgICAgY29uc3QgcmVwbGFjZVdpdGggPSAnJztcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24ucmVwbGFjZShzZWFyY2hSZWdFeHAsIHJlcGxhY2VXaXRoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25kID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZShmaWVsZC5zaG93X2NvbmRpdGlvbik7XG4gICAgICB9XG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICAvLyBFWFVJLTI0NjAgLSBldmFsdWF0ZSB3aXRoIGFuZCB3aXRob3V0IHBhdGggdG8gZW5zdXJlIHZhbGlkaXR5XG4gICAgICAgIGZpZWxkLmhpZGRlbiA9ICFjb25kLm1hdGNoKGZvcm1WYWx1ZSwgcGF0aCkgPyAhY29uZC5tYXRjaChmb3JtVmFsdWUpIDogZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpZiBubyBwYXRoIHRoZXJlIGlzIG5vIG5lZWQgdG8gZXZhbHVhdGUgdHdpY2VcbiAgICAgICAgZmllbGQuaGlkZGVuID0gIWNvbmQubWF0Y2goZm9ybVZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGQuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGZpZWxkcyBoYXZpbmcgbm8gZGF0YSB0byBkaXNwbGF5IGFuZCBoYXJtb25pc2UgZmllbGQgdmFsdWVzIGNvbWluZyBwYXJlbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY29tcGxleEZpZWxkOiBDYXNlRmllbGQsIGtlZXBFbXB0eT86IGJvb2xlYW4sIGluZGV4PzogbnVtYmVyLFxuICAgIHNldHVwSGlkZGVuID0gZmFsc2UsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCB8IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IHN0cmluZywgaWRQcmVmaXg/OiBzdHJpbmcpOiBDYXNlRmllbGRbXSB7XG4gICAgaWYgKCFjb21wbGV4RmllbGQgfHwgIWNvbXBsZXhGaWVsZC5maWVsZF90eXBlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGRzID0gY29tcGxleEZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMgfHwgW107XG4gICAgY29uc3QgdmFsdWVzID0gY29tcGxleEZpZWxkLnZhbHVlIHx8IHt9O1xuICAgIGxldCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q6IGFueSA9IHZhbHVlcztcbiAgICBsZXQgZm9ybUdyb3VwQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgaWYgKGZvcm1Hcm91cCkge1xuICAgICAgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0ID0gZm9ybUdyb3VwLnZhbHVlID8gZm9ybUdyb3VwLnBhcmVudC5nZXRSYXdWYWx1ZSgpLmRhdGEgOiBmb3JtR3JvdXA7XG4gICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgaWYgKGlkUHJlZml4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGlkUHJlZml4ICE9PSAnJykge1xuICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBpZFByZWZpeC5zdWJzdHJpbmcoMCwgaWRQcmVmaXguaW5kZXhPZignXycpKTtcbiAgICAgICAgICBpZiAoY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0W2ZpZWxkSWRdKSB7XG4gICAgICAgICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSB2YWx1ZXM7XG4gICAgICAgICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0ID0gT2JqZWN0LmFzc2lnbihjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QsIHZhbHVlcyk7XG4gICAgICAgICAgZm9ybUdyb3VwQXZhaWxhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmllbGRzXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBjb25zdCBjbG9uZSA9IEZpZWxkc1V0aWxzLmNsb25lT2JqZWN0KGYpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmdldFZhbHVlKGYsIHZhbHVlcywgaW5kZXgpO1xuICAgICAgICBpZiAoIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgY2xvbmUudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xvbmU7XG4gICAgICB9KVxuICAgICAgLm1hcChmID0+IHtcbiAgICAgICAgaWYgKCFmLmRpc3BsYXlfY29udGV4dCkge1xuICAgICAgICAgIGlmIChGaWVsZHNVdGlscy5pc1ZhbGlkRGlzcGxheUNvbnRleHQoY29tcGxleEZpZWxkLmRpc3BsYXlfY29udGV4dCkpIHtcbiAgICAgICAgICAgIGYuZGlzcGxheV9jb250ZXh0ID0gY29tcGxleEZpZWxkLmRpc3BsYXlfY29udGV4dDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNldHVwSGlkZGVuKSB7XG4gICAgICAgICAgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0LCBwYXRoLCBmb3JtR3JvdXBBdmFpbGFibGUsIGNvbXBsZXhGaWVsZC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGY7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihmID0+IGtlZXBFbXB0eSB8fCBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdW5kZWZpbmVkLCBmYWxzZSwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KSk7XG4gIH1cbn1cbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQUV2QixNQUFNLENBQVUsWUFBWSxHQUFHO1FBQ3JDLFNBQVM7UUFDVCxJQUFJO1FBQ0osRUFBRTtRQUNGLEVBQUU7S0FDSCxDQUFDO0lBRU0sTUFBTSxDQUFVLGtCQUFrQixHQUFHLENBQUMsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBRXBILE1BQU0sQ0FBVSxZQUFZLEdBQUc7UUFDckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGNBQWM7UUFDN0MsVUFBVSxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQjtLQUNwRCxDQUFDO0lBRUY7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZSxFQUFFLDJCQUFvQztRQUNuRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FB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QztRQUNYLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7OEVBOUtVLG9CQUFvQjtzRkFBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSGhDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUscUJBQXFCO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RSZWFkRmllbGRzRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkRmllbGRzRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFUyA9IFtcbiAgICB1bmRlZmluZWQsXG4gICAgbnVsbCxcbiAgICAnJyxcbiAgICB7fVxuICBdO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMV0FZU19OVUxMX0ZJRUxEUyA9IFsnQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyJywgJ1dheXNUb1BheScsICdGbGFnTGF1bmNoZXInLCAnQ29tcG9uZW50TGF1bmNoZXInXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVNURURfVFlQRVMgPSB7XG4gICAgQ29tcGxleDogUmVhZEZpZWxkc0ZpbHRlclBpcGU/LmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlPy5pc1ZhbGlkQ29sbGVjdGlvblxuICB9O1xuXG4gIC8qKlxuICAgKiBDb21wbGV4IHR5cGUgc2hvdWxkIGhhdmUgYXQgbGVhc3Qgb24gc2ltcGxlIGZpZWxkIGRlc2NlbmRhbnQgd2l0aCBhIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbXBsZXgoZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzPzogb2JqZWN0LCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMgfHwge307XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLmZpZWxkX3R5cGU7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmaWVsZCwgdmFsdWVzKTtcblxuICAgIGNvbnN0IGhhc0NoaWxkcmVuV2l0aFZhbHVlID0gdHlwZS5jb21wbGV4X2ZpZWxkcy5maW5kKGYgPT4ge1xuICAgICAgY29uc3Qgd2lsbEtlZXAgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdmFsdWUsIHRydWUsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gICAgICByZXR1cm4gd2lsbEtlZXAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0KS5oaWRkZW4gIT09IHRydWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbldpdGhWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb2xsZWN0aW9uKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0Pzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgLy8gaWYgZmllbGQgaXMgY29sbGVjdGlvbiBhbmQgaXQgaGFzIGNvbXBsZXgvY29sbGVjdGlvbiBjaGlsZCBmaWVsZDsgcGFyZW50IGZpZWxkIGRvZXNudCBoYXZlIHZhbHVlIGRlZmluZWRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIHZhbHVlcyAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkoZmllbGQuaWQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgaXNOb3RFbXB0eSA9IEFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgaWYgKGlzTm90RW1wdHkgJiYgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gISFmaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb21wbGV4RmllbGQgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICAgICAgaWQ6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4KGNvbXBsZXhGaWVsZCwgdW5kZWZpbmVkLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc05vdEVtcHR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZmllbGRWYWx1ZSA9IHZhbHVlPy5oYXNPd25Qcm9wZXJ0eSgnbGlzdF9pdGVtcycpICAmJiB2YWx1ZT8uaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykgPyB2YWx1ZS52YWx1ZSA6IHZhbHVlO1xuICAgIHJldHVybiAgUmVhZEZpZWxkc0ZpbHRlclBpcGUuRU1QVFlfVkFMVUVTLmluZGV4T2YoZmllbGRWYWx1ZSkgIT09IC0xXG4gICAgICB8fCBmaWVsZFZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzQ29tcG91bmQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgY2hlY2tDb25kaXRpb25hbFNob3dBZ2FpbnN0Pzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzQ29tcG91bmQoZmllbGQpXG4gICAgICAgICAgICAmJiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXShmaWVsZCwgdmFsdWUsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBrZWVwRmllbGQoZmllbGQ6IENhc2VGaWVsZCwgdmFsdWU/OiBvYmplY3QsIGlnbm9yZUxhYmVscyA9IGZhbHNlLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3Q/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAvLyBXZSBzaG91bGRuJ3QgZGl0Y2ggbGFiZWxzLlxuICAgIGlmICghaWdub3JlTGFiZWxzICYmIGZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0xhYmVsJyAmJiAoZmllbGQubGFiZWwgfHwgJycpLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBXZSBhbHNvIHNob3VsZG4ndCBkaXRjaCBmaWVsZHMgdGhhdCB3aWxsIGFsd2F5cyBjb21lIGJhY2sgd2l0aCBhIG51bGwgdmFsdWUuXG4gICAgaWYgKHRoaXMuQUxXQVlTX05VTExfRklFTERTLmluZGV4T2YoZmllbGQuZmllbGRfdHlwZS50eXBlKSAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWUgfHwge307XG5cbiAgICBpZiAoUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNDb21wb3VuZChmaWVsZCkpIHtcbiAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcG91bmQoZmllbGQsIHZhbHVlLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpO1xuICAgIH1cblxuICAgIHJldHVybiAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSlcbiAgICAgIHx8ICFSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KHZhbHVlW2ZpZWxkLmlkXSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZShmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM6IGFueSwgaW5kZXg/OiBudW1iZXIpOiBhbnkge1xuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKSkge1xuICAgICAgbGV0IHZhbHVlOiBhbnk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0udmFsdWVbZmllbGQuaWRdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZXNbZmllbGQuaWRdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGZpZWxkOiBDYXNlRmllbGQsIGZvcm1WYWx1ZTogYW55LCBwYXRoPzogc3RyaW5nLFxuICAgIGZvcm1Hcm91cEF2YWlsYWJsZT86IGJvb2xlYW4sIGZpZWxkSWQ/OiBzdHJpbmcpOiBDYXNlRmllbGQge1xuICAgIGlmIChmaWVsZC5kaXNwbGF5X2NvbnRleHQgPT09ICdISURERU4nKSB7XG4gICAgICBmaWVsZC5oaWRkZW4gPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoZmllbGQuc2hvd19jb25kaXRpb24pIHtcbiAgICAgIGxldCBjb25kOiBTaG93Q29uZGl0aW9uO1xuICAgICAgaWYgKGZpZWxkSWQgJiYgZmllbGQuc2hvd19jb25kaXRpb24uaW5kZXhPZihgJHtmaWVsZElkfS5gKSA+IC0xICYmICFmb3JtR3JvdXBBdmFpbGFibGUgJiYgISFPYmplY3Qua2V5cyhmb3JtVmFsdWUpLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBzZWFyY2ggPSBgJHtmaWVsZElkfS5gO1xuICAgICAgICBjb25zdCBzZWFyY2hSZWdFeHAgPSBuZXcgUmVnRXhwKHNlYXJjaCwgJ2cnKTtcbiAgICAgICAgY29uc3QgcmVwbGFjZVdpdGggPSAnJztcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24ucmVwbGFjZShzZWFyY2hSZWdFeHAsIHJlcGxhY2VXaXRoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25kID0gU2hvd0NvbmRpdGlvbi5nZXRJbnN0YW5jZShmaWVsZC5zaG93X2NvbmRpdGlvbik7XG4gICAgICB9XG4gICAgICBmaWVsZC5oaWRkZW4gPSAhY29uZC5tYXRjaChmb3JtVmFsdWUsIHBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWVsZC5oaWRkZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBvdXQgZmllbGRzIGhhdmluZyBubyBkYXRhIHRvIGRpc3BsYXkgYW5kIGhhcm1vbmlzZSBmaWVsZCB2YWx1ZXMgY29taW5nIHBhcmVudCdzIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIHRyYW5zZm9ybShcbiAgICBjb21wbGV4RmllbGQ6IENhc2VGaWVsZCwga2VlcEVtcHR5PzogYm9vbGVhbiwgaW5kZXg/OiBudW1iZXIsXG4gICAgc2V0dXBIaWRkZW4gPSBmYWxzZSwgZm9ybUdyb3VwPzogRm9ybUdyb3VwIHwgQWJzdHJhY3RDb250cm9sLCBwYXRoPzogc3RyaW5nLCBpZFByZWZpeD86IHN0cmluZyk6IENhc2VGaWVsZFtdIHtcbiAgICBpZiAoIWNvbXBsZXhGaWVsZCB8fCAhY29tcGxleEZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHMgPSBjb21wbGV4RmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb21wbGV4RmllbGQudmFsdWUgfHwge307XG4gICAgbGV0IGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdDogYW55ID0gdmFsdWVzO1xuICAgIGxldCBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICBpZiAoZm9ybUdyb3VwKSB7XG4gICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBmb3JtR3JvdXAudmFsdWUgPyBmb3JtR3JvdXAucGFyZW50LmdldFJhd1ZhbHVlKCkuZGF0YSA6IGZvcm1Hcm91cDtcbiAgICAgIGZvcm1Hcm91cEF2YWlsYWJsZSA9IHRydWU7XG4gICAgICBpZiAoaWRQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoaWRQcmVmaXggIT09ICcnKSB7XG4gICAgICAgICAgY29uc3QgZmllbGRJZCA9IGlkUHJlZml4LnN1YnN0cmluZygwLCBpZFByZWZpeC5pbmRleE9mKCdfJykpO1xuICAgICAgICAgIGlmIChjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3RbZmllbGRJZF0pIHtcbiAgICAgICAgICAgIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCA9IHZhbHVlcztcbiAgICAgICAgICAgIGZvcm1Hcm91cEF2YWlsYWJsZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBPYmplY3QuYXNzaWduKGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCwgdmFsdWVzKTtcbiAgICAgICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gRmllbGRzVXRpbHMuY2xvbmVPYmplY3QoZik7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVhZEZpZWxkc0ZpbHRlclBpcGUuZ2V0VmFsdWUoZiwgdmFsdWVzLCBpbmRleCk7XG4gICAgICAgIGlmICghUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICBjbG9uZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBpZiAoIWYuZGlzcGxheV9jb250ZXh0KSB7XG4gICAgICAgICAgaWYgKEZpZWxkc1V0aWxzLmlzVmFsaWREaXNwbGF5Q29udGV4dChjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0KSkge1xuICAgICAgICAgICAgZi5kaXNwbGF5X2NvbnRleHQgPSBjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0dXBIaWRkZW4pIHtcbiAgICAgICAgICBSZWFkRmllbGRzRmlsdGVyUGlwZS5ldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QsIHBhdGgsIGZvcm1Hcm91cEF2YWlsYWJsZSwgY29tcGxleEZpZWxkLmlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZjtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKGYgPT4ga2VlcEVtcHR5IHx8IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmtlZXBGaWVsZChmLCB1bmRlZmluZWQsIGZhbHNlLCBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QpKTtcbiAgfVxufVxuIl19