@annalib/anna-cognito-lib 2.3.6 → 2.3.7

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 (55) hide show
  1. package/{esm2022 → esm2020}/annalib-anna-cognito-lib.mjs +4 -4
  2. package/{esm2022 → esm2020}/lib/components/anna-login/anna-login.component.mjs +67 -67
  3. package/{esm2022 → esm2020}/lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component.mjs +22 -22
  4. package/{esm2022 → esm2020}/lib/components/forgot-password/forgot-password.component.mjs +133 -133
  5. package/{esm2022 → esm2020}/lib/components/password-matching/password-matching.component.mjs +92 -92
  6. package/{esm2022 → esm2020}/lib/components/powered-by-logo-template/powered-by-logo-template.component.mjs +14 -14
  7. package/{esm2022 → esm2020}/lib/components/set-new-password/set-new-password.component.mjs +71 -71
  8. package/{esm2022 → esm2020}/lib/components/sso-login/sso-login.component.mjs +38 -38
  9. package/{esm2022 → esm2020}/lib/components/surewaves-year-logo/surewaves-year-logo.component.mjs +15 -15
  10. package/{esm2022 → esm2020}/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.mjs +90 -90
  11. package/{esm2022 → esm2020}/lib/components/version-and-term-policy/version-and-term-policy.component.mjs +19 -19
  12. package/{esm2022 → esm2020}/lib/config/acl-service.token.mjs +4 -4
  13. package/{esm2022 → esm2020}/lib/config/auth-service.token.mjs +3 -3
  14. package/{esm2022 → esm2020}/lib/config/config-service.token.mjs +3 -3
  15. package/{esm2022 → esm2020}/lib/config/sso-login-service.token.mjs +3 -3
  16. package/esm2020/lib/constants/loginConstant.mjs +55 -0
  17. package/{esm2022 → esm2020}/lib/directives/spinner-button/index.mjs +1 -1
  18. package/{esm2022 → esm2020}/lib/directives/spinner-button/spinner-button.directive.mjs +43 -43
  19. package/{esm2022 → esm2020}/lib/models/auth.model.mjs +23 -23
  20. package/{esm2022 → esm2020}/lib/services/acl.service.mjs +27 -27
  21. package/{esm2022 → esm2020}/lib/services/auth.service.mjs +312 -312
  22. package/{esm2022 → esm2020}/lib/services/config.service.mjs +20 -20
  23. package/{esm2022 → esm2020}/lib/services/sso-login.service.mjs +20 -20
  24. package/{esm2022 → esm2020}/public-api.mjs +27 -27
  25. package/fesm2015/annalib-anna-cognito-lib.mjs +1011 -0
  26. package/fesm2015/annalib-anna-cognito-lib.mjs.map +1 -0
  27. package/{fesm2022 → fesm2020}/annalib-anna-cognito-lib.mjs +905 -905
  28. package/fesm2020/annalib-anna-cognito-lib.mjs.map +1 -0
  29. package/index.d.ts +5 -5
  30. package/lib/components/anna-login/anna-login.component.d.ts +20 -20
  31. package/lib/components/cognito-and-sso-login-container/cognito-and-sso-login-container.component.d.ts +10 -10
  32. package/lib/components/forgot-password/forgot-password.component.d.ts +42 -42
  33. package/lib/components/password-matching/password-matching.component.d.ts +22 -22
  34. package/lib/components/powered-by-logo-template/powered-by-logo-template.component.d.ts +8 -8
  35. package/lib/components/set-new-password/set-new-password.component.d.ts +28 -28
  36. package/lib/components/sso-login/sso-login.component.d.ts +14 -14
  37. package/lib/components/surewaves-year-logo/surewaves-year-logo.component.d.ts +9 -9
  38. package/lib/components/verify-and-set-new-password/verify-and-set-new-password.component.d.ts +32 -32
  39. package/lib/components/version-and-term-policy/version-and-term-policy.component.d.ts +10 -10
  40. package/lib/config/acl-service.token.d.ts +38 -36
  41. package/lib/config/auth-service.token.d.ts +23 -23
  42. package/lib/config/config-service.token.d.ts +13 -13
  43. package/lib/config/sso-login-service.token.d.ts +10 -10
  44. package/lib/constants/loginConstant.d.ts +49 -49
  45. package/lib/directives/spinner-button/index.d.ts +1 -1
  46. package/lib/directives/spinner-button/spinner-button.directive.d.ts +15 -15
  47. package/lib/models/auth.model.d.ts +21 -21
  48. package/lib/services/acl.service.d.ts +11 -11
  49. package/lib/services/auth.service.d.ts +47 -47
  50. package/lib/services/config.service.d.ts +8 -8
  51. package/lib/services/sso-login.service.d.ts +8 -8
  52. package/package.json +11 -5
  53. package/public-api.d.ts +20 -20
  54. package/esm2022/lib/constants/loginConstant.mjs +0 -55
  55. package/fesm2022/annalib-anna-cognito-lib.mjs.map +0 -1
@@ -1,133 +1,133 @@
1
- // Angular import statements
2
- import { Component, Inject } from '@angular/core';
3
- import { FormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- // Third party import statements
5
- import { ToastrService } from 'ngx-toastr';
6
- import { forkJoin } from 'rxjs';
7
- // User defined import statements
8
- import { UsernameInfo, UserState } from '../../models/auth.model';
9
- import { AnnaLibAuthService } from '../../services/auth.service';
10
- import { LoginConstant } from '../../constants/loginConstant';
11
- import { Router } from '@angular/router';
12
- import { CONFIG_SERVICE_TOKEN } from '../../config/config-service.token';
13
- import { AUTH_SERVICE_TOKEN } from '../../config/auth-service.token';
14
- import { SSO_LOGIN_SERVICE_TOKEN } from '../../config/sso-login-service.token';
15
- import { VersionAndTermPolicyComponent } from '../version-and-term-policy/version-and-term-policy.component';
16
- import { SurewavesYearLogoComponent } from '../surewaves-year-logo/surewaves-year-logo.component';
17
- import { PoweredByLogoTemplateComponent } from '../powered-by-logo-template/powered-by-logo-template.component';
18
- import { SpinnerButtonDirective } from '../../directives/spinner-button/spinner-button.directive';
19
- import { NgIf, NgClass } from '@angular/common';
20
- import * as i0 from "@angular/core";
21
- import * as i1 from "../../services/auth.service";
22
- import * as i2 from "@angular/forms";
23
- import * as i3 from "ngx-toastr";
24
- import * as i4 from "@angular/router";
25
- export class ForgotPasswordComponent {
26
- constructor(authService, fb, toastr, router, consumingProjectConfigService, consumingProjectAuthService, consumingProjectSSOLoginService) {
27
- this.authService = authService;
28
- this.fb = fb;
29
- this.toastr = toastr;
30
- this.router = router;
31
- this.consumingProjectConfigService = consumingProjectConfigService;
32
- this.consumingProjectAuthService = consumingProjectAuthService;
33
- this.consumingProjectSSOLoginService = consumingProjectSSOLoginService;
34
- this.passwordNotMatching = false;
35
- this.password = { value: null, status: null };
36
- this.confirmPassword = { value: null, status: null };
37
- this.infoMessageToRedirectLogin = null;
38
- this.isLoading = false;
39
- }
40
- ngOnInit() {
41
- this.infoMessageToRedirectLogin = null;
42
- this.constants = LoginConstant;
43
- this.onIntialiseForm();
44
- if (this.consumingProjectAuthService.userName) {
45
- this.onUpdateForm();
46
- }
47
- this.authService.forgotPasswordAndGlobalSignoutLoader = false;
48
- }
49
- onIntialiseForm() {
50
- this.verifyRegisteredEmail = this.fb.group({
51
- email: [null, [Validators.required]],
52
- });
53
- }
54
- onUpdateForm() {
55
- this.verifyRegisteredEmail.patchValue({
56
- email: this.consumingProjectAuthService.userName,
57
- });
58
- }
59
- isFormValid() {
60
- return this.verifyRegisteredEmail.valid;
61
- }
62
- onLoginOrGetOtpButtonClick() {
63
- if (this.infoMessageToRedirectLogin) {
64
- this.router.navigate([LoginConstant.loginPageUrl]);
65
- }
66
- else {
67
- this.onVerifyRegisteredEmail();
68
- }
69
- }
70
- onVerifyRegisteredEmail() {
71
- this.isLoading = true;
72
- this.errorMessage = null;
73
- this.infoMessageToRedirectLogin = null;
74
- let username = this.verifyRegisteredEmail.controls['email'].value;
75
- let isUsernameAvailable = this.authService.consumingProjectAuthService.isUsernameAvailable(username);
76
- let isUsernameTempPasswordSet = this.authService.consumingProjectAuthService.getUserState(username);
77
- forkJoin([isUsernameAvailable, isUsernameTempPasswordSet]).subscribe({
78
- next: (result) => {
79
- let isUsernameAvailable = new UsernameInfo(result[0]).isUsernameAvailable;
80
- let isUserWithTempPassword = new UserState(result[1]).isUserWithTempPassword;
81
- this.onGettingUserStatus(isUsernameAvailable, isUserWithTempPassword, username);
82
- this.isLoading = false;
83
- },
84
- error: (error) => {
85
- if (error.status == 400) {
86
- this.errorMessage = this.constants.userNotFound;
87
- }
88
- else {
89
- this.toastr.error(LoginConstant.apiFailErrorMessage);
90
- }
91
- this.isLoading = false;
92
- },
93
- });
94
- }
95
- onGettingUserStatus(isUsernameAvailable, isUserWithTempPassword, username) {
96
- if (!isUsernameAvailable) {
97
- if (!isUserWithTempPassword) {
98
- this.authService.onForgotPasswordGenerateOTP(username);
99
- }
100
- else {
101
- this.infoMessageToRedirectLogin = this.constants.firstTimeLoginUserTempPasswordMsg;
102
- }
103
- }
104
- else {
105
- this.errorMessage = this.constants.userNotFound;
106
- }
107
- }
108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.FormBuilder }, { token: i3.ToastrService }, { token: i4.Router }, { token: CONFIG_SERVICE_TOKEN }, { token: AUTH_SERVICE_TOKEN }, { token: SSO_LOGIN_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
109
- static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ForgotPasswordComponent, isStandalone: true, selector: "anna-cognito-lib-forgot-password", ngImport: i0, template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <ng-container *ngIf=\"!infoMessageToRedirectLogin\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.PleaseEnterYourUsercodeMessage\r\n : constants.PleaseEnterYourUsernameMessage\r\n }}\r\n </p>\r\n </ng-container>\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"errorMessage\"\r\n >\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n <div\r\n id=\"info-div\"\r\n *ngIf=\"infoMessageToRedirectLogin\"\r\n >\r\n <i class=\"mi mdi-info\"></i>\r\n <p>{{ infoMessageToRedirectLogin }}</p>\r\n </div>\r\n\r\n <input\r\n *ngIf=\"!infoMessageToRedirectLogin\"\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.enterUserCode\r\n : constants.enterEmail\r\n \"\r\n [ngClass]=\"{\r\n 'input-invalid':\r\n verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [anna-cognito-lib-SpinnerButton]=\"isLoading\"\r\n (click)=\"onLoginOrGetOtpButtonClick()\"\r\n [spinnerButtonText]=\"infoMessageToRedirectLogin ? constants.login : constants.forgotPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: SpinnerButtonDirective, selector: "[anna-cognito-lib-SpinnerButton]", inputs: ["anna-cognito-lib-SpinnerButton", "spinnerButtonText"] }, { kind: "component", type: PoweredByLogoTemplateComponent, selector: "anna-cognito-lib-powered-by-logo-template" }, { kind: "component", type: SurewavesYearLogoComponent, selector: "anna-cognito-lib-surewaves-year-logo" }, { kind: "component", type: VersionAndTermPolicyComponent, selector: "anna-cognito-lib-version-and-term-policy" }] }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
112
- type: Component,
113
- args: [{ selector: 'anna-cognito-lib-forgot-password', standalone: true, imports: [
114
- FormsModule,
115
- ReactiveFormsModule,
116
- NgIf,
117
- NgClass,
118
- SpinnerButtonDirective,
119
- PoweredByLogoTemplateComponent,
120
- SurewavesYearLogoComponent,
121
- VersionAndTermPolicyComponent,
122
- ], template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <ng-container *ngIf=\"!infoMessageToRedirectLogin\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.PleaseEnterYourUsercodeMessage\r\n : constants.PleaseEnterYourUsernameMessage\r\n }}\r\n </p>\r\n </ng-container>\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"errorMessage\"\r\n >\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n <div\r\n id=\"info-div\"\r\n *ngIf=\"infoMessageToRedirectLogin\"\r\n >\r\n <i class=\"mi mdi-info\"></i>\r\n <p>{{ infoMessageToRedirectLogin }}</p>\r\n </div>\r\n\r\n <input\r\n *ngIf=\"!infoMessageToRedirectLogin\"\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.enterUserCode\r\n : constants.enterEmail\r\n \"\r\n [ngClass]=\"{\r\n 'input-invalid':\r\n verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [anna-cognito-lib-SpinnerButton]=\"isLoading\"\r\n (click)=\"onLoginOrGetOtpButtonClick()\"\r\n [spinnerButtonText]=\"infoMessageToRedirectLogin ? constants.login : constants.forgotPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"] }]
123
- }], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.FormBuilder }, { type: i3.ToastrService }, { type: i4.Router }, { type: undefined, decorators: [{
124
- type: Inject,
125
- args: [CONFIG_SERVICE_TOKEN]
126
- }] }, { type: undefined, decorators: [{
127
- type: Inject,
128
- args: [AUTH_SERVICE_TOKEN]
129
- }] }, { type: undefined, decorators: [{
130
- type: Inject,
131
- args: [SSO_LOGIN_SERVICE_TOKEN]
132
- }] }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBeUIsTUFBTSxNQUFNLENBQUM7QUFFdkQsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRyxP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UUFBUSxDQUFDLENBQUM7YUFDMUQ7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUM7YUFDdEY7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztTQUNuRDtJQUNMLENBQUM7K0dBM0ZRLHVCQUF1QixrSUFlcEIsb0JBQW9CLGFBQ3BCLGtCQUFrQixhQUNsQix1QkFBdUI7bUdBakIxQix1QkFBdUIsNEZDdkNwQyxvaUdBeUVBLHFzR0Q1Q1EsV0FBVywycEJBQ1gsbUJBQW1CLGdWQUNuQixJQUFJLDZGQUNKLE9BQU8sb0ZBQ1Asc0JBQXNCLDhJQUN0Qiw4QkFBOEIsc0ZBQzlCLDBCQUEwQixpRkFDMUIsNkJBQTZCOzs0RkFHeEIsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxrQ0FBa0MsY0FHaEMsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixJQUFJO3dCQUNKLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0Qiw4QkFBOEI7d0JBQzlCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3FCQUNoQzs7MEJBaUJJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIGNhdGNoRXJyb3IsIHBpcGUsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFVzZXJuYW1lSW5mbywgVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hTGliQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbnN0YW50IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2xvZ2luQ29uc3RhbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDT05GSUdfU0VSVklDRV9UT0tFTiwgSUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWcvY29uZmlnLXNlcnZpY2UudG9rZW4nO1xyXG5pbXBvcnQgeyBBVVRIX1NFUlZJQ0VfVE9LRU4sIElBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9hdXRoLXNlcnZpY2UudG9rZW4nO1xyXG5pbXBvcnQgeyBJU1NPTG9naW5TZXJ2aWNlLCBTU09fTE9HSU5fU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL2NvbmZpZy9zc28tbG9naW4tc2VydmljZS50b2tlbic7XHJcbmltcG9ydCB7IFZlcnNpb25BbmRUZXJtUG9saWN5Q29tcG9uZW50IH0gZnJvbSAnLi4vdmVyc2lvbi1hbmQtdGVybS1wb2xpY3kvdmVyc2lvbi1hbmQtdGVybS1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQgfSBmcm9tICcuLi9zdXJld2F2ZXMteWVhci1sb2dvL3N1cmV3YXZlcy15ZWFyLWxvZ28uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5TG9nb1RlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlL3Bvd2VyZWQtYnktbG9nby10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGlubmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zcGlubmVyLWJ1dHRvbi9zcGlubmVyLWJ1dHRvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbnR5cGUgcGFzc3dvcmRUeXBlID0geyB2YWx1ZTogc3RyaW5nOyBzdGF0dXM6IHN0cmluZyB9O1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYW5uYS1jb2duaXRvLWxpYi1mb3Jnb3QtcGFzc3dvcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nQ2xhc3MsXHJcbiAgICAgICAgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgICAgICBQb3dlcmVkQnlMb2dvVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQsXHJcbiAgICAgICAgVmVyc2lvbkFuZFRlcm1Qb2xpY3lDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICB2ZXJpZnlSZWdpc3RlcmVkRW1haWw6IEZvcm1Hcm91cDtcclxuICAgIHBhc3N3b3JkTm90TWF0Y2hpbmcgPSBmYWxzZTtcclxuICAgIGNvbnN0YW50czogdHlwZW9mIExvZ2luQ29uc3RhbnQ7XHJcbiAgICBwYXNzd29yZDogcGFzc3dvcmRUeXBlID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcbiAgICBjb25maXJtUGFzc3dvcmQ6IHBhc3N3b3JkVHlwZSA9IHsgdmFsdWU6IG51bGwsIHN0YXR1czogbnVsbCB9O1xyXG4gICAgaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW46IHN0cmluZyA9IG51bGw7XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBbm5hTGliQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBASW5qZWN0KENPTkZJR19TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdENvbmZpZ1NlcnZpY2U6IElDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQVVUSF9TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlOiBJQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChTU09fTE9HSU5fU0VSVklDRV9UT0tFTikgcHVibGljIGNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U6IElTU09Mb2dpblNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpbiA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jb25zdGFudHMgPSBMb2dpbkNvbnN0YW50O1xyXG4gICAgICAgIHRoaXMub25JbnRpYWxpc2VGb3JtKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25VcGRhdGVGb3JtKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZm9yZ290UGFzc3dvcmRBbmRHbG9iYWxTaWdub3V0TG9hZGVyID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnRpYWxpc2VGb3JtKCkge1xyXG4gICAgICAgIHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgIGVtYWlsOiBbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblVwZGF0ZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy52ZXJpZnlSZWdpc3RlcmVkRW1haWwucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIGVtYWlsOiB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Zvcm1WYWxpZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52ZXJpZnlSZWdpc3RlcmVkRW1haWwudmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25Mb2dpbk9yR2V0T3RwQnV0dG9uQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4pIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0xvZ2luQ29uc3RhbnQubG9naW5QYWdlVXJsXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vblZlcmlmeVJlZ2lzdGVyZWRFbWFpbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblZlcmlmeVJlZ2lzdGVyZWRFbWFpbCgpIHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gPSBudWxsO1xyXG4gICAgICAgIGxldCB1c2VybmFtZSA9IHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlO1xyXG5cclxuICAgICAgICBsZXQgaXNVc2VybmFtZUF2YWlsYWJsZSA9IHRoaXMuYXV0aFNlcnZpY2UuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmlzVXNlcm5hbWVBdmFpbGFibGUodXNlcm5hbWUpO1xyXG4gICAgICAgIGxldCBpc1VzZXJuYW1lVGVtcFBhc3N3b3JkU2V0ID0gdGhpcy5hdXRoU2VydmljZS5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuZ2V0VXNlclN0YXRlKHVzZXJuYW1lKTtcclxuXHJcbiAgICAgICAgZm9ya0pvaW4oW2lzVXNlcm5hbWVBdmFpbGFibGUsIGlzVXNlcm5hbWVUZW1wUGFzc3dvcmRTZXRdKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNVc2VybmFtZUF2YWlsYWJsZSA9IG5ldyBVc2VybmFtZUluZm8ocmVzdWx0WzBdKS5pc1VzZXJuYW1lQXZhaWxhYmxlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGlzVXNlcldpdGhUZW1wUGFzc3dvcmQgPSBuZXcgVXNlclN0YXRlKHJlc3VsdFsxXSkuaXNVc2VyV2l0aFRlbXBQYXNzd29yZDtcclxuICAgICAgICAgICAgICAgIHRoaXMub25HZXR0aW5nVXNlclN0YXR1cyhpc1VzZXJuYW1lQXZhaWxhYmxlLCBpc1VzZXJXaXRoVGVtcFBhc3N3b3JkLCB1c2VybmFtZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jb25zdGFudHMudXNlck5vdEZvdW5kO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihMb2dpbkNvbnN0YW50LmFwaUZhaWxFcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkdldHRpbmdVc2VyU3RhdHVzKGlzVXNlcm5hbWVBdmFpbGFibGU6IGJvb2xlYW4sIGlzVXNlcldpdGhUZW1wUGFzc3dvcmQ6IGJvb2xlYW4sIHVzZXJuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWlzVXNlcm5hbWVBdmFpbGFibGUpIHtcclxuICAgICAgICAgICAgaWYgKCFpc1VzZXJXaXRoVGVtcFBhc3N3b3JkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLm9uRm9yZ290UGFzc3dvcmRHZW5lcmF0ZU9UUCh1c2VybmFtZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluZm9NZXNzYWdlVG9SZWRpcmVjdExvZ2luID0gdGhpcy5jb25zdGFudHMuZmlyc3RUaW1lTG9naW5Vc2VyVGVtcFBhc3N3b3JkTXNnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmNvbnN0YW50cy51c2VyTm90Rm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbiAgICA8c2VjdGlvbj5cclxuICAgICAgICA8aGVhZGVyPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImNvbnN1bWluZ1Byb2plY3RDb25maWdTZXJ2aWNlLmFwcEdlbmVyaWNDb25maWcubG9naW5QYWdlTG9nb0ltZ1VybFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJBbm5hIExvZ29cIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgIDxhcnRpY2xlPlxyXG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInZlcmlmeVJlZ2lzdGVyZWRFbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWFkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbnN0YW50cy5mb3Jnb3RQYXNzd29yZEhlYWRpbmcgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U/LmlzU3NvSW50ZWdyYXRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29uc3RhbnRzLlBsZWFzZUVudGVyWW91clVzZXJjb2RlTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29uc3RhbnRzLlBsZWFzZUVudGVyWW91clVzZXJuYW1lTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYWxlcnQtZGl2XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImVycm9yTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnJlcG9ydDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImFsZXJ0LW1zZ1wiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaW5mby1kaXZcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW5cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWkgbWRpLWluZm9cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3VtaW5nUHJvamVjdFNTT0xvZ2luU2VydmljZT8uaXNTc29JbnRlZ3JhdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbnN0YW50cy5lbnRlclVzZXJDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnN0YW50cy5lbnRlckVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dC1pbnZhbGlkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmRpcnR5ICYmIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxvZ2luLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FubmEtY29nbml0by1saWItU3Bpbm5lckJ1dHRvbl09XCJpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ2luT3JHZXRPdHBCdXR0b25DbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3Bpbm5lckJ1dHRvblRleHRdPVwiaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gPyBjb25zdGFudHMubG9naW4gOiBjb25zdGFudHMuZm9yZ290UGFzc3dvcmRCdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9hcnRpY2xlPlxyXG4gICAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICAgIDxhbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT4gPC9hbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Zvb3Rlcj5cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicGFnZS1mb290ZXJcIj5cclxuICAgIDxhbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+PC9hbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+XHJcbiAgICA8YW5uYS1jb2duaXRvLWxpYi12ZXJzaW9uLWFuZC10ZXJtLXBvbGljeT48L2FubmEtY29nbml0by1saWItdmVyc2lvbi1hbmQtdGVybS1wb2xpY3k+XHJcbjwvZGl2PlxyXG4iXX0=
1
+ // Angular import statements
2
+ import { Component, Inject } from '@angular/core';
3
+ import { FormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ // Third party import statements
5
+ import { ToastrService } from 'ngx-toastr';
6
+ import { forkJoin } from 'rxjs';
7
+ // User defined import statements
8
+ import { UsernameInfo, UserState } from '../../models/auth.model';
9
+ import { AnnaLibAuthService } from '../../services/auth.service';
10
+ import { LoginConstant } from '../../constants/loginConstant';
11
+ import { Router } from '@angular/router';
12
+ import { CONFIG_SERVICE_TOKEN } from '../../config/config-service.token';
13
+ import { AUTH_SERVICE_TOKEN } from '../../config/auth-service.token';
14
+ import { SSO_LOGIN_SERVICE_TOKEN } from '../../config/sso-login-service.token';
15
+ import { VersionAndTermPolicyComponent } from '../version-and-term-policy/version-and-term-policy.component';
16
+ import { SurewavesYearLogoComponent } from '../surewaves-year-logo/surewaves-year-logo.component';
17
+ import { PoweredByLogoTemplateComponent } from '../powered-by-logo-template/powered-by-logo-template.component';
18
+ import { SpinnerButtonDirective } from '../../directives/spinner-button/spinner-button.directive';
19
+ import { NgIf, NgClass } from '@angular/common';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "../../services/auth.service";
22
+ import * as i2 from "@angular/forms";
23
+ import * as i3 from "ngx-toastr";
24
+ import * as i4 from "@angular/router";
25
+ export class ForgotPasswordComponent {
26
+ constructor(authService, fb, toastr, router, consumingProjectConfigService, consumingProjectAuthService, consumingProjectSSOLoginService) {
27
+ this.authService = authService;
28
+ this.fb = fb;
29
+ this.toastr = toastr;
30
+ this.router = router;
31
+ this.consumingProjectConfigService = consumingProjectConfigService;
32
+ this.consumingProjectAuthService = consumingProjectAuthService;
33
+ this.consumingProjectSSOLoginService = consumingProjectSSOLoginService;
34
+ this.passwordNotMatching = false;
35
+ this.password = { value: null, status: null };
36
+ this.confirmPassword = { value: null, status: null };
37
+ this.infoMessageToRedirectLogin = null;
38
+ this.isLoading = false;
39
+ }
40
+ ngOnInit() {
41
+ this.infoMessageToRedirectLogin = null;
42
+ this.constants = LoginConstant;
43
+ this.onIntialiseForm();
44
+ if (this.consumingProjectAuthService.userName) {
45
+ this.onUpdateForm();
46
+ }
47
+ this.authService.forgotPasswordAndGlobalSignoutLoader = false;
48
+ }
49
+ onIntialiseForm() {
50
+ this.verifyRegisteredEmail = this.fb.group({
51
+ email: [null, [Validators.required]],
52
+ });
53
+ }
54
+ onUpdateForm() {
55
+ this.verifyRegisteredEmail.patchValue({
56
+ email: this.consumingProjectAuthService.userName,
57
+ });
58
+ }
59
+ isFormValid() {
60
+ return this.verifyRegisteredEmail.valid;
61
+ }
62
+ onLoginOrGetOtpButtonClick() {
63
+ if (this.infoMessageToRedirectLogin) {
64
+ this.router.navigate([LoginConstant.loginPageUrl]);
65
+ }
66
+ else {
67
+ this.onVerifyRegisteredEmail();
68
+ }
69
+ }
70
+ onVerifyRegisteredEmail() {
71
+ this.isLoading = true;
72
+ this.errorMessage = null;
73
+ this.infoMessageToRedirectLogin = null;
74
+ let username = this.verifyRegisteredEmail.controls['email'].value;
75
+ let isUsernameAvailable = this.authService.consumingProjectAuthService.isUsernameAvailable(username);
76
+ let isUsernameTempPasswordSet = this.authService.consumingProjectAuthService.getUserState(username);
77
+ forkJoin([isUsernameAvailable, isUsernameTempPasswordSet]).subscribe({
78
+ next: (result) => {
79
+ let isUsernameAvailable = new UsernameInfo(result[0]).isUsernameAvailable;
80
+ let isUserWithTempPassword = new UserState(result[1]).isUserWithTempPassword;
81
+ this.onGettingUserStatus(isUsernameAvailable, isUserWithTempPassword, username);
82
+ this.isLoading = false;
83
+ },
84
+ error: (error) => {
85
+ if (error.status == 400) {
86
+ this.errorMessage = this.constants.userNotFound;
87
+ }
88
+ else {
89
+ this.toastr.error(LoginConstant.apiFailErrorMessage);
90
+ }
91
+ this.isLoading = false;
92
+ },
93
+ });
94
+ }
95
+ onGettingUserStatus(isUsernameAvailable, isUserWithTempPassword, username) {
96
+ if (!isUsernameAvailable) {
97
+ if (!isUserWithTempPassword) {
98
+ this.authService.onForgotPasswordGenerateOTP(username);
99
+ }
100
+ else {
101
+ this.infoMessageToRedirectLogin = this.constants.firstTimeLoginUserTempPasswordMsg;
102
+ }
103
+ }
104
+ else {
105
+ this.errorMessage = this.constants.userNotFound;
106
+ }
107
+ }
108
+ }
109
+ ForgotPasswordComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ForgotPasswordComponent, deps: [{ token: i1.AnnaLibAuthService }, { token: i2.FormBuilder }, { token: i3.ToastrService }, { token: i4.Router }, { token: CONFIG_SERVICE_TOKEN }, { token: AUTH_SERVICE_TOKEN }, { token: SSO_LOGIN_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
110
+ ForgotPasswordComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ForgotPasswordComponent, isStandalone: true, selector: "anna-cognito-lib-forgot-password", ngImport: i0, template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <ng-container *ngIf=\"!infoMessageToRedirectLogin\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.PleaseEnterYourUsercodeMessage\r\n : constants.PleaseEnterYourUsernameMessage\r\n }}\r\n </p>\r\n </ng-container>\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"errorMessage\"\r\n >\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n <div\r\n id=\"info-div\"\r\n *ngIf=\"infoMessageToRedirectLogin\"\r\n >\r\n <i class=\"mi mdi-info\"></i>\r\n <p>{{ infoMessageToRedirectLogin }}</p>\r\n </div>\r\n\r\n <input\r\n *ngIf=\"!infoMessageToRedirectLogin\"\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.enterUserCode\r\n : constants.enterEmail\r\n \"\r\n [ngClass]=\"{\r\n 'input-invalid':\r\n verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [anna-cognito-lib-SpinnerButton]=\"isLoading\"\r\n (click)=\"onLoginOrGetOtpButtonClick()\"\r\n [spinnerButtonText]=\"infoMessageToRedirectLogin ? constants.login : constants.forgotPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: SpinnerButtonDirective, selector: "[anna-cognito-lib-SpinnerButton]", inputs: ["anna-cognito-lib-SpinnerButton", "spinnerButtonText"] }, { kind: "component", type: PoweredByLogoTemplateComponent, selector: "anna-cognito-lib-powered-by-logo-template" }, { kind: "component", type: SurewavesYearLogoComponent, selector: "anna-cognito-lib-surewaves-year-logo" }, { kind: "component", type: VersionAndTermPolicyComponent, selector: "anna-cognito-lib-version-and-term-policy" }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ForgotPasswordComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'anna-cognito-lib-forgot-password', standalone: true, imports: [
114
+ FormsModule,
115
+ ReactiveFormsModule,
116
+ NgIf,
117
+ NgClass,
118
+ SpinnerButtonDirective,
119
+ PoweredByLogoTemplateComponent,
120
+ SurewavesYearLogoComponent,
121
+ VersionAndTermPolicyComponent,
122
+ ], template: "<div class=\"main\">\r\n <section>\r\n <header>\r\n <img\r\n [src]=\"consumingProjectConfigService.appGenericConfig.loginPageLogoImgUrl\"\r\n alt=\"Anna Logo\"\r\n />\r\n </header>\r\n <article>\r\n <form [formGroup]=\"verifyRegisteredEmail\">\r\n <ng-container *ngIf=\"!infoMessageToRedirectLogin\">\r\n <div id=\"heading\">\r\n {{ constants.forgotPasswordHeading }}\r\n </div>\r\n <p>\r\n {{\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.PleaseEnterYourUsercodeMessage\r\n : constants.PleaseEnterYourUsernameMessage\r\n }}\r\n </p>\r\n </ng-container>\r\n <div\r\n id=\"alert-div\"\r\n *ngIf=\"errorMessage\"\r\n >\r\n <span class=\"material-icons\">report</span>\r\n <p id=\"alert-msg\">{{ errorMessage }}</p>\r\n </div>\r\n <div\r\n id=\"info-div\"\r\n *ngIf=\"infoMessageToRedirectLogin\"\r\n >\r\n <i class=\"mi mdi-info\"></i>\r\n <p>{{ infoMessageToRedirectLogin }}</p>\r\n </div>\r\n\r\n <input\r\n *ngIf=\"!infoMessageToRedirectLogin\"\r\n type=\"text\"\r\n tabindex=\"1\"\r\n formControlName=\"email\"\r\n [placeholder]=\"\r\n consumingProjectSSOLoginService?.isSsoIntegrated\r\n ? constants.enterUserCode\r\n : constants.enterEmail\r\n \"\r\n [ngClass]=\"{\r\n 'input-invalid':\r\n verifyRegisteredEmail.get('email')?.dirty && verifyRegisteredEmail.get('email')?.errors\r\n }\"\r\n />\r\n\r\n <button\r\n tabindex=\"2\"\r\n type=\"submit\"\r\n class=\"login-btn\"\r\n [anna-cognito-lib-SpinnerButton]=\"isLoading\"\r\n (click)=\"onLoginOrGetOtpButtonClick()\"\r\n [spinnerButtonText]=\"infoMessageToRedirectLogin ? constants.login : constants.forgotPasswordButton\"\r\n ></button>\r\n </form>\r\n </article>\r\n <footer>\r\n <anna-cognito-lib-powered-by-logo-template> </anna-cognito-lib-powered-by-logo-template>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<div class=\"page-footer\">\r\n <anna-cognito-lib-surewaves-year-logo></anna-cognito-lib-surewaves-year-logo>\r\n <anna-cognito-lib-version-and-term-policy></anna-cognito-lib-version-and-term-policy>\r\n</div>\r\n", styles: ["@keyframes show{0%{opacity:0}50%{opacity:.5}to{opacity:1}}html{overflow-y:scroll}.main{background-color:#fff;background-size:cover;font-family:Roboto;height:calc(100vh - 50px)}section{top:45%;left:50%;position:absolute;transform:translate(-50%,-50%);width:20.875rem;animation:show .5s 1;-moz-animation:show .5s 1}.container{width:100%;height:100%;overflow:auto}header{height:auto;width:100%;text-align:center}article{margin-top:.9375rem;margin-bottom:.9375rem;border:1px solid #979797;background-color:#f4f4f4;padding:2rem 1.375rem;border-radius:.375rem;box-shadow:0 .125rem .4375rem #0000001a}article .sub-title{color:#6e6e6e;font-family:Roboto;font-size:1.25rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}article #heading{color:#212121;text-align:center;margin-bottom:1.5rem;font-family:Roboto;font-size:1.125rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}p{text-align:center;margin-bottom:1rem}#alert-div{padding:.3125rem 0;margin-bottom:.75rem;border-radius:.25rem;border:solid 1px #f9b3ae;background-color:#fde4e3;justify-content:left;align-items:center;display:flex}#alert-div .material-icons{color:#f44336;font-size:1rem;margin-left:.5rem}#alert-div p{margin-left:4px!important;margin:0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}#info-div{padding:6px 0;margin-bottom:.75rem;border-radius:.25rem;border:1px solid #268bff;background:#e3f0ff}#info-div .mdi-info{color:#268bff;font-size:1rem;margin-left:6px}#info-div p{margin:-1.5625rem 0 0 1.8rem;padding:.3125rem 0;color:#4a4a4a;font-family:Roboto;font-size:.75rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}footer{align-items:baseline;color:#6e6e6e;opacity:.9;display:flex;font-family:Ubuntu;font-size:1.25rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;justify-content:center}footer span{font-size:1.5625rem;margin-left:.25rem}input[type=password],input[type=text],input[type=number]{width:100%;height:30px;padding:.75rem 1rem;border:1px solid #979797;margin-bottom:.625rem;border-radius:.375rem}.login-btn{width:100%;height:2.5rem;border:0;color:#fff;background-color:#268bff;border-radius:.375rem;font-size:1rem}.login-btn:hover{background-color:#4099ff;cursor:pointer}.login-btn:disabled{background-color:#ccc;color:#fff;cursor:not-allowed}.input-invalid{border:1px solid #fe3824!important}input[type=password].ng-dirty.ng-invalid,input[type=text].ng-dirty.ng-invalid{border:1px solid #fe3824}input[type=submit]:focus,input[type=password]:focus,input[type=text]:focus,input[type=checkbox]:focus,button:focus{outline:none}input::placeholder{color:#a4a4a4}:host ::ng-deep .verison-and-policy{color:#8bac2a}p{color:#4a4a4a;font-family:Roboto;font-size:1rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input[type=text]{margin-bottom:16px}input[type=text]:focus{box-shadow:none}.back-btn{font-size:27px;position:relative;color:#268bff;float:left;top:-30px;left:-15px;font-weight:400!important}\n"] }]
123
+ }], ctorParameters: function () { return [{ type: i1.AnnaLibAuthService }, { type: i2.FormBuilder }, { type: i3.ToastrService }, { type: i4.Router }, { type: undefined, decorators: [{
124
+ type: Inject,
125
+ args: [CONFIG_SERVICE_TOKEN]
126
+ }] }, { type: undefined, decorators: [{
127
+ type: Inject,
128
+ args: [AUTH_SERVICE_TOKEN]
129
+ }] }, { type: undefined, decorators: [{
130
+ type: Inject,
131
+ args: [SSO_LOGIN_SERVICE_TOKEN]
132
+ }] }]; } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29nbml0by1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb2duaXRvLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEcsZ0NBQWdDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBeUIsTUFBTSxNQUFNLENBQUM7QUFFdkQsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQWtCLE1BQU0sbUNBQW1DLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqRyxP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UUFBUSxDQUFDLENBQUM7YUFDMUQ7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUM7YUFDdEY7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztTQUNuRDtJQUNMLENBQUM7O3FIQTNGUSx1QkFBdUIsa0lBZXBCLG9CQUFvQixhQUNwQixrQkFBa0IsYUFDbEIsdUJBQXVCO3lHQWpCMUIsdUJBQXVCLDRGQ3ZDcEMsb2lHQXlFQSxxc0dENUNRLFdBQVcsMnBCQUNYLG1CQUFtQixnVkFDbkIsSUFBSSw2RkFDSixPQUFPLG9GQUNQLHNCQUFzQiw4SUFDdEIsOEJBQThCLHNGQUM5QiwwQkFBMEIsaUZBQzFCLDZCQUE2Qjs0RkFHeEIsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDSSxrQ0FBa0MsY0FHaEMsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixJQUFJO3dCQUNKLE9BQU87d0JBQ1Asc0JBQXNCO3dCQUN0Qiw4QkFBOEI7d0JBQzlCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3FCQUNoQzs7MEJBaUJJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIgaW1wb3J0IHN0YXRlbWVudHNcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIGNhdGNoRXJyb3IsIHBpcGUsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gVXNlciBkZWZpbmVkIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IFVzZXJuYW1lSW5mbywgVXNlclN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgubW9kZWwnO1xyXG5pbXBvcnQgeyBBbm5hTGliQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbnN0YW50IH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2xvZ2luQ29uc3RhbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDT05GSUdfU0VSVklDRV9UT0tFTiwgSUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWcvY29uZmlnLXNlcnZpY2UudG9rZW4nO1xyXG5pbXBvcnQgeyBBVVRIX1NFUlZJQ0VfVE9LRU4sIElBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9hdXRoLXNlcnZpY2UudG9rZW4nO1xyXG5pbXBvcnQgeyBJU1NPTG9naW5TZXJ2aWNlLCBTU09fTE9HSU5fU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL2NvbmZpZy9zc28tbG9naW4tc2VydmljZS50b2tlbic7XHJcbmltcG9ydCB7IFZlcnNpb25BbmRUZXJtUG9saWN5Q29tcG9uZW50IH0gZnJvbSAnLi4vdmVyc2lvbi1hbmQtdGVybS1wb2xpY3kvdmVyc2lvbi1hbmQtdGVybS1wb2xpY3kuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQgfSBmcm9tICcuLi9zdXJld2F2ZXMteWVhci1sb2dvL3N1cmV3YXZlcy15ZWFyLWxvZ28uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG93ZXJlZEJ5TG9nb1RlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vcG93ZXJlZC1ieS1sb2dvLXRlbXBsYXRlL3Bvd2VyZWQtYnktbG9nby10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGlubmVyQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zcGlubmVyLWJ1dHRvbi9zcGlubmVyLWJ1dHRvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbnR5cGUgcGFzc3dvcmRUeXBlID0geyB2YWx1ZTogc3RyaW5nOyBzdGF0dXM6IHN0cmluZyB9O1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYW5uYS1jb2duaXRvLWxpYi1mb3Jnb3QtcGFzc3dvcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nQ2xhc3MsXHJcbiAgICAgICAgU3Bpbm5lckJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgICAgICBQb3dlcmVkQnlMb2dvVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICAgICAgU3VyZXdhdmVzWWVhckxvZ29Db21wb25lbnQsXHJcbiAgICAgICAgVmVyc2lvbkFuZFRlcm1Qb2xpY3lDb21wb25lbnQsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9yZ290UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICB2ZXJpZnlSZWdpc3RlcmVkRW1haWw6IEZvcm1Hcm91cDtcclxuICAgIHBhc3N3b3JkTm90TWF0Y2hpbmcgPSBmYWxzZTtcclxuICAgIGNvbnN0YW50czogdHlwZW9mIExvZ2luQ29uc3RhbnQ7XHJcbiAgICBwYXNzd29yZDogcGFzc3dvcmRUeXBlID0geyB2YWx1ZTogbnVsbCwgc3RhdHVzOiBudWxsIH07XHJcbiAgICBjb25maXJtUGFzc3dvcmQ6IHBhc3N3b3JkVHlwZSA9IHsgdmFsdWU6IG51bGwsIHN0YXR1czogbnVsbCB9O1xyXG4gICAgaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW46IHN0cmluZyA9IG51bGw7XHJcbiAgICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBbm5hTGliQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBASW5qZWN0KENPTkZJR19TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdENvbmZpZ1NlcnZpY2U6IElDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQVVUSF9TRVJWSUNFX1RPS0VOKSBwdWJsaWMgY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlOiBJQXV0aFNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChTU09fTE9HSU5fU0VSVklDRV9UT0tFTikgcHVibGljIGNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U6IElTU09Mb2dpblNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5pbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpbiA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jb25zdGFudHMgPSBMb2dpbkNvbnN0YW50O1xyXG4gICAgICAgIHRoaXMub25JbnRpYWxpc2VGb3JtKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLnVzZXJOYW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25VcGRhdGVGb3JtKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZm9yZ290UGFzc3dvcmRBbmRHbG9iYWxTaWdub3V0TG9hZGVyID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnRpYWxpc2VGb3JtKCkge1xyXG4gICAgICAgIHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgIGVtYWlsOiBbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblVwZGF0ZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy52ZXJpZnlSZWdpc3RlcmVkRW1haWwucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgICAgIGVtYWlsOiB0aGlzLmNvbnN1bWluZ1Byb2plY3RBdXRoU2VydmljZS51c2VyTmFtZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0Zvcm1WYWxpZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy52ZXJpZnlSZWdpc3RlcmVkRW1haWwudmFsaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25Mb2dpbk9yR2V0T3RwQnV0dG9uQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4pIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW0xvZ2luQ29uc3RhbnQubG9naW5QYWdlVXJsXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5vblZlcmlmeVJlZ2lzdGVyZWRFbWFpbCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblZlcmlmeVJlZ2lzdGVyZWRFbWFpbCgpIHtcclxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gPSBudWxsO1xyXG4gICAgICAgIGxldCB1c2VybmFtZSA9IHRoaXMudmVyaWZ5UmVnaXN0ZXJlZEVtYWlsLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlO1xyXG5cclxuICAgICAgICBsZXQgaXNVc2VybmFtZUF2YWlsYWJsZSA9IHRoaXMuYXV0aFNlcnZpY2UuY29uc3VtaW5nUHJvamVjdEF1dGhTZXJ2aWNlLmlzVXNlcm5hbWVBdmFpbGFibGUodXNlcm5hbWUpO1xyXG4gICAgICAgIGxldCBpc1VzZXJuYW1lVGVtcFBhc3N3b3JkU2V0ID0gdGhpcy5hdXRoU2VydmljZS5jb25zdW1pbmdQcm9qZWN0QXV0aFNlcnZpY2UuZ2V0VXNlclN0YXRlKHVzZXJuYW1lKTtcclxuXHJcbiAgICAgICAgZm9ya0pvaW4oW2lzVXNlcm5hbWVBdmFpbGFibGUsIGlzVXNlcm5hbWVUZW1wUGFzc3dvcmRTZXRdKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXNVc2VybmFtZUF2YWlsYWJsZSA9IG5ldyBVc2VybmFtZUluZm8ocmVzdWx0WzBdKS5pc1VzZXJuYW1lQXZhaWxhYmxlO1xyXG4gICAgICAgICAgICAgICAgbGV0IGlzVXNlcldpdGhUZW1wUGFzc3dvcmQgPSBuZXcgVXNlclN0YXRlKHJlc3VsdFsxXSkuaXNVc2VyV2l0aFRlbXBQYXNzd29yZDtcclxuICAgICAgICAgICAgICAgIHRoaXMub25HZXR0aW5nVXNlclN0YXR1cyhpc1VzZXJuYW1lQXZhaWxhYmxlLCBpc1VzZXJXaXRoVGVtcFBhc3N3b3JkLCB1c2VybmFtZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jb25zdGFudHMudXNlck5vdEZvdW5kO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihMb2dpbkNvbnN0YW50LmFwaUZhaWxFcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbkdldHRpbmdVc2VyU3RhdHVzKGlzVXNlcm5hbWVBdmFpbGFibGU6IGJvb2xlYW4sIGlzVXNlcldpdGhUZW1wUGFzc3dvcmQ6IGJvb2xlYW4sIHVzZXJuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWlzVXNlcm5hbWVBdmFpbGFibGUpIHtcclxuICAgICAgICAgICAgaWYgKCFpc1VzZXJXaXRoVGVtcFBhc3N3b3JkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLm9uRm9yZ290UGFzc3dvcmRHZW5lcmF0ZU9UUCh1c2VybmFtZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluZm9NZXNzYWdlVG9SZWRpcmVjdExvZ2luID0gdGhpcy5jb25zdGFudHMuZmlyc3RUaW1lTG9naW5Vc2VyVGVtcFBhc3N3b3JkTXNnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmNvbnN0YW50cy51c2VyTm90Rm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtYWluXCI+XHJcbiAgICA8c2VjdGlvbj5cclxuICAgICAgICA8aGVhZGVyPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImNvbnN1bWluZ1Byb2plY3RDb25maWdTZXJ2aWNlLmFwcEdlbmVyaWNDb25maWcubG9naW5QYWdlTG9nb0ltZ1VybFwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJBbm5hIExvZ29cIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgIDwvaGVhZGVyPlxyXG4gICAgICAgIDxhcnRpY2xlPlxyXG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInZlcmlmeVJlZ2lzdGVyZWRFbWFpbFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJoZWFkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNvbnN0YW50cy5mb3Jnb3RQYXNzd29yZEhlYWRpbmcgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN1bWluZ1Byb2plY3RTU09Mb2dpblNlcnZpY2U/LmlzU3NvSW50ZWdyYXRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gY29uc3RhbnRzLlBsZWFzZUVudGVyWW91clVzZXJjb2RlTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogY29uc3RhbnRzLlBsZWFzZUVudGVyWW91clVzZXJuYW1lTWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYWxlcnQtZGl2XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImVycm9yTWVzc2FnZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPnJlcG9ydDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImFsZXJ0LW1zZ1wiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaW5mby1kaXZcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW5cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWkgbWRpLWluZm9cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gfX08L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpbmZvTWVzc2FnZVRvUmVkaXJlY3RMb2dpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3VtaW5nUHJvamVjdFNTT0xvZ2luU2VydmljZT8uaXNTc29JbnRlZ3JhdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGNvbnN0YW50cy5lbnRlclVzZXJDb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnN0YW50cy5lbnRlckVtYWlsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dC1pbnZhbGlkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmRpcnR5ICYmIHZlcmlmeVJlZ2lzdGVyZWRFbWFpbC5nZXQoJ2VtYWlsJyk/LmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxvZ2luLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2FubmEtY29nbml0by1saWItU3Bpbm5lckJ1dHRvbl09XCJpc0xvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxvZ2luT3JHZXRPdHBCdXR0b25DbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3Bpbm5lckJ1dHRvblRleHRdPVwiaW5mb01lc3NhZ2VUb1JlZGlyZWN0TG9naW4gPyBjb25zdGFudHMubG9naW4gOiBjb25zdGFudHMuZm9yZ290UGFzc3dvcmRCdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgPC9hcnRpY2xlPlxyXG4gICAgICAgIDxmb290ZXI+XHJcbiAgICAgICAgICAgIDxhbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT4gPC9hbm5hLWNvZ25pdG8tbGliLXBvd2VyZWQtYnktbG9nby10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Zvb3Rlcj5cclxuICAgIDwvc2VjdGlvbj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicGFnZS1mb290ZXJcIj5cclxuICAgIDxhbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+PC9hbm5hLWNvZ25pdG8tbGliLXN1cmV3YXZlcy15ZWFyLWxvZ28+XHJcbiAgICA8YW5uYS1jb2duaXRvLWxpYi12ZXJzaW9uLWFuZC10ZXJtLXBvbGljeT48L2FubmEtY29nbml0by1saWItdmVyc2lvbi1hbmQtdGVybS1wb2xpY3k+XHJcbjwvZGl2PlxyXG4iXX0=