verben-authentication-ui 0.2.7 → 0.3.0

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 (32) hide show
  1. package/esm2022/lib/components/sign-in/sign-in.component.mjs +14 -4
  2. package/esm2022/lib/components/user-management/helper.mjs +6 -4
  3. package/esm2022/lib/components/user-management/user-management.columns.mjs +3 -3
  4. package/esm2022/lib/components/user-management/user-management.component.mjs +22 -18
  5. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +2 -2
  6. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +23 -5
  7. package/esm2022/lib/components/user-request-approval/helper.mjs +5 -3
  8. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +11 -1
  9. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +2 -2
  10. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +3 -3
  11. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +37 -51
  12. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +3 -21
  13. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +12 -5
  14. package/esm2022/lib/models/paged.mjs +2 -0
  15. package/esm2022/lib/models/query-params.mjs +1 -1
  16. package/esm2022/lib/models/user-access-request-status.mjs +4 -4
  17. package/esm2022/lib/models/user-access-request.mjs +1 -1
  18. package/esm2022/lib/models/user.mjs +1 -1
  19. package/fesm2022/verben-authentication-ui.mjs +187 -163
  20. package/fesm2022/verben-authentication-ui.mjs.map +1 -1
  21. package/lib/components/sign-in/sign-in.component.d.ts +6 -2
  22. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +3 -2
  23. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +10 -2
  24. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +3 -3
  25. package/lib/components/user-request-approval/user-request-approval.component.d.ts +5 -6
  26. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +2 -1
  27. package/lib/models/paged.d.ts +9 -0
  28. package/lib/models/query-params.d.ts +2 -2
  29. package/lib/models/user-access-request-status.d.ts +3 -3
  30. package/lib/models/user-access-request.d.ts +2 -2
  31. package/lib/models/user.d.ts +3 -1
  32. package/package.json +1 -1
@@ -55,6 +55,8 @@ export class SignInComponent {
55
55
  onSubmitEnd = new EventEmitter();
56
56
  googleClick = new EventEmitter();
57
57
  appleClick = new EventEmitter();
58
+ tenantDetails = null;
59
+ AuthMechanisms = null;
58
60
  loginForm;
59
61
  apiKey;
60
62
  secret;
@@ -76,6 +78,14 @@ export class SignInComponent {
76
78
  this.apiKey = this.envSvc.environment.APIKey;
77
79
  this.secret = this.envSvc.environment.Secret;
78
80
  }
81
+ ngOnInit() {
82
+ this.getTenantConfig();
83
+ }
84
+ async getTenantConfig() {
85
+ const res = await this.server.get(`Tenant/GetTenantConfigByKey/${this.apiKey}`);
86
+ this.tenantDetails = res;
87
+ this.AuthMechanisms = this.tenantDetails?.AuthMechanisms;
88
+ }
79
89
  checkForm() {
80
90
  return this.loginForm.valid;
81
91
  }
@@ -86,7 +96,7 @@ export class SignInComponent {
86
96
  const data = {
87
97
  MailAddress: this.loginForm.controls['Email'].value,
88
98
  Password: this.loginForm.controls['Password'].value,
89
- LoginType: "InApp",
99
+ LoginType: this.tenantDetails?.AuthMechanism,
90
100
  APIKey: this.apiKey,
91
101
  Secrete: this.secret
92
102
  };
@@ -123,11 +133,11 @@ export class SignInComponent {
123
133
  };
124
134
  }
125
135
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i3.UtilService }, { token: i4.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
126
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", googleClick: "googleClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [customErrorMessages]=\"{\n password:'length must be 5 characters'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <div> \n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i6.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", outputs: ["googleClick", "appleClick"] }, { kind: "component", type: i9.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
136
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", googleClick: "googleClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [customErrorMessages]=\"{\n password:'length must be 5 characters'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <div> \n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <div *ngIf=\"this.AuthMechanisms !== null && this.AuthMechanisms.length\"> \n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i6.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", outputs: ["googleClick", "appleClick"] }, { kind: "component", type: i9.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
127
137
  }
128
138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, decorators: [{
129
139
  type: Component,
130
- args: [{ selector: 'verben-sign-in', template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [customErrorMessages]=\"{\n password:'length must be 5 characters'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <div> \n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"] }]
140
+ args: [{ selector: 'verben-sign-in', template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit()\" class=\"flexWrapper\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [customErrorMessages]=\"{\n password:'length must be 5 characters'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <div> \n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <div *ngIf=\"this.AuthMechanisms !== null && this.AuthMechanisms.length\"> \n <verben-o-auth \n (googleClick)=\"handleGoogleAuth()\"\n (appleClick)=\"handleAppleAuth()\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"] }]
131
141
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.HttpWebRequestService }, { type: i3.UtilService }, { type: i4.EnvironmentService }], propDecorators: { headlingText: [{
132
142
  type: Input
133
143
  }], width: [{
@@ -201,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
201
211
  }], appleClick: [{
202
212
  type: Output
203
213
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFHTCxXQUFXLEVBR1gsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7OztBQVUzRCxNQUFNLE9BQU8sZUFBZTtJQWtETjtJQUNWO0lBQ0E7SUFDQTtJQXBERCxZQUFZLEdBQVcsU0FBUyxDQUFDO0lBQ2pDLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsV0FBVyxHQUFXLEVBQUUsQ0FBQTtJQUN4QixhQUFhLEdBQVcsRUFBRSxDQUFBO0lBQzFCLE9BQU8sR0FBVyxNQUFNLENBQUM7SUFDekIsU0FBUyxHQUFXLGlDQUFpQyxDQUFDO0lBQ3RELE1BQU0sR0FBVyxxQkFBcUIsQ0FBQztJQUN2QyxZQUFZLEdBQVcsTUFBTSxDQUFDO0lBQzlCLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDM0IsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUN4QixtQkFBbUIsR0FBVyxFQUFFLENBQUM7SUFDakMsa0JBQWtC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O2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHSSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2luRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9sb2ctaW4nO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JSZXNwb25zZSc7XG5pbXBvcnQgeyBSZXNwb25zZUtleVZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Jlc3BvbnNlS2V5VmFsdWUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXNpZ24taW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zaWduLWluLmNvbXBvbmVudC5jc3MnXG59KVxuXG5leHBvcnQgY2xhc3MgU2lnbkluQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGxpbmdUZXh0OiBzdHJpbmcgPSAnU2lnbiBpbic7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4V2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtYXJnaW46IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgZm9yZ2V0UGFzc3dvcmRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVlc3RBY2Nlc3NDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRMaW5rQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIC8vIGxpbmtzXG4gIEBJbnB1dCgpIGZvcmdldFBhc3N3b3JkTGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRMaW5rOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVxdWVzdEFjY2Vzc0xpbms6IHN0cmluZyA9ICcnO1xuXG4gIC8vIGJ1dHRvbiBzdHlsZXNcbiAgQElucHV0KCkgYnRuQ2xhc3M6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJ1xuICBASW5wdXQoKSBidG5Db2xvcjogc3RyaW5nID0gJydcbiAgQElucHV0KCkgYnRuQm9yZGVyOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcyNHB4J1xuICBASW5wdXQoKSBidG5QZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ0blRleHQ6IHN0cmluZyA9ICdMb2cgaW4nO1xuXG4gIC8vaW5wdXRTdHlsZXNcbiAgIEBJbnB1dCgpIGlucHV0TGFiZWxDb2xvcjogc3RyaW5nID0gJydcbiAgIEBJbnB1dCgpIGlucHV0QmdDb2xvcjogc3RyaW5nID0gJ3RyYW5zcGFyZW50J1xuICAgQElucHV0KCkgaW5wdXRCb3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjU5J1xuICAgQElucHV0KCkgaW5wdXRCb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcxMnB4J1xuICAgQElucHV0KCkgdGVybXNFcnJvclRleHQ6IHN0cmluZyA9ICdQbGVhc2UgYWdyZWUgdG8gdGhlIHRlcm1zIG9mIHVzZSBhbmQgcHJpdmFjeSBwb2xpY3kuJ1xuXG4gICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9naW5EYXRhPigpO1xuICAgQE91dHB1dCgpIG9uU3VibWl0RW5kOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGdvb2dsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGFwcGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gXG5cbiAgbG9naW5Gb3JtOiBGb3JtR3JvdXA7XG4gIGFwaUtleTpzdHJpbmc7XG4gIHNlY3JldDpzdHJpbmdcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW52U3ZjOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMubG9naW5Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBFbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5lbWFpbCxcbiAgICAgIF0pLFxuICAgICAgUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFxuICAgICAgXSksXG4gICAgfSk7XG4gICB0aGlzLmFwaUtleSA9ICB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5BUElLZXlcbiAgIHRoaXMuc2VjcmV0ID0gIHRoaXMuZW52U3ZjLmVudmlyb25tZW50LlNlY3JldFxuICB9XG5cbiAgY2hlY2tGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS52YWxpZDtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgZGF0YTogTG9naW5EYXRhID0ge1xuICAgICAgTWFpbEFkZHJlc3M6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydFbWFpbCddLnZhbHVlLFxuICAgICAgUGFzc3dvcmQ6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnZhbHVlLFxuICAgICAgTG9naW5UeXBlOlwiSW5BcHBcIixcbiAgICAgIEFQSUtleTp0aGlzLmFwaUtleSxcbiAgICAgIFNlY3JldGU6dGhpcy5zZWNyZXRcbiAgICB9O1xuICBcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdChkYXRhKTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICBgQXV0aGVudGljYXRpb24vTG9naW5gLGRhdGFcbiAgICApO1xuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgdGhpcy5vblN1Ym1pdEVuZC5lbWl0KHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgIHRoaXMub25TdWJtaXRFbmQuZW1pdChyZXN1bHQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUdvb2dsZUF1dGgoKSB7XG4gICAgdGhpcy5nb29nbGVDbGljay5lbWl0KCk7XG4gIH1cbiAgaGFuZGxlQXBwbGVBdXRoKCkge1xuICAgIHRoaXMuYXBwbGVDbGljay5lbWl0KCk7XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cbiIsIjxzZWN0aW9uXG5bbmdTdHlsZV09XCJzdHlsZXNcIlxuY2xhc3M9XCJ7eyBjdXN0b21DbGFzcyB9fVwiXG4+XG4gICAgPGgyIGNsYXNzPVwie3toZWFkbGluZ0NsYXNzfX1cIj57e2hlYWRsaW5nVGV4dH19PC9oMj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiIGNsYXNzPVwiZmxleFdyYXBwZXJcIj4gXG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRW1haWwnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cImlucHV0TGFiZWxDb2xvclwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJFbWFpbFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cImlucHV0QmdDb2xvclwiXG4gICAgICBbYm9yZGVyXT1cImlucHV0Qm9yZGVyXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiaW5wdXRCb3JkZXJSYWRpdXNcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICA8ZGl2PiBcbiAgICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgW2xhYmVsXT1cIidQYXNzd29yZCdcIlxuICAgICAgICBbbGFiZWxDb2xvcl09XCJpbnB1dExhYmVsQ29sb3JcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJQYXNzd29yZFwiXG4gICAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgICBbYmdDb2xvcl09XCJpbnB1dEJnQ29sb3JcIlxuICAgICAgICBbYm9yZGVyXT1cImlucHV0Qm9yZGVyXCJcbiAgICAgICAgW2JvcmRlclJhZGl1c109XCJpbnB1dEJvcmRlclJhZGl1c1wiXG4gICAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbY3VzdG9tRXJyb3JNZXNzYWdlc109XCJ7XG4gICAgICAgICAgcGFzc3dvcmQ6J2xlbmd0aCBtdXN0IGJlIDUgY2hhcmFjdGVycydcbiAgICAgICAgfVwiXG4gICAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwd2RXcmFwcGVyXCI+IFxuICAgICAgICAgIDxwIGNsYXM9XCJtYi0wXCI+IDxhIFtyb3V0ZXJMaW5rXT1cImZvcmdldFBhc3N3b3JkTGlua1wiIGNsYXNzPVwie3tmb3JnZXRQYXNzd29yZENsYXNzfX1cIj5Gb3Jnb3QgcGFzc3dvcmQ8L2E+PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj4gXG4gICAgICA8bGliLWJ1dHRvbiBcbiAgICAgIFtidXR0b25DbGFzc109XCJidG5DbGFzc1wiXG4gICAgICBbY29sb3JdPVwiYnRuQ29sb3JcIlxuICAgICAgW2JvcmRlcl09XCJidG5Cb3JkZXJcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICAgICAgW2JnQ29sb3JdPVwiYnRuQmdDb2xvclwiXG4gICAgICBbcGRdPVwiYnRuUGRcIlxuICAgICAgW3RleHRdPVwiYnRuVGV4dFwiIFxuICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgW2Rpc2FibGVkXT1cIiF0aGlzLmNoZWNrRm9ybSgpXCJcbiAgICAgID48L2xpYi1idXR0b24+XG4gICAgICA8cCAqbmdJZj1cInJlcXVlc3RBY2Nlc3NMaW5rXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cInJlcXVlc3RBY2Nlc3NMaW5rXCIgIGNsYXNzPVwie3tyZXF1ZXN0QWNjZXNzQ2xhc3N9fVwiPkNsaWNrIGhlcmUgdG8gcmVxdWVzdCB1c2VyIGFjY2VzczwvYT5cbiAgICAgIDwvcD5cbiAgICAgIDxkaXY+IFxuICAgICAgICA8dmVyYmVuLW8tYXV0aCBcbiAgICAgICAgICAoZ29vZ2xlQ2xpY2spPVwiaGFuZGxlR29vZ2xlQXV0aCgpXCJcbiAgICAgICAgICAoYXBwbGVDbGljayk9XCJoYW5kbGVBcHBsZUF1dGgoKVwiXG4gICAgICAgICAgPjwvdmVyYmVuLW8tYXV0aD5cbiAgICAgICAgICA8cCBjbGFzcz1cInt7Y3JlYXRlQWNjb3VudENsYXNzfX1cIiAqbmdJZj1cImNyZWF0ZUFjY291bnRMaW5rXCI+XG4gICAgICAgICAgICBEb24ndCBoYXZlIGFuIGFjY291bnQ/XG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJjcmVhdGVBY2NvdW50TGlua1wiICBjbGFzcz1cInt7Y3JlYXRlQWNjb3VudExpbmtDbGFzc319XCI+Q3JlYXRlIGFuIGFjY291bnQ8L2E+XG4gICAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuICAiXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFHTCxXQUFXLEVBR1gsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7OztBQVUzRCxNQUFNLE9BQU8sZUFBZTtJQW9ETjtJQUNWO0lBQ0E7SUFDQTtJQXRERCxZQUFZLEdBQVcsU0FBUyxDQUFDO0lBQ2pDLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsV0FBVyxHQUFXLEVBQUUsQ0FBQTtJQUN4QixhQUFhLEdBQVcsRUFBRSxDQUFBO0lBQzFCLE9BQU8sR0FBVyxNQUFNLENBQUM7SUFDekIsU0FBUyxHQUFXLGlDQUFpQyxDQUFDO0lBQ3RELE1BQU0sR0FBVyxxQkFBcUIsQ0FBQztJQUN2QyxZQUFZLEdBQVcsTUFBTSxDQUFDO0lBQzlCLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDM0IsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUN4QixtQkFBbUIsR0FBVyxFQUFFLENBQUM7SUFDakMsa0JBQWtC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O2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0ksZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2luRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9sb2ctaW4nO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JSZXNwb25zZSc7XG5pbXBvcnQgeyBSZXNwb25zZUtleVZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Jlc3BvbnNlS2V5VmFsdWUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXNpZ24taW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zaWduLWluLmNvbXBvbmVudC5jc3MnXG59KVxuXG5leHBvcnQgY2xhc3MgU2lnbkluQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaGVhZGxpbmdUZXh0OiBzdHJpbmcgPSAnU2lnbiBpbic7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4V2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtYXJnaW46IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgZm9yZ2V0UGFzc3dvcmRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVlc3RBY2Nlc3NDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRMaW5rQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gIC8vIGxpbmtzXG4gIEBJbnB1dCgpIGZvcmdldFBhc3N3b3JkTGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNyZWF0ZUFjY291bnRMaW5rOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVxdWVzdEFjY2Vzc0xpbms6IHN0cmluZyA9ICcnO1xuXG4gIC8vIGJ1dHRvbiBzdHlsZXNcbiAgQElucHV0KCkgYnRuQ2xhc3M6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJ1xuICBASW5wdXQoKSBidG5Db2xvcjogc3RyaW5nID0gJydcbiAgQElucHV0KCkgYnRuQm9yZGVyOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcyNHB4J1xuICBASW5wdXQoKSBidG5QZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ0blRleHQ6IHN0cmluZyA9ICdMb2cgaW4nO1xuXG4gIC8vaW5wdXRTdHlsZXNcbiAgIEBJbnB1dCgpIGlucHV0TGFiZWxDb2xvcjogc3RyaW5nID0gJydcbiAgIEBJbnB1dCgpIGlucHV0QmdDb2xvcjogc3RyaW5nID0gJ3RyYW5zcGFyZW50J1xuICAgQElucHV0KCkgaW5wdXRCb3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjU5J1xuICAgQElucHV0KCkgaW5wdXRCb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcxMnB4J1xuICAgQElucHV0KCkgdGVybXNFcnJvclRleHQ6IHN0cmluZyA9ICdQbGVhc2UgYWdyZWUgdG8gdGhlIHRlcm1zIG9mIHVzZSBhbmQgcHJpdmFjeSBwb2xpY3kuJ1xuXG4gICBAT3V0cHV0KCkgZm9ybVN1Ym1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9naW5EYXRhPigpO1xuICAgQE91dHB1dCgpIG9uU3VibWl0RW5kOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGdvb2dsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGFwcGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gXG4gIHRlbmFudERldGFpbHM6YW55IHwgbnVsbCA9IG51bGw7XG4gIEF1dGhNZWNoYW5pc21zOnt9W10gfCBudWxsID0gbnVsbFxuICBsb2dpbkZvcm06IEZvcm1Hcm91cDtcbiAgYXBpS2V5OnN0cmluZztcbiAgc2VjcmV0OnN0cmluZztcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgc2VydmVyOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTdmM6IEVudmlyb25tZW50U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIEVtYWlsOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLmVtYWlsLFxuICAgICAgXSksXG4gICAgICBQYXNzd29yZDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksXG4gICAgICBdKSxcbiAgICB9KTtcbiAgIHRoaXMuYXBpS2V5ID0gIHRoaXMuZW52U3ZjLmVudmlyb25tZW50LkFQSUtleVxuICAgdGhpcy5zZWNyZXQgPSAgdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuU2VjcmV0XG4gIH1cblxuICBuZ09uSW5pdCgpeyBcbiAgICB0aGlzLmdldFRlbmFudENvbmZpZygpXG4gIH1cblxuICBhc3luYyBnZXRUZW5hbnRDb25maWcoKXsgXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIuZ2V0KFxuICAgICAgYFRlbmFudC9HZXRUZW5hbnRDb25maWdCeUtleS8ke3RoaXMuYXBpS2V5fWBcbiAgICApO1xuICAgdGhpcy50ZW5hbnREZXRhaWxzID0gcmVzO1xuICAgdGhpcy5BdXRoTWVjaGFuaXNtcyA9ICB0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc21zXG4gIH1cbiBcbiAgY2hlY2tGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS52YWxpZDtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgZGF0YTogTG9naW5EYXRhID0ge1xuICAgICAgTWFpbEFkZHJlc3M6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydFbWFpbCddLnZhbHVlLFxuICAgICAgUGFzc3dvcmQ6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnZhbHVlLFxuICAgICAgTG9naW5UeXBlOnRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbSxcbiAgICAgIEFQSUtleTp0aGlzLmFwaUtleSxcbiAgICAgIFNlY3JldGU6dGhpcy5zZWNyZXRcbiAgICB9O1xuICBcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdChkYXRhKTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICBgQXV0aGVudGljYXRpb24vTG9naW5gLGRhdGFcbiAgICApO1xuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgdGhpcy5vblN1Ym1pdEVuZC5lbWl0KHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgIHRoaXMub25TdWJtaXRFbmQuZW1pdChyZXN1bHQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUdvb2dsZUF1dGgoKSB7XG4gICAgdGhpcy5nb29nbGVDbGljay5lbWl0KCk7XG4gIH1cbiAgaGFuZGxlQXBwbGVBdXRoKCkge1xuICAgIHRoaXMuYXBwbGVDbGljay5lbWl0KCk7XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cbiIsIjxzZWN0aW9uXG5bbmdTdHlsZV09XCJzdHlsZXNcIlxuY2xhc3M9XCJ7eyBjdXN0b21DbGFzcyB9fVwiXG4+XG4gICAgPGgyIGNsYXNzPVwie3toZWFkbGluZ0NsYXNzfX1cIj57e2hlYWRsaW5nVGV4dH19PC9oMj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiIGNsYXNzPVwiZmxleFdyYXBwZXJcIj4gXG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInRW1haWwnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cImlucHV0TGFiZWxDb2xvclwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJFbWFpbFwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cImlucHV0QmdDb2xvclwiXG4gICAgICBbYm9yZGVyXT1cImlucHV0Qm9yZGVyXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiaW5wdXRCb3JkZXJSYWRpdXNcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICA8ZGl2PiBcbiAgICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgW2xhYmVsXT1cIidQYXNzd29yZCdcIlxuICAgICAgICBbbGFiZWxDb2xvcl09XCJpbnB1dExhYmVsQ29sb3JcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJQYXNzd29yZFwiXG4gICAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgICBbYmdDb2xvcl09XCJpbnB1dEJnQ29sb3JcIlxuICAgICAgICBbYm9yZGVyXT1cImlucHV0Qm9yZGVyXCJcbiAgICAgICAgW2JvcmRlclJhZGl1c109XCJpbnB1dEJvcmRlclJhZGl1c1wiXG4gICAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbY3VzdG9tRXJyb3JNZXNzYWdlc109XCJ7XG4gICAgICAgICAgcGFzc3dvcmQ6J2xlbmd0aCBtdXN0IGJlIDUgY2hhcmFjdGVycydcbiAgICAgICAgfVwiXG4gICAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwd2RXcmFwcGVyXCI+IFxuICAgICAgICAgIDxwIGNsYXM9XCJtYi0wXCI+IDxhIFtyb3V0ZXJMaW5rXT1cImZvcmdldFBhc3N3b3JkTGlua1wiIGNsYXNzPVwie3tmb3JnZXRQYXNzd29yZENsYXNzfX1cIj5Gb3Jnb3QgcGFzc3dvcmQ8L2E+PC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj4gXG4gICAgICA8bGliLWJ1dHRvbiBcbiAgICAgIFtidXR0b25DbGFzc109XCJidG5DbGFzc1wiXG4gICAgICBbY29sb3JdPVwiYnRuQ29sb3JcIlxuICAgICAgW2JvcmRlcl09XCJidG5Cb3JkZXJcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICAgICAgW2JnQ29sb3JdPVwiYnRuQmdDb2xvclwiXG4gICAgICBbcGRdPVwiYnRuUGRcIlxuICAgICAgW3RleHRdPVwiYnRuVGV4dFwiIFxuICAgICAgdHlwZT1cInN1Ym1pdFwiIFxuICAgICAgW2Rpc2FibGVkXT1cIiF0aGlzLmNoZWNrRm9ybSgpXCJcbiAgICAgID48L2xpYi1idXR0b24+XG4gICAgICA8cCAqbmdJZj1cInJlcXVlc3RBY2Nlc3NMaW5rXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cInJlcXVlc3RBY2Nlc3NMaW5rXCIgIGNsYXNzPVwie3tyZXF1ZXN0QWNjZXNzQ2xhc3N9fVwiPkNsaWNrIGhlcmUgdG8gcmVxdWVzdCB1c2VyIGFjY2VzczwvYT5cbiAgICAgIDwvcD5cbiAgICAgIDxkaXY+IFxuICAgICAgICA8ZGl2ICpuZ0lmPVwidGhpcy5BdXRoTWVjaGFuaXNtcyAhPT0gbnVsbCAmJiB0aGlzLkF1dGhNZWNoYW5pc21zLmxlbmd0aFwiPiBcbiAgICAgICAgICA8dmVyYmVuLW8tYXV0aCBcbiAgICAgICAgICAgIChnb29nbGVDbGljayk9XCJoYW5kbGVHb29nbGVBdXRoKClcIlxuICAgICAgICAgICAgKGFwcGxlQ2xpY2spPVwiaGFuZGxlQXBwbGVBdXRoKClcIlxuICAgICAgICAgID48L3ZlcmJlbi1vLWF1dGg+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwIGNsYXNzPVwie3tjcmVhdGVBY2NvdW50Q2xhc3N9fVwiICpuZ0lmPVwiY3JlYXRlQWNjb3VudExpbmtcIj5cbiAgICAgICAgICAgIERvbid0IGhhdmUgYW4gYWNjb3VudD9cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cImNyZWF0ZUFjY291bnRMaW5rXCIgIGNsYXNzPVwie3tjcmVhdGVBY2NvdW50TGlua0NsYXNzfX1cIj5DcmVhdGUgYW4gYWNjb3VudDwvYT5cbiAgICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuICA8L3NlY3Rpb24+XG4gICJdfQ==
@@ -3,22 +3,24 @@ import { UserAccessRequestStatus } from '../../models/user-access-request-status
3
3
  export const mockData = new Array(10)
4
4
  .fill(1)
5
5
  .map((id, i) => ({
6
- Name: `User ${id + i}`,
6
+ FirstName: `First ${id + i}`,
7
+ LastName: `Last ${id + i}`,
8
+ OtherName: `Other ${id + i}`,
7
9
  Id: id + i,
8
10
  id: (id + i).toString(),
9
11
  MailAddress: `user${id + i}@mail.com`,
10
12
  PhoneNumber: `+23480000000${id + i}`,
11
- Status: UserAccessRequestStatus.Pending,
13
+ RequestStatus: UserAccessRequestStatus.Pending,
12
14
  Address: `AAA Block`,
13
15
  Password: '1234567',
14
16
  ExpireOn: new Date(),
15
17
  IsSeeded: false,
16
18
  OTPExpireOn: new Date(),
17
19
  Tenants: [],
18
- Role: ["Manager"],
20
+ Role: ['Manager'],
19
21
  CreatedAt: new Date(),
20
22
  UpdatedAt: new Date(),
21
23
  DataState: ObjectState.New,
22
24
  Tenant: `Tenant${id + i}`,
23
25
  }));
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXdCLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUN2RCxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ1AsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNmLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDdEIsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDO0lBQ1YsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN2QixXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxXQUFXO0lBQ3JDLFdBQVcsRUFBRSxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDcEMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLE9BQU87SUFDdkMsT0FBTyxFQUFFLFdBQVc7SUFFcEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFO0lBQ3BCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFO0lBQ3ZCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBRWpCLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtJQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7SUFDckIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxHQUFHO0lBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3Qtc3RhdGUnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdCc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0LXN0YXR1cyc7XG5cbmV4cG9ydCBjb25zdCBtb2NrRGF0YTogVXNlckFjY2Vzc1JlcXVlc3RbXSA9IG5ldyBBcnJheSgxMClcbiAgLmZpbGwoMSlcbiAgLm1hcCgoaWQsIGkpID0+ICh7XG4gICAgTmFtZTogYFVzZXIgJHtpZCArIGl9YCxcbiAgICBJZDogaWQgKyBpLFxuICAgIGlkOiAoaWQgKyBpKS50b1N0cmluZygpLFxuICAgIE1haWxBZGRyZXNzOiBgdXNlciR7aWQgKyBpfUBtYWlsLmNvbWAsXG4gICAgUGhvbmVOdW1iZXI6IGArMjM0ODAwMDAwMDAke2lkICsgaX1gLFxuICAgIFN0YXR1czogVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMuUGVuZGluZyxcbiAgICBBZGRyZXNzOiBgQUFBIEJsb2NrYCxcblxuICAgIFBhc3N3b3JkOiAnMTIzNDU2NycsXG4gICAgRXhwaXJlT246IG5ldyBEYXRlKCksXG4gICAgSXNTZWVkZWQ6IGZhbHNlLFxuICAgIE9UUEV4cGlyZU9uOiBuZXcgRGF0ZSgpLFxuICAgIFRlbmFudHM6IFtdLFxuICAgIFJvbGU6IFtcIk1hbmFnZXJcIl0sXG5cbiAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgVXBkYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgIFRlbmFudDogYFRlbmFudCR7aWQgKyBpfWAsXG4gIH0pKTtcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXdCLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUN2RCxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ1AsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNmLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDNUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTtJQUMxQixTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQzVCLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQztJQUNWLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdkIsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsV0FBVztJQUNyQyxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQ3BDLGFBQWEsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPO0lBQzlDLE9BQU8sRUFBRSxXQUFXO0lBRXBCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRTtJQUNwQixRQUFRLEVBQUUsS0FBSztJQUNmLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRTtJQUN2QixPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUVqQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7SUFDckIsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO0lBQ3JCLFNBQVMsRUFBRSxXQUFXLENBQUMsR0FBRztJQUMxQixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO0NBQzFCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LXN0YXRlJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMnO1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGE6IFVzZXJBY2Nlc3NSZXF1ZXN0W10gPSBuZXcgQXJyYXkoMTApXG4gIC5maWxsKDEpXG4gIC5tYXAoKGlkLCBpKSA9PiAoe1xuICAgIEZpcnN0TmFtZTogYEZpcnN0ICR7aWQgKyBpfWAsXG4gICAgTGFzdE5hbWU6IGBMYXN0ICR7aWQgKyBpfWAsXG4gICAgT3RoZXJOYW1lOiBgT3RoZXIgJHtpZCArIGl9YCxcbiAgICBJZDogaWQgKyBpLFxuICAgIGlkOiAoaWQgKyBpKS50b1N0cmluZygpLFxuICAgIE1haWxBZGRyZXNzOiBgdXNlciR7aWQgKyBpfUBtYWlsLmNvbWAsXG4gICAgUGhvbmVOdW1iZXI6IGArMjM0ODAwMDAwMDAke2lkICsgaX1gLFxuICAgIFJlcXVlc3RTdGF0dXM6IFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzLlBlbmRpbmcsXG4gICAgQWRkcmVzczogYEFBQSBCbG9ja2AsXG5cbiAgICBQYXNzd29yZDogJzEyMzQ1NjcnLFxuICAgIEV4cGlyZU9uOiBuZXcgRGF0ZSgpLFxuICAgIElzU2VlZGVkOiBmYWxzZSxcbiAgICBPVFBFeHBpcmVPbjogbmV3IERhdGUoKSxcbiAgICBUZW5hbnRzOiBbXSxcbiAgICBSb2xlOiBbJ01hbmFnZXInXSxcblxuICAgIENyZWF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gICAgVGVuYW50OiBgVGVuYW50JHtpZCArIGl9YCxcbiAgfSkpO1xuIl19
@@ -7,7 +7,7 @@ export const columns = [
7
7
  {
8
8
  id: 'user',
9
9
  header: 'NAME',
10
- accessorKey: 'Name',
10
+ accessorFn: (row) => `${row.FirstName} ${row.LastName}`,
11
11
  },
12
12
  {
13
13
  id: 'mail',
@@ -37,7 +37,7 @@ export const columns = [
37
37
  {
38
38
  id: 'actions',
39
39
  header: 'ACTIONS',
40
- accessorKey: 'MailAddress'
40
+ accessorKey: 'MailAddress',
41
41
  },
42
42
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTBDO0lBQzVEO1FBQ0UsRUFBRSxFQUFFLFdBQVc7UUFDZixNQUFNLEVBQUUsU0FBUztRQUNqQixXQUFXLEVBQUUsV0FBVztLQUN6QjtJQUNEO1FBQ0UsRUFBRSxFQUFFLE1BQU07UUFDVixNQUFNLEVBQUUsTUFBTTtRQUNkLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsTUFBTTtRQUNWLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFdBQVcsRUFBRSxhQUFhO0tBQzNCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsT0FBTztRQUNYLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFdBQVcsRUFBRSxhQUFhO0tBQzNCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsU0FBUztRQUNiLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsTUFBTTtRQUNWLE1BQU0sRUFBRSxNQUFNO1FBQ2QsV0FBVyxFQUFFLE1BQU07S0FFcEI7SUFDRDtRQUNFLEVBQUUsRUFBRSxRQUFRO1FBQ1osTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FBVyxFQUFFLFFBQVE7S0FFdEI7SUFDRDtRQUNFLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFNBQVM7UUFDakIsV0FBVyxFQUFFLGFBQWE7S0FDM0I7Q0FFRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uRGVmaW5pdGlvbiB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0JztcblxuXG5leHBvcnQgY29uc3QgY29sdW1uczogQ29sdW1uRGVmaW5pdGlvbjxVc2VyQWNjZXNzUmVxdWVzdD5bXSA9IFtcbiAge1xuICAgIGlkOiAnY3JlYXRlZEF0JyxcbiAgICBoZWFkZXI6ICdDUkVBVEVEJyxcbiAgICBhY2Nlc3NvcktleTogJ0NyZWF0ZWRBdCcsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3VzZXInLFxuICAgIGhlYWRlcjogJ05BTUUnLFxuICAgIGFjY2Vzc29yS2V5OiAnTmFtZScsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21haWwnLFxuICAgIGhlYWRlcjogJ0UtTWFpbCcsXG4gICAgYWNjZXNzb3JLZXk6ICdNYWlsQWRkcmVzcycsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bob25lJyxcbiAgICBoZWFkZXI6ICdQSE9ORSBOVU1CRVInLFxuICAgIGFjY2Vzc29yS2V5OiAnUGhvbmVOdW1iZXInLFxuICB9LFxuICB7XG4gICAgaWQ6ICdhZGRyZXNzJyxcbiAgICBoZWFkZXI6ICdBRERSRVNTJyxcbiAgICBhY2Nlc3NvcktleTogJ0FkZHJlc3MnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdyb2xlJyxcbiAgICBoZWFkZXI6ICdST0xFJyxcbiAgICBhY2Nlc3NvcktleTogJ1JvbGUnLFxuXG4gIH0sXG4gIHtcbiAgICBpZDogJ3N0YXR1cycsXG4gICAgaGVhZGVyOiAnU1RBVFVTJyxcbiAgICBhY2Nlc3NvcktleTogJ1N0YXR1cycsXG5cbiAgfSxcbiAge1xuICAgIGlkOiAnYWN0aW9ucycsXG4gICAgaGVhZGVyOiAnQUNUSU9OUycsXG4gICAgYWNjZXNzb3JLZXk6ICdNYWlsQWRkcmVzcydcbiAgfSxcblxuXTtcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LmNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTBDO0lBQzVEO1FBQ0UsRUFBRSxFQUFFLFdBQVc7UUFDZixNQUFNLEVBQUUsU0FBUztRQUNqQixXQUFXLEVBQUUsV0FBVztLQUN6QjtJQUNEO1FBQ0UsRUFBRSxFQUFFLE1BQU07UUFDVixNQUFNLEVBQUUsTUFBTTtRQUNkLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7S0FDeEQ7SUFDRDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FBVyxFQUFFLGFBQWE7S0FDM0I7SUFDRDtRQUNFLEVBQUUsRUFBRSxPQUFPO1FBQ1gsTUFBTSxFQUFFLGNBQWM7UUFDdEIsV0FBVyxFQUFFLGFBQWE7S0FDM0I7SUFDRDtRQUNFLEVBQUUsRUFBRSxTQUFTO1FBQ2IsTUFBTSxFQUFFLFNBQVM7UUFDakIsV0FBVyxFQUFFLFNBQVM7S0FDdkI7SUFDRDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNEO1FBQ0UsRUFBRSxFQUFFLFFBQVE7UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixXQUFXLEVBQUUsUUFBUTtLQUN0QjtJQUNEO1FBQ0UsRUFBRSxFQUFFLFNBQVM7UUFDYixNQUFNLEVBQUUsU0FBUztRQUNqQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3QnO1xuXG5leHBvcnQgY29uc3QgY29sdW1uczogQ29sdW1uRGVmaW5pdGlvbjxVc2VyQWNjZXNzUmVxdWVzdD5bXSA9IFtcbiAge1xuICAgIGlkOiAnY3JlYXRlZEF0JyxcbiAgICBoZWFkZXI6ICdDUkVBVEVEJyxcbiAgICBhY2Nlc3NvcktleTogJ0NyZWF0ZWRBdCcsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3VzZXInLFxuICAgIGhlYWRlcjogJ05BTUUnLFxuICAgIGFjY2Vzc29yRm46IChyb3cpID0+IGAke3Jvdy5GaXJzdE5hbWV9ICR7cm93Lkxhc3ROYW1lfWAsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21haWwnLFxuICAgIGhlYWRlcjogJ0UtTWFpbCcsXG4gICAgYWNjZXNzb3JLZXk6ICdNYWlsQWRkcmVzcycsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3Bob25lJyxcbiAgICBoZWFkZXI6ICdQSE9ORSBOVU1CRVInLFxuICAgIGFjY2Vzc29yS2V5OiAnUGhvbmVOdW1iZXInLFxuICB9LFxuICB7XG4gICAgaWQ6ICdhZGRyZXNzJyxcbiAgICBoZWFkZXI6ICdBRERSRVNTJyxcbiAgICBhY2Nlc3NvcktleTogJ0FkZHJlc3MnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdyb2xlJyxcbiAgICBoZWFkZXI6ICdST0xFJyxcbiAgICBhY2Nlc3NvcktleTogJ1JvbGUnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdzdGF0dXMnLFxuICAgIGhlYWRlcjogJ1NUQVRVUycsXG4gICAgYWNjZXNzb3JLZXk6ICdTdGF0dXMnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdhY3Rpb25zJyxcbiAgICBoZWFkZXI6ICdBQ1RJT05TJyxcbiAgICBhY2Nlc3NvcktleTogJ01haWxBZGRyZXNzJyxcbiAgfSxcbl07XG4iXX0=