@hmcts/ccd-case-ui-toolkit 7.0.72 → 7.0.74-exui-1832-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +12 -5
  2. package/esm2022/lib/shared/components/palette/base-field/field-write.component.mjs +2 -2
  3. package/esm2022/lib/shared/components/palette/complex/read-complex-field-table.component.mjs +21 -5
  4. package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +34 -18
  5. package/esm2022/lib/shared/components/palette/yes-no/write-yes-no-field.component.mjs +5 -6
  6. package/esm2022/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +4 -2
  7. package/esm2022/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.mjs +9 -2
  8. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +81 -34
  9. package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
  10. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +1 -0
  11. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -1
  12. package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts +7 -1
  13. package/lib/shared/components/palette/complex/read-complex-field-table.component.d.ts.map +1 -1
  14. package/lib/shared/components/palette/document/write-document-field.component.d.ts +1 -0
  15. package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
  16. package/lib/shared/directives/conditional-show/services/condition-parser.service.d.ts.map +1 -1
  17. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  18. package/package.json +1 -1
@@ -43,6 +43,7 @@ export class CaseSpecificAccessRequestComponent {
43
43
  $roleAssignmentResponseSubscription;
44
44
  genericError = 'There is a problem';
45
45
  specificReasonControlName = 'specificReason';
46
+ getSpecificAccessError = false;
46
47
  constructor(fb, router, casesService, route, caseNotifier) {
47
48
  this.fb = fb;
48
49
  this.router = router;
@@ -97,9 +98,15 @@ export class CaseSpecificAccessRequestComponent {
97
98
  .subscribe(() => {
98
99
  // Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
99
100
  // Angular 7.2
101
+ this.getSpecificAccessError = false;
100
102
  this.router.navigate(['success'], { relativeTo: this.route });
101
103
  }, () => {
102
- // Navigate to error page
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
+ };
103
110
  });
104
111
  }
105
112
  }
@@ -116,7 +123,7 @@ export class CaseSpecificAccessRequestComponent {
116
123
  return input.value === null || input.value.trim().length === 0;
117
124
  }
118
125
  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)); };
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) {
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) {
120
127
  i0.ɵɵtemplate(0, CaseSpecificAccessRequestComponent_exui_error_message_0_Template, 1, 1, "exui-error-message", 0);
121
128
  i0.ɵɵelementStart(1, "cut-alert", 1);
122
129
  i0.ɵɵtext(2);
@@ -170,7 +177,7 @@ export class CaseSpecificAccessRequestComponent {
170
177
  i0.ɵɵpipe(49, "rpxTranslate");
171
178
  i0.ɵɵelementEnd()()()()();
172
179
  } if (rf & 2) {
173
- i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted);
180
+ i0.ɵɵproperty("ngIf", ctx.formGroup.invalid && ctx.submitted || ctx.getSpecificAccessError);
174
181
  i0.ɵɵadvance(2);
175
182
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 16, "Authorisation is needed to access this case."), "");
176
183
  i0.ɵɵadvance(3);
@@ -205,7 +212,7 @@ export class CaseSpecificAccessRequestComponent {
205
212
  }
206
213
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseSpecificAccessRequestComponent, [{
207
214
  type: Component,
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" }]
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" }]
209
216
  }], () => [{ type: i1.FormBuilder }, { type: i2.Router }, { type: i3.CasesService }, { type: i2.ActivatedRoute }, { type: i3.CaseNotifier }], null); })();
210
217
  (() => { (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 }); })();
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=
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=
@@ -63,11 +63,11 @@ export class FieldWriteComponent extends AbstractFieldWriteComponent {
63
63
  } if (rf & 2) {
64
64
  i0.ɵɵclassProp("grey-bar", ctx.canHaveGreyBar && !ctx.caseField.hiddenCannotChange);
65
65
  i0.ɵɵproperty("hidden", ctx.caseField.hidden);
66
- } }, styles: [".form [_nghost-%COMP%] .grey-bar>*>.form-group, .form [_nghost-%COMP%] .grey-bar>*>*>.form-group, .form [_nghost-%COMP%] .grey-bar>*>dl.case-field{margin-left:15px;padding-left:15px}.form [_nghost-%COMP%] .grey-bar>*>.form-group:not(.form-group-error), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group:not(.form-group-error), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field:not(.form-group-error){border-left:solid 5px #b1b4b6}.form [_nghost-%COMP%] .grey-bar>*>.form-group input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>.form-group select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>.form-group textarea:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group textarea:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field textarea:not(.inline-block){display:block}"] });
66
+ } }, styles: [".input-upload-file[_ngcontent-%COMP%]{width:100%;display:none}.upload-file-container[_ngcontent-%COMP%]{display:flex;align-items:baseline}.input-label[_ngcontent-%COMP%]{width:8rem}.form [_nghost-%COMP%] .grey-bar>*>.form-group, .form [_nghost-%COMP%] .grey-bar>*>*>.form-group, .form [_nghost-%COMP%] .grey-bar>*>dl.case-field{margin-left:15px;padding-left:15px}.form [_nghost-%COMP%] .grey-bar>*>.form-group:not(.form-group-error), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group:not(.form-group-error), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field:not(.form-group-error){border-left:solid 5px #b1b4b6}.form [_nghost-%COMP%] .grey-bar>*>.form-group input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>.form-group select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>.form-group textarea:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>*>.form-group textarea:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field input:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field select:not(.inline-block), .form [_nghost-%COMP%] .grey-bar>*>dl.case-field textarea:not(.inline-block){display:block}"] });
67
67
  }
68
68
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FieldWriteComponent, [{
69
69
  type: Component,
70
- args: [{ selector: 'ccd-field-write', template: "<div [hidden]=\"caseField.hidden\" [class.grey-bar]=\"canHaveGreyBar && !caseField.hiddenCannotChange\">\n <ng-container #fieldContainer></ng-container>\n</div>\n", styles: [".form :host::ng-deep .grey-bar>*>.form-group,.form :host::ng-deep .grey-bar>*>*>.form-group,.form :host::ng-deep .grey-bar>*>dl.case-field{margin-left:15px;padding-left:15px}.form :host::ng-deep .grey-bar>*>.form-group:not(.form-group-error),.form :host::ng-deep .grey-bar>*>*>.form-group:not(.form-group-error),.form :host::ng-deep .grey-bar>*>dl.case-field:not(.form-group-error){border-left:solid 5px #b1b4b6}.form :host::ng-deep .grey-bar>*>.form-group input:not(.inline-block),.form :host::ng-deep .grey-bar>*>.form-group select:not(.inline-block),.form :host::ng-deep .grey-bar>*>.form-group textarea:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group input:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group select:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group textarea:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field input:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field select:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field textarea:not(.inline-block){display:block}\n"] }]
70
+ args: [{ selector: 'ccd-field-write', template: "<div [hidden]=\"caseField.hidden\" [class.grey-bar]=\"canHaveGreyBar && !caseField.hiddenCannotChange\">\n <ng-container #fieldContainer></ng-container>\n</div>\n", styles: [".input-upload-file{width:100%;display:none}.upload-file-container{display:flex;align-items:baseline}.input-label{width:8rem}.form :host::ng-deep .grey-bar>*>.form-group,.form :host::ng-deep .grey-bar>*>*>.form-group,.form :host::ng-deep .grey-bar>*>dl.case-field{margin-left:15px;padding-left:15px}.form :host::ng-deep .grey-bar>*>.form-group:not(.form-group-error),.form :host::ng-deep .grey-bar>*>*>.form-group:not(.form-group-error),.form :host::ng-deep .grey-bar>*>dl.case-field:not(.form-group-error){border-left:solid 5px #b1b4b6}.form :host::ng-deep .grey-bar>*>.form-group input:not(.inline-block),.form :host::ng-deep .grey-bar>*>.form-group select:not(.inline-block),.form :host::ng-deep .grey-bar>*>.form-group textarea:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group input:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group select:not(.inline-block),.form :host::ng-deep .grey-bar>*>*>.form-group textarea:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field input:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field select:not(.inline-block),.form :host::ng-deep .grey-bar>*>dl.case-field textarea:not(.inline-block){display:block}\n"] }]
71
71
  }], () => [{ type: i0.ComponentFactoryResolver }, { type: i1.PaletteService }], { caseFields: [{
72
72
  type: Input
73
73
  }], fieldContainer: [{
@@ -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) => [a0, false, undefined, true, a1, undefined, a2];
4
+ const _c0 = (a0, a1, a2, a3) => [a0, false, undefined, true, a1, a2, a3];
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,9 +46,25 @@ 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';
49
53
  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
+ }
50
66
  static ɵfac = /*@__PURE__*/ (() => { let ɵReadComplexFieldTableComponent_BaseFactory; return function ReadComplexFieldTableComponent_Factory(t) { return (ɵReadComplexFieldTableComponent_BaseFactory || (ɵReadComplexFieldTableComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadComplexFieldTableComponent)))(t || ReadComplexFieldTableComponent); }; })();
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) {
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) {
52
68
  i0.ɵɵelementStart(0, "div", 1)(1, "dl", 2)(2, "dt")(3, "span", 3);
53
69
  i0.ɵɵtext(4);
54
70
  i0.ɵɵpipe(5, "rpxTranslate");
@@ -63,14 +79,14 @@ export class ReadComplexFieldTableComponent extends AbstractFieldReadComponent {
63
79
  i0.ɵɵadvance(4);
64
80
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 2, ctx.caseField.label));
65
81
  i0.ɵɵadvance(5);
66
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(10, 4, i0.ɵɵpureFunction3(12, _c0, ctx.caseField, ctx.topLevelFormGroup, ctx.idPrefix)));
82
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBindV(10, 4, i0.ɵɵpureFunction4(12, _c0, ctx.caseField, ctx.topLevelFormGroup, ctx.path, ctx.idPrefix)));
67
83
  } }, 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}"] });
68
84
  }
69
85
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadComplexFieldTableComponent, [{
70
86
  type: Component,
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"] }]
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"] }]
72
88
  }], null, { caseFields: [{
73
89
  type: Input
74
90
  }] }); })();
75
91
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadComplexFieldTableComponent, { className: "ReadComplexFieldTableComponent", filePath: "lib/shared/components/palette/complex/read-complex-field-table.component.ts", lineNumber: 10 }); })();
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7SUNHakYsNkJBQThEO0lBR3hELEFBREYsQUFERiw2QkFBaUUsWUFDL0MsY0FDUTtJQUNwQixvQ0FDMkQ7SUFHakUsQUFERSxBQURFLGlCQUFPLEVBQ0osRUFDRjs7Ozs7SUFQb0MsY0FBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQU9ILEFBQTFDLEFBREYsOEJBQStELGFBQ25CLGNBQXNCO0lBQUEsWUFBOEI7O0lBQU8sQUFBUCxpQkFBTyxFQUFLO0lBRXRHLEFBREosMEJBQUksY0FDc0I7SUFDcEIsb0NBQzJEO0lBR25FLEFBREUsQUFESSxpQkFBTyxFQUNOLEVBQ0Y7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQWpCckQsNkJBQW1JO0lBQ2pJLGdIQUE4RDs7SUFVOUQsK0lBQXdCOzs7OztJQVZULGNBQStCO0lBQUEsQUFBL0IscURBQStCLDBCQUFjOztBRElwRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBRXJFLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO3FSQUZ6Qiw4QkFBOEIsU0FBOUIsOEJBQThCOzZEQUE5Qiw4QkFBOEI7WUNSTCxBQUFKLEFBQWhDLEFBREYsOEJBQTJCLFlBQ08sU0FBSSxjQUFzQjtZQUFBLFlBQWtDOztZQUFPLEFBQVAsaUJBQU8sRUFBSztZQUFBLHFCQUFTO1lBQUEsaUJBQUs7WUFFcEgsQUFERixnQ0FBMEUsWUFDakU7WUFDTCxpR0FBbUk7O1lBeUJ6SSxBQURFLEFBREUsaUJBQVEsRUFDRixFQUNKOztZQTVCc0QsZUFBa0M7WUFBbEMsK0RBQWtDO1lBR3hELGVBQWlHO1lBQWpHLGdJQUFpRzs7O2lGREsxSCw4QkFBOEI7Y0FMMUMsU0FBUzsyQkFDRSw4QkFBOEI7Z0JBTWpDLFVBQVU7a0JBRGhCLEtBQUs7O2tGQURLLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29tcGxleC1wYW5lbFwiPlxuICA8ZGwgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRpdGxlXCI+PGR0PjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9kdD48ZGQ+PC9kZD48L2RsPlxuICA8dGFibGUgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRhYmxlXCIgYXJpYS1kZXNjcmliZWRieT1cImNvbXBsZXggZmllbGQgdGFibGVcIj5cbiAgICA8dGJvZHk+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjYXNlRmllbGQgfCBjY2RSZWFkRmllbGRzRmlsdGVyOmZhbHNlIDp1bmRlZmluZWQgOnRydWUgOnRvcExldmVsRm9ybUdyb3VwOiB1bmRlZmluZWQgOmlkUHJlZml4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZmllbGQgfCBjY2RJc0NvbXBvdW5kKTsgZWxzZSBTaW1wbGVSb3dcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLWNvbXBvdW5kLWZpZWxkXCIgW2hpZGRlbl09XCJmaWVsZC5oaWRkZW5cIj5cbiAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNTaW1wbGVSb3c+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgPHRoIGlkPVwiY29tcGxleC1wYW5lbC1zaW1wbGUtZmllbGQtbGFiZWxcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2ZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cImZpZWxkXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7Ozs7SUNHakYsNkJBQThEO0lBR3hELEFBREYsQUFERiw2QkFBaUUsWUFDL0MsY0FDUTtJQUNwQixvQ0FDMkQ7SUFHakUsQUFERSxBQURFLGlCQUFPLEVBQ0osRUFDRjs7Ozs7SUFQb0MsY0FBdUI7SUFBdkIsd0NBQXVCO0lBRzFDLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQU9ILEFBQTFDLEFBREYsOEJBQStELGFBQ25CLGNBQXNCO0lBQUEsWUFBOEI7O0lBQU8sQUFBUCxpQkFBTyxFQUFLO0lBRXRHLEFBREosMEJBQUksY0FDc0I7SUFDcEIsb0NBQzJEO0lBR25FLEFBREUsQUFESSxpQkFBTyxFQUNOLEVBQ0Y7Ozs7SUFSa0Msd0NBQXVCO0lBQ0ksZUFBOEI7SUFBOUIsMERBQThCO0lBR3hFLGVBQXVDO0lBQ2pDLEFBQXBCLEFBRGMsNERBQXVDLHVCQUNsQywyQkFBb0I7OztJQWpCckQsNkJBQThIO0lBQzVILGdIQUE4RDs7SUFVOUQsK0lBQXdCOzs7OztJQVZULGNBQStCO0lBQUEsQUFBL0IscURBQStCLDBCQUFjOztBRElwRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMEJBQTBCO0lBQzVFLGlGQUFpRjtJQUNqRiwyQ0FBMkM7SUFDcEMsTUFBTSxDQUFVLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztJQUM3QyxNQUFNLENBQVUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDO0lBRzVDLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO0lBRTdCLElBQUksQ0FBUztJQUViLFFBQVE7UUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7aUNBSTZCO0lBQ3JCLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLDhCQUE4QixDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsOEJBQThCLENBQUMsaUJBQWlCLENBQUM7SUFDakksQ0FBQztxUkF0QlUsOEJBQThCLFNBQTlCLDhCQUE4Qjs2REFBOUIsOEJBQThCO1lDUkwsQUFBSixBQUFoQyxBQURGLDhCQUEyQixZQUNPLFNBQUksY0FBc0I7WUFBQSxZQUFrQzs7WUFBTyxBQUFQLGlCQUFPLEVBQUs7WUFBQSxxQkFBUztZQUFBLGlCQUFLO1lBRXBILEFBREYsZ0NBQTBFLFlBQ2pFO1lBQ0wsaUdBQThIOztZQXlCcEksQUFERSxBQURFLGlCQUFRLEVBQ0YsRUFDSjs7WUE1QnNELGVBQWtDO1lBQWxDLCtEQUFrQztZQUd4RCxlQUE0RjtZQUE1RiwwSUFBNEY7OztpRkRLckgsOEJBQThCO2NBTDFDLFNBQVM7MkJBQ0UsOEJBQThCO2dCQVdqQyxVQUFVO2tCQURoQixLQUFLOztrRkFOSyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC1yZWFkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtdGFibGUuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gcGFyZW50XyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhbnkgKioqXyAtIHVuZGVyc2NvcmUgaXMgb25seSBpbXBvcnRhbnQgY2hhcmFjdGVyXG4gIC8vIHZhbHVlIGNhbiBhbHNvIGJlIHJlcGxhY2VkIHdpdGggYW55dGhpbmdcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEVU1NWV9TVFJJTkdfUFJFID0gJ3BhcmVudF8nO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERVTU1ZX1NUUklOR19QT1NUID0gJ3ZhbHVlJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW10gPSBbXTtcblxuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldER1bW15UGF0aEZvckNoaWxkQXJyYXlzKCk7XG4gIH1cblxuICAvKiBJbiBvcmRlciB0byBnZXQgY2hpbGQgYXJyYXlzICh3aXRoaW4gY2FzZWZpZWxkKSB0byBkaXNwbGF5IHRoZWlyIGxvZ2ljXG4gICAgd2UgbmVlZCB0byBhZGQgYSBwYXRoLiBUaGlzIHBhdGggbmVlZHMgdG8gaW5jbHVkZSB0aGUgaWRQcmVmaXggYXMgdGhhdFxuICAgIGlzIHRoZSBwYXJ0IG9mIHRoZSBwYXRoIHRoYXQgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBlbGVtZW50cy5cbiAgICBUaGUgam9pbmluZyBzdHJpbmdzIHdpbGwgYWxsb3cgdXMgdG8gdXNlIHRoZSBleGlzdGluZyBzaG93IGNvbmRpdGlvbiB0b1xuICAgIG1hdGNoIGFnYWluc3QgdGhpcyBwYXRoLiAqL1xuICBwcml2YXRlIHNldER1bW15UGF0aEZvckNoaWxkQXJyYXlzKCk6IHZvaWQge1xuICAgIHRoaXMucGF0aCA9IFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudC5EVU1NWV9TVFJJTkdfUFJFICsgdGhpcy5pZFByZWZpeCArIFJlYWRDb21wbGV4RmllbGRUYWJsZUNvbXBvbmVudC5EVU1NWV9TVFJJTkdfUE9TVDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPjxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+PGRkPjwvZGQ+PC9kbD5cbiAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IGZpZWxkIHRhYmxlXCI+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY2FzZUZpZWxkIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjpmYWxzZSA6dW5kZWZpbmVkIDp0cnVlIDp0b3BMZXZlbEZvcm1Hcm91cCA6cGF0aCA6aWRQcmVmaXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihmaWVsZCB8IGNjZElzQ29tcG91bmQpOyBlbHNlIFNpbXBsZVJvd1wiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtY29tcG91bmQtZmllbGRcIiBbaGlkZGVuXT1cImZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJmaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI1NpbXBsZVJvdz5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZFwiIFtoaWRkZW5dPVwiZmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICA8dGggaWQ9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZC1sYWJlbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7ZmllbGQubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFt0b3BMZXZlbEZvcm1Hcm91cF09XCJ0b3BMZXZlbEZvcm1Hcm91cFwiXG4gICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwiZmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=