@reusa/ngx-reusa-app-lib 0.0.732 → 0.1.731
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.
- package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
- package/esm2022/lib/components/address/address.component.mjs +487 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
- package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
- package/esm2022/lib/components/card/card.component.mjs +55 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
- package/esm2022/lib/components/content/content.component.mjs +61 -0
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
- package/esm2022/lib/components/error/error.component.mjs +86 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
- package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
- package/esm2022/lib/components/footer/footer.component.mjs +332 -0
- package/esm2022/lib/components/header/header.component.mjs +558 -0
- package/esm2022/lib/components/help/help.component.mjs +49 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
- package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
- package/esm2022/lib/components/mask/mask.component.mjs +48 -0
- package/esm2022/lib/components/menu/menu.component.mjs +423 -0
- package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
- package/esm2022/lib/components/msg/msg.component.mjs +48 -0
- package/esm2022/lib/components/news/news.component.mjs +90 -0
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
- package/esm2022/lib/components/page/page.component.mjs +136 -0
- package/esm2022/lib/components/profile/profile.component.mjs +177 -0
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
- package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
- package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
- package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
- package/esm2022/lib/components/select/select.component.mjs +154 -0
- package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
- package/esm2022/lib/components/test/test.component.mjs +19 -0
- package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
- package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
- package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
- package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
- package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
- package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
- package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
- package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
- package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
- package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
- package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
- package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
- package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
- package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
- package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
- package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
- package/esm2022/lib/models/dashboard-model.mjs +3 -0
- package/esm2022/lib/models/dependent.model.mjs +8 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
- package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
- package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
- package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
- package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
- package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
- package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
- package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
- package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
- package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
- package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
- package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
- package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
- package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
- package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
- package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
- package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
- package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
- package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
- package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
- package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
- package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
- package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
- package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
- package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
- package/esm2022/lib/services/login/login.service.mjs +330 -0
- package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
- package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
- package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
- package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
- package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
- package/esm2022/lib/validations/AppRegex.mjs +45 -0
- package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
- package/{esm2020 → esm2022}/public-api.mjs +131 -131
- package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
- package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/annimations/app-animations.d.ts +3 -3
- package/lib/components/add-employer/add-employer.component.d.ts +276 -276
- package/lib/components/add-participant/add-participant.component.d.ts +45 -45
- package/lib/components/add-payment/add-payment.component.d.ts +33 -33
- package/lib/components/address/address.component.d.ts +68 -68
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/bank-details/bank-details.component.d.ts +39 -39
- package/lib/components/captcha/captcha.component.d.ts +44 -44
- package/lib/components/card/card.component.d.ts +11 -11
- package/lib/components/contact-us/contact-us.component.d.ts +105 -107
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/content/content.component.d.ts +13 -13
- package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
- package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
- package/lib/components/disclosure/disclosure.component.d.ts +12 -12
- package/lib/components/dropdown/dropdown.component.d.ts +581 -207
- package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
- package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
- package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +31 -31
- package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +17 -17
- package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
- package/lib/components/file-download/file-download.component.d.ts +22 -22
- package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
- package/lib/components/footer/footer.component.d.ts +36 -36
- package/lib/components/header/header.component.d.ts +59 -58
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/help/help.component.d.ts +10 -10
- package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
- package/lib/components/info/info.component.d.ts +22 -22
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
- package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
- package/lib/components/mask/mask.component.d.ts +11 -11
- package/lib/components/menu/menu.component.d.ts +43 -43
- package/lib/components/mfa/mfa.component.d.ts +59 -59
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
- package/lib/components/money-expect/money-expect.component.d.ts +18 -18
- package/lib/components/msg/msg.component.d.ts +10 -10
- package/lib/components/news/news.component.d.ts +14 -14
- package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
- package/lib/components/page/page.component.d.ts +23 -23
- package/lib/components/profile/profile.component.d.ts +28 -28
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
- package/lib/components/questionnaire/AppValidators.d.ts +14 -14
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/FbConstants.d.ts +7 -7
- package/lib/components/questionnaire/SelectItem.d.ts +4 -4
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-base.d.ts +16 -16
- package/lib/components/questionnaire/question-control.service.d.ts +19 -19
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +18 -18
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/read-more/read-more.component.d.ts +14 -14
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
- package/lib/components/search-employer/search-employer.component.d.ts +37 -36
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/select/select.component.d.ts +55 -55
- package/lib/components/ssn/ssn.component.d.ts +11 -11
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
- package/lib/components/test/test.component.d.ts +8 -8
- package/lib/components/user-login/user-login.component.d.ts +48 -48
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
- package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
- package/lib/directives/caps-lock.directive.d.ts +11 -11
- package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
- package/lib/enums/EmailStatusEnum.d.ts +7 -7
- package/lib/guards/auth.guard.d.ts +28 -28
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/guards/no-login/no-login.guard.d.ts +11 -11
- package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
- package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
- package/lib/models/AddressComponentModel.d.ts +12 -12
- package/lib/models/BankDetailsComponentModel.d.ts +11 -11
- package/lib/models/BankDetailsModel.d.ts +4 -4
- package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
- package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
- package/lib/models/ErrorModel.d.ts +6 -6
- package/lib/models/FileModel.d.ts +4 -4
- package/lib/models/LibConstants.d.ts +112 -112
- package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
- package/lib/models/NotificationModel.d.ts +10 -10
- package/lib/models/OtpAuthModel.d.ts +6 -6
- package/lib/models/PaymentComponentModel.d.ts +7 -7
- package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
- package/lib/models/SsaVerificationModel.d.ts +8 -8
- package/lib/models/TrendModel.d.ts +13 -13
- package/lib/models/UserDetailsModel.d.ts +9 -9
- package/lib/models/UserModel.d.ts +46 -46
- package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
- package/lib/models/claimant/ClaimantModel.d.ts +22 -22
- package/lib/models/claimant/JobResultsData.d.ts +7 -7
- package/lib/models/claimant/MatchingJobs.d.ts +12 -12
- package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
- package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
- package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
- package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
- package/lib/models/cmp/ContactUsModel.d.ts +22 -22
- package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
- package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
- package/lib/models/cmp/messageRourceModel.d.ts +5 -5
- package/lib/models/dashboard-model.d.ts +43 -43
- package/lib/models/dependent.model.d.ts +11 -18
- package/lib/models/dependent.model.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
- package/lib/models/questionnaire/ComboModel.d.ts +85 -85
- package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
- package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
- package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
- package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
- package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
- package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
- package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
- package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
- package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
- package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
- package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
- package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
- package/lib/models/questionnaire/StatusModel.d.ts +15 -15
- package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
- package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
- package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
- package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
- package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
- package/lib/pages/BasePage.d.ts +26 -26
- package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
- package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
- package/lib/pages/common/landing/landing.component.d.ts +24 -24
- package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
- package/lib/pages/common/login/login.component.d.ts +64 -64
- package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
- package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
- package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
- package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
- package/lib/pages/popovers/language/language.page.d.ts +16 -16
- package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
- package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
- package/lib/pipes/filter.pipe.d.ts +7 -7
- package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
- package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
- package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
- package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
- package/lib/services/base-service.d.ts +92 -92
- package/lib/services/captcha/captcha.service.d.ts +15 -15
- package/lib/services/case-service/case.service.d.ts +19 -19
- package/lib/services/chatbot/chatbot.service.d.ts +60 -60
- package/lib/services/chatbot/script.const.d.ts +15 -15
- package/lib/services/claimant/claimant.service.d.ts +17 -17
- package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
- package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant.service.d.ts +19 -19
- package/lib/services/claims/claims.service.d.ts +39 -39
- package/lib/services/cmp-service/cmp.service.d.ts +33 -33
- package/lib/services/dms-service/dms.service.d.ts +23 -23
- package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
- package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
- package/lib/services/help/help.service.d.ts +25 -25
- package/lib/services/help/help.service.d.ts.map +1 -1
- package/lib/services/idle/idle.service.d.ts +43 -43
- package/lib/services/logger/logger.service.d.ts +31 -31
- package/lib/services/logger/logger.service.d.ts.map +1 -1
- package/lib/services/login/login.service.d.ts +75 -75
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/maintenance/maintenance.service.d.ts +15 -15
- package/lib/services/notification/notification.service.d.ts +38 -38
- package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
- package/lib/services/questionnaire/validation.service.d.ts +81 -81
- package/lib/services/security-service/security.service.d.ts +14 -14
- package/lib/services/tour/tour.service.d.ts +24 -24
- package/lib/services/util/util.service.d.ts +190 -190
- package/lib/validations/AppRegex.d.ts +43 -43
- package/lib/validations/AppValidators.d.ts +53 -53
- package/package.json +6 -11
- package/public-api.d.ts +121 -121
- package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
- package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
- package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
- package/esm2020/lib/components/address/address.component.mjs +0 -480
- package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
- package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
- package/esm2020/lib/components/card/card.component.mjs +0 -54
- package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
- package/esm2020/lib/components/content/content.component.mjs +0 -60
- package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
- package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
- package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
- package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
- package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
- package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
- package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
- package/esm2020/lib/components/error/error.component.mjs +0 -85
- package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
- package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
- package/esm2020/lib/components/footer/footer.component.mjs +0 -337
- package/esm2020/lib/components/header/header.component.mjs +0 -566
- package/esm2020/lib/components/help/help.component.mjs +0 -48
- package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
- package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
- package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
- package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
- package/esm2020/lib/components/mask/mask.component.mjs +0 -48
- package/esm2020/lib/components/menu/menu.component.mjs +0 -430
- package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
- package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
- package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
- package/esm2020/lib/components/msg/msg.component.mjs +0 -48
- package/esm2020/lib/components/news/news.component.mjs +0 -89
- package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
- package/esm2020/lib/components/page/page.component.mjs +0 -138
- package/esm2020/lib/components/profile/profile.component.mjs +0 -182
- package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
- package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
- package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
- package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
- package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
- package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
- package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
- package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
- package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
- package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
- package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
- package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
- package/esm2020/lib/components/select/select.component.mjs +0 -153
- package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
- package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
- package/esm2020/lib/components/test/test.component.mjs +0 -18
- package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
- package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
- package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
- package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
- package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
- package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
- package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
- package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
- package/esm2020/lib/models/dashboard-model.mjs +0 -3
- package/esm2020/lib/models/dependent.model.mjs +0 -8
- package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
- package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
- package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
- package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
- package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
- package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
- package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
- package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
- package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
- package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
- package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
- package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
- package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
- package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
- package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
- package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
- package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
- package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
- package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
- package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
- package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
- package/esm2020/lib/services/login/login.service.mjs +0 -330
- package/esm2020/lib/validations/AppRegex.mjs +0 -45
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
- package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
- package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { BasePage } from '../../BasePage';
|
|
4
|
+
import { UserModel } from '../../../models/UserModel';
|
|
5
|
+
import { LanguagePage } from '../../popovers/language/language.page';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "../../../services/login/login.service";
|
|
9
|
+
import * as i3 from "@angular/router";
|
|
10
|
+
import * as i4 from "../../../services/util/util.service";
|
|
11
|
+
import * as i5 from "@ionic/angular";
|
|
12
|
+
import * as i6 from "../../../services/captcha/captcha.service";
|
|
13
|
+
import * as i7 from "@angular/common";
|
|
14
|
+
import * as i8 from "ngx-joyride";
|
|
15
|
+
import * as i9 from "primeng/api";
|
|
16
|
+
import * as i10 from "primeng/tooltip";
|
|
17
|
+
import * as i11 from "@angular/material/form-field";
|
|
18
|
+
import * as i12 from "primeng/dialog";
|
|
19
|
+
import * as i13 from "@angular/material/stepper";
|
|
20
|
+
import * as i14 from "primeng/toast";
|
|
21
|
+
import * as i15 from "primeng/password";
|
|
22
|
+
import * as i16 from "primeng/inputtext";
|
|
23
|
+
import * as i17 from "../../../components/mask/mask.component";
|
|
24
|
+
import * as i18 from "../../../components/page/page.component";
|
|
25
|
+
import * as i19 from "../../../directives/caps-lock.directive";
|
|
26
|
+
import * as i20 from "../../../components/content/content.component";
|
|
27
|
+
import * as i21 from "../../../components/msg/msg.component";
|
|
28
|
+
import * as i22 from "../../../components/card/card.component";
|
|
29
|
+
import * as i23 from "../../../directives/auto-focus/auto-focus.directive";
|
|
30
|
+
import * as i24 from "../../../components/error/error.component";
|
|
31
|
+
import * as i25 from "@ngx-translate/core";
|
|
32
|
+
const _c0 = ["loginRef"];
|
|
33
|
+
const _c1 = ["stepper"];
|
|
34
|
+
const _c2 = ["loginFormDirective"];
|
|
35
|
+
const _c3 = ["loginTypeFormDirective"];
|
|
36
|
+
function LoginComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelementStart(0, "div");
|
|
38
|
+
i0.ɵɵelement(1, "br");
|
|
39
|
+
i0.ɵɵtext(2, "- Employers may call 601-321-6334 ");
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
} }
|
|
42
|
+
function LoginComponent_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
i0.ɵɵelementStart(0, "div");
|
|
44
|
+
i0.ɵɵelement(1, "br");
|
|
45
|
+
i0.ɵɵtext(2, "- Employers may call 207-621-5120 ");
|
|
46
|
+
i0.ɵɵelement(3, "br");
|
|
47
|
+
i0.ɵɵtext(4, "- Claimants may call 1-800-593-7660. ");
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
} }
|
|
50
|
+
function LoginComponent_ng_template_19_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelement(0, "app-msg", 42);
|
|
52
|
+
} }
|
|
53
|
+
function LoginComponent_ng_template_57_Template(rf, ctx) { if (rf & 1) {
|
|
54
|
+
i0.ɵɵelement(0, "app-msg", 43);
|
|
55
|
+
} }
|
|
56
|
+
function LoginComponent_app_mask_65_Template(rf, ctx) { if (rf & 1) {
|
|
57
|
+
i0.ɵɵelement(0, "app-mask", 44);
|
|
58
|
+
} if (rf & 2) {
|
|
59
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
60
|
+
i0.ɵɵproperty("value", ctx_r7.userId.value + "");
|
|
61
|
+
} }
|
|
62
|
+
const _c4 = () => ({ required: "Authcode is required.", minlength: "Authcode should have minimum 6 characters." });
|
|
63
|
+
function LoginComponent_div_68_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
i0.ɵɵelementStart(0, "div")(1, "span", 19);
|
|
65
|
+
i0.ɵɵelement(2, "p-password", 45);
|
|
66
|
+
i0.ɵɵelementStart(3, "label", 21);
|
|
67
|
+
i0.ɵɵtext(4, "Authcode");
|
|
68
|
+
i0.ɵɵelementEnd()();
|
|
69
|
+
i0.ɵɵelement(5, "app-error", 22);
|
|
70
|
+
i0.ɵɵelementEnd();
|
|
71
|
+
} if (rf & 2) {
|
|
72
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
73
|
+
const _r5 = i0.ɵɵreference(56);
|
|
74
|
+
i0.ɵɵadvance(2);
|
|
75
|
+
i0.ɵɵproperty("formControl", ctx_r8.otp)("toggleMask", true)("feedback", false);
|
|
76
|
+
i0.ɵɵadvance(3);
|
|
77
|
+
i0.ɵɵproperty("field", ctx_r8.otp)("form", _r5)("errDef", i0.ɵɵpureFunction0(6, _c4));
|
|
78
|
+
} }
|
|
79
|
+
const _c5 = () => ({ required: "Password is required." });
|
|
80
|
+
function LoginComponent_div_69_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelementStart(0, "div")(1, "span", 19);
|
|
82
|
+
i0.ɵɵelement(2, "p-password", 45);
|
|
83
|
+
i0.ɵɵelementStart(3, "label", 21);
|
|
84
|
+
i0.ɵɵtext(4, "Password");
|
|
85
|
+
i0.ɵɵelementEnd()();
|
|
86
|
+
i0.ɵɵelement(5, "app-error", 22);
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const ctx_r9 = i0.ɵɵnextContext();
|
|
90
|
+
const _r5 = i0.ɵɵreference(56);
|
|
91
|
+
i0.ɵɵadvance(2);
|
|
92
|
+
i0.ɵɵproperty("formControl", ctx_r9.signInPassword)("toggleMask", true)("feedback", false);
|
|
93
|
+
i0.ɵɵadvance(3);
|
|
94
|
+
i0.ɵɵproperty("field", ctx_r9.signInPassword)("form", _r5)("errDef", i0.ɵɵpureFunction0(6, _c5));
|
|
95
|
+
} }
|
|
96
|
+
function LoginComponent_label_70_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelementStart(0, "label", 46)(1, "strong");
|
|
98
|
+
i0.ɵɵtext(2, "Caps Lock is On");
|
|
99
|
+
i0.ɵɵelementEnd()();
|
|
100
|
+
} }
|
|
101
|
+
function LoginComponent_ion_grid_83_Template(rf, ctx) { if (rf & 1) {
|
|
102
|
+
i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row", 27)(2, "ion-col", 7)(3, "a", 47);
|
|
103
|
+
i0.ɵɵtext(4, "Forgot user ID?");
|
|
104
|
+
i0.ɵɵelementEnd()();
|
|
105
|
+
i0.ɵɵelementStart(5, "ion-col", 7)(6, "a", 47);
|
|
106
|
+
i0.ɵɵtext(7, "Forgot Password?");
|
|
107
|
+
i0.ɵɵelementEnd()()()();
|
|
108
|
+
} }
|
|
109
|
+
const _c6 = () => ({ required: "User ID is required.", minlength: "User ID should have minimum 5 characters." });
|
|
110
|
+
export class LoginComponent extends BasePage {
|
|
111
|
+
constructor(fb, loginService, router, util, popup, nav, cs) {
|
|
112
|
+
super();
|
|
113
|
+
this.fb = fb;
|
|
114
|
+
this.loginService = loginService;
|
|
115
|
+
this.router = router;
|
|
116
|
+
this.util = util;
|
|
117
|
+
this.popup = popup;
|
|
118
|
+
this.nav = nav;
|
|
119
|
+
this.cs = cs;
|
|
120
|
+
this.LOGIN_AUTH_CODE_ACTION_NAME = "LOGIN_AUTH_CODE";
|
|
121
|
+
this.capsOn = false;
|
|
122
|
+
this.displayDialog = false;
|
|
123
|
+
this.opt = 'signin';
|
|
124
|
+
this.enableOtp = false;
|
|
125
|
+
this.enablePassword = false;
|
|
126
|
+
this.enableSignin = false;
|
|
127
|
+
this.isLoginInProgress = false;
|
|
128
|
+
this.faq = 'pua';
|
|
129
|
+
this.showProgressBar = false;
|
|
130
|
+
this.hidePassword = true;
|
|
131
|
+
}
|
|
132
|
+
showDialog() {
|
|
133
|
+
this.displayDialog = true;
|
|
134
|
+
}
|
|
135
|
+
ionViewDidEnter() {
|
|
136
|
+
this.reset();
|
|
137
|
+
}
|
|
138
|
+
enableOtpField() {
|
|
139
|
+
if (this.loginForm.invalid) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
this.util
|
|
143
|
+
.showLoader()
|
|
144
|
+
.then(() => {
|
|
145
|
+
this.cs.generateCaptchaToken(this.LOGIN_AUTH_CODE_ACTION_NAME)
|
|
146
|
+
.subscribe((token) => {
|
|
147
|
+
this.cs.setInvisibelCaptcha(token);
|
|
148
|
+
this.loginService
|
|
149
|
+
.generateOtp(this.userId.value, "email")
|
|
150
|
+
.subscribe(res => {
|
|
151
|
+
if (!this.enableOtp) {
|
|
152
|
+
this.stepper.next();
|
|
153
|
+
this.enablePassword = false;
|
|
154
|
+
this.enableSignin = true;
|
|
155
|
+
this.util.setValidation(this.otp, [Validators.required, Validators.minLength(6), Validators.maxLength(6)]);
|
|
156
|
+
this.util.clearValidation(this.signInPassword);
|
|
157
|
+
this.enableOtp = true;
|
|
158
|
+
}
|
|
159
|
+
this.util.hideLoader();
|
|
160
|
+
}, (err => {
|
|
161
|
+
this.util.errorHandler(err);
|
|
162
|
+
this.util.hideLoader();
|
|
163
|
+
}));
|
|
164
|
+
}, err => {
|
|
165
|
+
this.util.hideLoader();
|
|
166
|
+
this.util.showError('Captcha verification failed. Please retry.');
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
enablePasswordField() {
|
|
171
|
+
if (this.loginForm.invalid) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (!this.enablePassword) {
|
|
175
|
+
this.enableOtp = false;
|
|
176
|
+
this.enablePassword = true;
|
|
177
|
+
this.enableSignin = true;
|
|
178
|
+
this.stepper.next();
|
|
179
|
+
this.util.clearValidation(this.otp);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
reset() {
|
|
183
|
+
this.enableOtp = false;
|
|
184
|
+
this.enablePassword = false;
|
|
185
|
+
this.enableSignin = false;
|
|
186
|
+
this.signInPassword.reset();
|
|
187
|
+
this.showProgressBar = false;
|
|
188
|
+
this.stepper.reset();
|
|
189
|
+
this.otp.reset();
|
|
190
|
+
this.loginTypeForm.reset();
|
|
191
|
+
this.loginForm.reset();
|
|
192
|
+
this.loginFormDirective.resetForm();
|
|
193
|
+
this.loginTypeFormDirective.resetForm();
|
|
194
|
+
}
|
|
195
|
+
ngOnInit() {
|
|
196
|
+
this.initilizeLoginForm();
|
|
197
|
+
}
|
|
198
|
+
initilizeLoginForm() {
|
|
199
|
+
this.loginForm = this.fb.group({
|
|
200
|
+
'userId': ['', Validators.required],
|
|
201
|
+
});
|
|
202
|
+
this.signupForm = this.fb.group({
|
|
203
|
+
'signUpUserId': ['', Validators.required],
|
|
204
|
+
'password': ['', Validators.required],
|
|
205
|
+
'firstName': ['', Validators.required],
|
|
206
|
+
'middleName': ['', Validators.required],
|
|
207
|
+
'lastName': ['', Validators.required],
|
|
208
|
+
'dob': ['', Validators.required]
|
|
209
|
+
});
|
|
210
|
+
this.loginTypeForm = this.fb.group({
|
|
211
|
+
'otp': [''],
|
|
212
|
+
'signInPassword': [''],
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
get signInPassword() {
|
|
216
|
+
return this.loginTypeForm.controls['signInPassword'];
|
|
217
|
+
}
|
|
218
|
+
get userId() {
|
|
219
|
+
return this.loginForm.controls['userId'];
|
|
220
|
+
}
|
|
221
|
+
get otp() {
|
|
222
|
+
return this.loginTypeForm.controls['otp'];
|
|
223
|
+
}
|
|
224
|
+
get signUpUserId() {
|
|
225
|
+
return this.signupForm.controls['signUpUserId'];
|
|
226
|
+
}
|
|
227
|
+
get password() {
|
|
228
|
+
return this.signupForm.controls['password'];
|
|
229
|
+
}
|
|
230
|
+
get firstName() {
|
|
231
|
+
return this.signupForm.controls['firstName'];
|
|
232
|
+
}
|
|
233
|
+
get middleName() {
|
|
234
|
+
return this.signupForm.controls['middleName'];
|
|
235
|
+
}
|
|
236
|
+
get lastName() {
|
|
237
|
+
return this.signupForm.controls['lastName'];
|
|
238
|
+
}
|
|
239
|
+
get dob() {
|
|
240
|
+
return this.signupForm.controls['dob'];
|
|
241
|
+
}
|
|
242
|
+
generateOtp(isRegistered) {
|
|
243
|
+
if (isRegistered) {
|
|
244
|
+
this.util.showLoader();
|
|
245
|
+
this.loginService
|
|
246
|
+
.generateOtp(this.userId.value, "email")
|
|
247
|
+
.subscribe(res => {
|
|
248
|
+
this.enableOtp = true;
|
|
249
|
+
this.enablePassword = false;
|
|
250
|
+
this.util.hideLoader();
|
|
251
|
+
}, (err => {
|
|
252
|
+
this.util.errorHandler(err);
|
|
253
|
+
this.enableOtp = false;
|
|
254
|
+
this.enablePassword = false;
|
|
255
|
+
this.util.hideLoader();
|
|
256
|
+
}));
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
this.loginService
|
|
260
|
+
.generateOtpUnregistered(this.signUpUserId.value)
|
|
261
|
+
.subscribe(res => {
|
|
262
|
+
this.presentPopover();
|
|
263
|
+
}, (err => {
|
|
264
|
+
this.util.errorHandler(err);
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
async presentPopover() { }
|
|
269
|
+
async signIn() {
|
|
270
|
+
if (this.loginForm.invalid || this.loginTypeForm.invalid) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
this.isLoginInProgress = true;
|
|
274
|
+
//this.showProgressBar = true;
|
|
275
|
+
let auth = {};
|
|
276
|
+
auth.userId = this.userId.value;
|
|
277
|
+
if (this.enableOtp) {
|
|
278
|
+
auth.password = this.otp.value;
|
|
279
|
+
}
|
|
280
|
+
else if (this.enablePassword) {
|
|
281
|
+
auth.password = this.signInPassword.value;
|
|
282
|
+
}
|
|
283
|
+
this.util
|
|
284
|
+
.showLoader()
|
|
285
|
+
.then(() => {
|
|
286
|
+
this.loginService.login(auth)
|
|
287
|
+
.subscribe(res => {
|
|
288
|
+
let userModel = res;
|
|
289
|
+
this.loginService.setUser(userModel).then(res => {
|
|
290
|
+
if (userModel.changePwd) {
|
|
291
|
+
this.nav.navigateRoot('change-password');
|
|
292
|
+
this.showProgressBar = false;
|
|
293
|
+
this.isLoginInProgress = false;
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
this.showProgressBar = false;
|
|
297
|
+
this.isLoginInProgress = false;
|
|
298
|
+
this.nav.navigateRoot('welcome');
|
|
299
|
+
}
|
|
300
|
+
this.util.hideLoader();
|
|
301
|
+
});
|
|
302
|
+
}, err => {
|
|
303
|
+
this.otp.setValue('');
|
|
304
|
+
if (!this.enableOtp) {
|
|
305
|
+
this.reset();
|
|
306
|
+
}
|
|
307
|
+
this.showProgressBar = false;
|
|
308
|
+
this.isLoginInProgress = false;
|
|
309
|
+
this.util.errorHandler(err);
|
|
310
|
+
this.util.hideLoader();
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
signUp(otp) {
|
|
315
|
+
if (otp == null || otp == undefined) {
|
|
316
|
+
this.util.showError('OTP Verification Failed. Please verify again.');
|
|
317
|
+
}
|
|
318
|
+
let userModel = new UserModel();
|
|
319
|
+
userModel.firstName = this.firstName.value;
|
|
320
|
+
userModel.middleName = this.middleName.value;
|
|
321
|
+
userModel.lastName = this.lastName.value;
|
|
322
|
+
userModel.dob = this.dob.value;
|
|
323
|
+
userModel.username = this.signUpUserId.value;
|
|
324
|
+
userModel.password = this.password.value;
|
|
325
|
+
this.loginService.setUser(userModel);
|
|
326
|
+
this.loginService.signUp(userModel).subscribe(res => {
|
|
327
|
+
this.opt = 'signin';
|
|
328
|
+
this.util.success('You have been successfully registered in ReEmployMS. Please login to use to the features of the app.');
|
|
329
|
+
this.signupForm.reset();
|
|
330
|
+
this.loginService.reset();
|
|
331
|
+
}, err => {
|
|
332
|
+
this.util.errorHandler(err);
|
|
333
|
+
this.loginService.reset();
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
async changeLanguage(event) {
|
|
337
|
+
const popover = await this.popup.create({
|
|
338
|
+
component: LanguagePage,
|
|
339
|
+
event: event,
|
|
340
|
+
translucent: true,
|
|
341
|
+
backdropDismiss: false,
|
|
342
|
+
cssClass: 'bottom-sheet-popover'
|
|
343
|
+
});
|
|
344
|
+
return await popover.present();
|
|
345
|
+
}
|
|
346
|
+
initiateForgotPassword() {
|
|
347
|
+
if (this.loginForm.invalid) {
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
this.util
|
|
351
|
+
.showLoader()
|
|
352
|
+
.then(() => {
|
|
353
|
+
this.loginService
|
|
354
|
+
.initiateForgotPassword(this.userId.value)
|
|
355
|
+
.subscribe(res => {
|
|
356
|
+
this.util.success('Your password has been reset. You should receive an email with a temporary password and login instructions.');
|
|
357
|
+
this.loginForm.reset();
|
|
358
|
+
this.loginService.reset();
|
|
359
|
+
this.loginFormDirective.resetForm();
|
|
360
|
+
this.util.hideLoader();
|
|
361
|
+
}, err => {
|
|
362
|
+
this.util.errorHandler(err);
|
|
363
|
+
this.loginForm.reset();
|
|
364
|
+
this.loginService.reset();
|
|
365
|
+
this.loginFormDirective.resetForm();
|
|
366
|
+
this.util.hideLoader();
|
|
367
|
+
});
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
static { this.ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.PopoverController), i0.ɵɵdirectiveInject(i5.NavController), i0.ɵɵdirectiveInject(i6.CaptchaService)); }; }
|
|
371
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["app-login"]], viewQuery: function LoginComponent_Query(rf, ctx) { if (rf & 1) {
|
|
372
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
373
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
374
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
375
|
+
i0.ɵɵviewQuery(_c3, 5);
|
|
376
|
+
} if (rf & 2) {
|
|
377
|
+
let _t;
|
|
378
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginElement = _t.first);
|
|
379
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stepper = _t.first);
|
|
380
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginFormDirective = _t.first);
|
|
381
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginTypeFormDirective = _t.first);
|
|
382
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 84, vars: 45, consts: [[1, "background"], ["position", "top-center"], [3, "showHelp"], [3, "src", "hideCard"], ["title", "login.card.title"], ["header", "Message", "modal", "true", 3, "visible", "visibleChange"], [4, "ngIf"], [1, "ion-text-center"], ["shape", "round", "type", "submit", "color", "success", 3, "click"], ["slot", "start", "name", "close-sharp"], [3, "linear"], ["stepper", ""], [3, "stepControl"], ["matStepLabel", ""], [3, "formGroup"], ["loginFormDirective", "ngForm"], ["color", "primary", "joyrideStep", "step1", 1, "ion-justify-content-center", 3, "title", "text"], [1, "ion-align-self-center"], [1, "ion-justify-content-center"], [1, "p-float-label"], ["type", "text", "pInputText", "", "id", "userId", "inlength", "5", "autocomplete", "off", "appAutofocus", "", 3, "formControl"], ["for", "float-input"], [3, "field", "form", "errDef"], ["joyrideStep", "step2", 1, "justify-content-center", 3, "title", "text"], ["shape", "round", "type", "submit", "expand", "block", "color", "success", "pTooltip", "Login with password", "tooltipPosition", "bottom", "joyrideStep", "step3", 3, "title", "text", "click"], ["slot", "start", "name", "log-in-outline"], ["shape", "round", "type", "submit", "expand", "block", "expand", "block", "color", "success", "pTooltip", "Login with authcode", "tooltipPosition", "bottom", "joyrideStep", "step4", 3, "title", "text", "click"], [1, "justify-content-center"], ["joyrideStep", "step5", "title", "Forgot User ID?", "text", "Provides assistance if you forget your User ID to login", "shape", "round", "type", "submit", "expand", "outline", "color", "success", "pTooltip", "Forgot User ID?", "tooltipPosition", "bottom", "size", "small", 3, "click"], ["joyrideStep", "step6", "title", "Forgot password?", "text", "Provides assistance to reset your password using your registered email address", "shape", "round", "type", "submit", "expand", "outline", "color", "success", "pTooltip", "Forgot Password?", "tooltipPosition", "bottom", "size", "small", 3, "click"], ["loginTypeFormDirective", "ngForm"], [1, "ion-padding-top"], ["color", "primary", 1, "ion-justify-content-center"], [1, "ion-justify-content-center", 3, "capsLock"], [1, "ion-padding-right"], [1, "ion-padding-left", 2, "float", "right"], [3, "value", 4, "ngIf"], ["style", "color:#b3411d;", 4, "ngIf"], [1, "justify-content-center", 3, "hidden"], ["shape", "round", "type", "submit", "expand", "block", "color", "success", 3, "click"], ["shape", "round", "type", "reset", "expand", "block", "expand", "block", "color", "medium", 3, "click"], ["slot", "start", "name", "refresh"], ["key", "login.card.step1"], ["key", "login.card.step2"], [3, "value"], ["inputId", "signInPassword", 3, "formControl", "toggleMask", "feedback"], [2, "color", "#b3411d"], ["href", "#"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
|
|
383
|
+
i0.ɵɵelementStart(0, "ion-content", 0);
|
|
384
|
+
i0.ɵɵelement(1, "p-toast", 1);
|
|
385
|
+
i0.ɵɵelementStart(2, "app-content", 2)(3, "app-page", 3)(4, "div")(5, "app-card", 4)(6, "p-dialog", 5);
|
|
386
|
+
i0.ɵɵlistener("visibleChange", function LoginComponent_Template_p_dialog_visibleChange_6_listener($event) { return ctx.displayDialog = $event; });
|
|
387
|
+
i0.ɵɵtext(7, " Maybe you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday from 8 AM to 5 PM. if weather permits ");
|
|
388
|
+
i0.ɵɵtemplate(8, LoginComponent_div_8_Template, 3, 0, "div", 6)(9, LoginComponent_div_9_Template, 5, 0, "div", 6);
|
|
389
|
+
i0.ɵɵelement(10, "br");
|
|
390
|
+
i0.ɵɵelementStart(11, "p-footer")(12, "div", 7)(13, "ion-button", 8);
|
|
391
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_13_listener() { return ctx.displayDialog = !ctx.displayDialog; });
|
|
392
|
+
i0.ɵɵelement(14, "ion-icon", 9);
|
|
393
|
+
i0.ɵɵtext(15, " Close ");
|
|
394
|
+
i0.ɵɵelementEnd()()()();
|
|
395
|
+
i0.ɵɵelementStart(16, "mat-horizontal-stepper", 10, 11)(18, "mat-step", 12);
|
|
396
|
+
i0.ɵɵtemplate(19, LoginComponent_ng_template_19_Template, 1, 0, "ng-template", 13);
|
|
397
|
+
i0.ɵɵelementStart(20, "form", 14, 15)(22, "ion-row", 16);
|
|
398
|
+
i0.ɵɵpipe(23, "translate");
|
|
399
|
+
i0.ɵɵpipe(24, "translate");
|
|
400
|
+
i0.ɵɵelementStart(25, "ion-col", 17)(26, "div", 18)(27, "span", 19);
|
|
401
|
+
i0.ɵɵelement(28, "input", 20);
|
|
402
|
+
i0.ɵɵelementStart(29, "label", 21);
|
|
403
|
+
i0.ɵɵtext(30, "User ID");
|
|
404
|
+
i0.ɵɵelementEnd();
|
|
405
|
+
i0.ɵɵelement(31, "app-error", 22);
|
|
406
|
+
i0.ɵɵelementEnd()()()();
|
|
407
|
+
i0.ɵɵelementStart(32, "ion-row", 23);
|
|
408
|
+
i0.ɵɵpipe(33, "translate");
|
|
409
|
+
i0.ɵɵpipe(34, "translate");
|
|
410
|
+
i0.ɵɵelementStart(35, "ion-col")(36, "ion-button", 24);
|
|
411
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_36_listener() { return ctx.enablePasswordField(); });
|
|
412
|
+
i0.ɵɵpipe(37, "translate");
|
|
413
|
+
i0.ɵɵpipe(38, "translate");
|
|
414
|
+
i0.ɵɵelement(39, "ion-icon", 25);
|
|
415
|
+
i0.ɵɵtext(40, " Password ");
|
|
416
|
+
i0.ɵɵelementEnd()();
|
|
417
|
+
i0.ɵɵelementStart(41, "ion-col")(42, "ion-button", 26);
|
|
418
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_42_listener() { return ctx.enableOtpField(); });
|
|
419
|
+
i0.ɵɵpipe(43, "translate");
|
|
420
|
+
i0.ɵɵpipe(44, "translate");
|
|
421
|
+
i0.ɵɵelement(45, "ion-icon", 25);
|
|
422
|
+
i0.ɵɵtext(46, " Authcode ");
|
|
423
|
+
i0.ɵɵelementEnd()()();
|
|
424
|
+
i0.ɵɵelementStart(47, "ion-row", 27)(48, "ion-col", 7)(49, "ion-button", 28);
|
|
425
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_49_listener() { return ctx.showDialog(); });
|
|
426
|
+
i0.ɵɵtext(50, " Forgot User ID? ");
|
|
427
|
+
i0.ɵɵelementEnd()();
|
|
428
|
+
i0.ɵɵelementStart(51, "ion-col", 7)(52, "ion-button", 29);
|
|
429
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_52_listener() { return ctx.initiateForgotPassword(); });
|
|
430
|
+
i0.ɵɵtext(53, " Forgot Password? ");
|
|
431
|
+
i0.ɵɵelementEnd()()()()();
|
|
432
|
+
i0.ɵɵelementStart(54, "mat-step")(55, "form", 14, 30);
|
|
433
|
+
i0.ɵɵtemplate(57, LoginComponent_ng_template_57_Template, 1, 0, "ng-template", 13);
|
|
434
|
+
i0.ɵɵelementStart(58, "ion-grid", 31)(59, "ion-row", 32)(60, "ion-col", 17)(61, "div", 33);
|
|
435
|
+
i0.ɵɵlistener("capsLock", function LoginComponent_Template_div_capsLock_61_listener($event) { return ctx.capsOn = $event; });
|
|
436
|
+
i0.ɵɵelementStart(62, "mat-label", 34);
|
|
437
|
+
i0.ɵɵtext(63, "User ID");
|
|
438
|
+
i0.ɵɵelementEnd();
|
|
439
|
+
i0.ɵɵelementStart(64, "mat-label", 35);
|
|
440
|
+
i0.ɵɵtemplate(65, LoginComponent_app_mask_65_Template, 1, 1, "app-mask", 36);
|
|
441
|
+
i0.ɵɵelementEnd();
|
|
442
|
+
i0.ɵɵelement(66, "br")(67, "br");
|
|
443
|
+
i0.ɵɵtemplate(68, LoginComponent_div_68_Template, 6, 7, "div", 6)(69, LoginComponent_div_69_Template, 6, 7, "div", 6)(70, LoginComponent_label_70_Template, 3, 0, "label", 37);
|
|
444
|
+
i0.ɵɵelementEnd();
|
|
445
|
+
i0.ɵɵelementStart(71, "div", 18)(72, "ion-grid")(73, "ion-row", 38)(74, "ion-col")(75, "ion-button", 39);
|
|
446
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_75_listener() { return ctx.signIn(); });
|
|
447
|
+
i0.ɵɵelement(76, "ion-icon", 25);
|
|
448
|
+
i0.ɵɵtext(77, " Sign In ");
|
|
449
|
+
i0.ɵɵelementEnd()();
|
|
450
|
+
i0.ɵɵelementStart(78, "ion-col")(79, "ion-button", 40);
|
|
451
|
+
i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_79_listener() { return ctx.reset(); });
|
|
452
|
+
i0.ɵɵelement(80, "ion-icon", 41);
|
|
453
|
+
i0.ɵɵtext(81, " Reset ");
|
|
454
|
+
i0.ɵɵelementEnd()()()();
|
|
455
|
+
i0.ɵɵelement(82, "br");
|
|
456
|
+
i0.ɵɵtemplate(83, LoginComponent_ion_grid_83_Template, 8, 0, "ion-grid", 6);
|
|
457
|
+
i0.ɵɵelementEnd()()()()()()()()()()()();
|
|
458
|
+
} if (rf & 2) {
|
|
459
|
+
const _r5 = i0.ɵɵreference(56);
|
|
460
|
+
i0.ɵɵadvance(2);
|
|
461
|
+
i0.ɵɵproperty("showHelp", true);
|
|
462
|
+
i0.ɵɵadvance(1);
|
|
463
|
+
i0.ɵɵpropertyInterpolate1("src", "assets/icon/ReEmploy", ctx.util.getState(), ".svg");
|
|
464
|
+
i0.ɵɵproperty("hideCard", true);
|
|
465
|
+
i0.ɵɵadvance(3);
|
|
466
|
+
i0.ɵɵproperty("visible", ctx.displayDialog);
|
|
467
|
+
i0.ɵɵadvance(2);
|
|
468
|
+
i0.ɵɵproperty("ngIf", ctx.isMS());
|
|
469
|
+
i0.ɵɵadvance(1);
|
|
470
|
+
i0.ɵɵproperty("ngIf", ctx.isME());
|
|
471
|
+
i0.ɵɵadvance(7);
|
|
472
|
+
i0.ɵɵproperty("linear", true);
|
|
473
|
+
i0.ɵɵadvance(2);
|
|
474
|
+
i0.ɵɵproperty("stepControl", ctx.loginForm);
|
|
475
|
+
i0.ɵɵadvance(2);
|
|
476
|
+
i0.ɵɵproperty("formGroup", ctx.loginForm);
|
|
477
|
+
i0.ɵɵadvance(2);
|
|
478
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(23, 28, "guide.login.userid.title"));
|
|
479
|
+
i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(24, 30, "guide.login.userid.message"));
|
|
480
|
+
i0.ɵɵadvance(6);
|
|
481
|
+
i0.ɵɵproperty("formControl", ctx.userId);
|
|
482
|
+
i0.ɵɵadvance(3);
|
|
483
|
+
i0.ɵɵproperty("field", ctx.userId)("form", _r5)("errDef", i0.ɵɵpureFunction0(44, _c6));
|
|
484
|
+
i0.ɵɵadvance(1);
|
|
485
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(33, 32, "guide.login.options.title"));
|
|
486
|
+
i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(34, 34, "guide.login.options.message"));
|
|
487
|
+
i0.ɵɵadvance(4);
|
|
488
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(37, 36, "guide.login.password.title"));
|
|
489
|
+
i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(38, 38, "guide.login.password.message"));
|
|
490
|
+
i0.ɵɵadvance(6);
|
|
491
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(43, 40, "guide.login.authcode.title"));
|
|
492
|
+
i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(44, 42, "guide.login.authcode.message"));
|
|
493
|
+
i0.ɵɵadvance(13);
|
|
494
|
+
i0.ɵɵproperty("formGroup", ctx.loginTypeForm);
|
|
495
|
+
i0.ɵɵadvance(10);
|
|
496
|
+
i0.ɵɵproperty("ngIf", ctx.userId.value);
|
|
497
|
+
i0.ɵɵadvance(3);
|
|
498
|
+
i0.ɵɵproperty("ngIf", ctx.enableOtp);
|
|
499
|
+
i0.ɵɵadvance(1);
|
|
500
|
+
i0.ɵɵproperty("ngIf", ctx.enablePassword);
|
|
501
|
+
i0.ɵɵadvance(1);
|
|
502
|
+
i0.ɵɵproperty("ngIf", ctx.capsOn);
|
|
503
|
+
i0.ɵɵadvance(3);
|
|
504
|
+
i0.ɵɵproperty("hidden", !ctx.enableSignin);
|
|
505
|
+
i0.ɵɵadvance(10);
|
|
506
|
+
i0.ɵɵproperty("ngIf", false);
|
|
507
|
+
} }, dependencies: [i5.IonButton, i5.IonCol, i5.IonContent, i5.IonGrid, i5.IonIcon, i5.IonRow, i7.NgIf, i8.JoyrideDirective, i9.Footer, i10.Tooltip, i11.MatLabel, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormControlDirective, i1.FormGroupDirective, i12.Dialog, i13.MatStep, i13.MatStepLabel, i13.MatStepper, i14.Toast, i15.Password, i16.InputText, i17.MaskComponent, i18.PageComponent, i19.CapsLockDirective, i20.ContentComponent, i21.MsgComponent, i22.CardComponent, i23.AutofocusDirective, i24.ErrorComponent, i25.TranslatePipe], styles: [".group-3[_ngcontent-%COMP%]{height:518px;width:946px}mat-form-field[_ngcontent-%COMP%]{width:-webkit-fill-available}div.mat-form-field-outline[_ngcontent-%COMP%]{background:#fff!important}.ui-messages-close[_ngcontent-%COMP%]{font-size:.5em!important}[_nghost-%COMP%] .p-inputwrapper, [_nghost-%COMP%] .p-inputtext{width:100%}"] }); }
|
|
508
|
+
}
|
|
509
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoginComponent, [{
|
|
510
|
+
type: Component,
|
|
511
|
+
args: [{ selector: 'app-login', template: "<ion-content class=\"background\">\n <p-toast position=\"top-center\" ></p-toast>\n <app-content [showHelp]=\"true\">\n <app-page src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [hideCard]=\"true\">\n <div>\n <app-card title=\"login.card.title\">\n <p-dialog header=\"Message\" [(visible)]=\"displayDialog\" modal=\"true\">\n Maybe you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday from 8 AM to 5 PM. if weather permits\n <div *ngIf=\"isMS()\">\n <br/>- Employers may call 601-321-6334 \n </div>\n <div *ngIf=\"isME()\">\n <br/>- Employers may call 207-621-5120\n <br/>- Claimants may call 1-800-593-7660.\n </div>\n <br/>\n <p-footer>\n <div class=\"ion-text-center\">\n <ion-button shape=\"round\" type=\"submit\" (click)=\"displayDialog = !displayDialog\" color=\"success\">\n <ion-icon slot=\"start\" name=\"close-sharp\"></ion-icon>\n Close\n </ion-button>\n </div>\n </p-footer>\n </p-dialog>\n <mat-horizontal-stepper [linear]=\"true\" #stepper>\n <mat-step [stepControl]=\"loginForm\">\n <ng-template matStepLabel>\n <app-msg key=\"login.card.step1\"></app-msg>\n </ng-template>\n <form [formGroup]=\"loginForm\" #loginFormDirective=\"ngForm\">\n <ion-row color=\"primary\" class=\"ion-justify-content-center\" joyrideStep=\"step1\" title=\"{{'guide.login.userid.title' | translate}}\" \n text=\"{{'guide.login.userid.message' | translate}}\">\n <ion-col class=\"ion-align-self-center\">\n <div class=\"ion-justify-content-center\">\n <span class=\"p-float-label\">\n <input type=\"text\" pInputText [formControl]=\"userId\" id=\"userId\" inlength=\"5\" autocomplete=\"off\" appAutofocus>\n <label for=\"float-input\">User ID</label>\n <app-error [field]='userId' [form]=\"loginTypeFormDirective\" [errDef]=\"{ \n required: 'User ID is required.',\n minlength: 'User ID should have minimum 5 characters.'\n }\"></app-error>\n </span>\n </div>\n </ion-col>\n </ion-row>\n <ion-row class=\"justify-content-center\" joyrideStep=\"step2\" title=\"{{'guide.login.options.title' | translate}}\" \n text=\"{{'guide.login.options.message' | translate}}\">\n <ion-col>\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" (click)=\"enablePasswordField()\"\n color=\"success\" pTooltip=\"Login with password\" tooltipPosition=\"bottom\"\n joyrideStep=\"step3\" title=\"{{'guide.login.password.title' | translate}}\" \n text=\"{{'guide.login.password.message' | translate}}\">\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\n Password\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" expand=\"block\" (click)=\"enableOtpField()\"\n color=\"success\" pTooltip=\"Login with authcode\" tooltipPosition=\"bottom\" \n joyrideStep=\"step4\" title=\"{{'guide.login.authcode.title' | translate}}\" \n text=\"{{'guide.login.authcode.message' | translate}}\">\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\n Authcode\n </ion-button>\n </ion-col>\n </ion-row>\n <ion-row class=\"justify-content-center\">\n <ion-col class=\"ion-text-center\">\n <ion-button joyrideStep=\"step5\" title=\"Forgot User ID?\" \n text=\"Provides assistance if you forget your User ID to login\" \n shape=\"round\" type=\"submit\" expand=\"outline\" color=\"success\" pTooltip=\"Forgot User ID?\"\n tooltipPosition=\"bottom\" size=\"small\" (click)=\"showDialog()\">\n Forgot User ID?\n </ion-button>\n </ion-col>\n <ion-col class=\"ion-text-center\">\n <ion-button \n joyrideStep=\"step6\" title=\"Forgot password?\" \n text=\"Provides assistance to reset your password using your registered email address\" \n shape=\"round\" type=\"submit\" expand=\"outline\" color=\"success\" pTooltip=\"Forgot Password?\"\n tooltipPosition=\"bottom\" size=\"small\" (click)=\"initiateForgotPassword()\">\n Forgot Password?\n </ion-button>\n </ion-col>\n </ion-row>\n </form>\n </mat-step>\n <mat-step>\n <form [formGroup]=\"loginTypeForm\" #loginTypeFormDirective=\"ngForm\">\n <ng-template matStepLabel>\n <app-msg key=\"login.card.step2\"></app-msg>\n </ng-template>\n <ion-grid class=\"ion-padding-top\">\n <ion-row color=\"primary\" class=\"ion-justify-content-center\">\n <ion-col class=\"ion-align-self-center\">\n <div class=\"ion-justify-content-center\" (capsLock)=\"capsOn=$event\">\n <mat-label class=\"ion-padding-right\">User ID</mat-label>\n <mat-label class=\"ion-padding-left\" style=\"float: right;\">\n <app-mask [value]=\"userId.value + ''\" *ngIf=\"userId.value\"></app-mask>\n </mat-label>\n <br /><br />\n\n <div *ngIf=\"enableOtp\">\n <span class=\"p-float-label\">\n <p-password [formControl]=\"otp\" inputId=\"signInPassword\" [toggleMask]='true' [feedback]='false'></p-password>\n <label for=\"float-input\">Authcode</label>\n </span>\n <app-error [field]='otp' [form]=\"loginTypeFormDirective\" [errDef]=\"{ \n required: 'Authcode is required.',\n minlength: 'Authcode should have minimum 6 characters.'\n }\"></app-error>\n </div>\n\n <div *ngIf=\"enablePassword\">\n <span class=\"p-float-label\">\n <p-password [formControl]=\"signInPassword\" inputId=\"signInPassword\" [toggleMask]='true' [feedback]='false'></p-password>\n <label for=\"float-input\">Password</label>\n </span>\n <app-error [field]='signInPassword' [form]=\"loginTypeFormDirective\" [errDef]=\"{ \n required: 'Password is required.'\n }\"></app-error>\n </div>\n \n <label *ngIf=\"capsOn\" style=\"color:#b3411d;\"><strong>Caps Lock is On</strong></label>\n </div>\n <div class=\"ion-justify-content-center\">\n <ion-grid>\n <ion-row class=\"justify-content-center\" [hidden]=\"!enableSignin\">\n <ion-col>\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" (click)=\"signIn()\" color=\"success\">\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\n Sign In\n </ion-button>\n </ion-col>\n <ion-col>\n <ion-button shape=\"round\" type=\"reset\" expand=\"block\" expand=\"block\" (click)=\"reset()\"\n color=\"medium\">\n <ion-icon slot=\"start\" name=\"refresh\"></ion-icon>\n Reset\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\n <br />\n <ion-grid *ngIf=\"false\">\n <ion-row class=\"justify-content-center\">\n <ion-col class=\"ion-text-center\">\n <a href=\"#\">Forgot user ID?</a>\n </ion-col>\n <ion-col class=\"ion-text-center\">\n <a href=\"#\">Forgot Password?</a>\n </ion-col>\n </ion-row>\n </ion-grid>\n </div>\n \n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n </mat-step>\n </mat-horizontal-stepper>\n \n </app-card>\n </div>\n <!-- <div class=\"g-signin2\" data-width=\"300\" data-height=\"200\" data-longtitle=\"true\"></div> -->\n </app-page>\n </app-content>\n </ion-content>\n\n\n\n", styles: [".group-3{height:518px;width:946px}mat-form-field{width:-webkit-fill-available}div.mat-form-field-outline{background:#fff!important}.ui-messages-close{font-size:.5em!important}:host ::ng-deep .p-inputwrapper,:host ::ng-deep .p-inputtext{width:100%}\n"] }]
|
|
512
|
+
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.LoginService }, { type: i3.Router }, { type: i4.UtilService }, { type: i5.PopoverController }, { type: i5.NavController }, { type: i6.CaptchaService }], { loginElement: [{
|
|
513
|
+
type: ViewChild,
|
|
514
|
+
args: ['loginRef', { static: true }]
|
|
515
|
+
}], stepper: [{
|
|
516
|
+
type: ViewChild,
|
|
517
|
+
args: ['stepper']
|
|
518
|
+
}], loginFormDirective: [{
|
|
519
|
+
type: ViewChild,
|
|
520
|
+
args: ['loginFormDirective', { static: false }]
|
|
521
|
+
}], loginTypeFormDirective: [{
|
|
522
|
+
type: ViewChild,
|
|
523
|
+
args: ['loginTypeFormDirective', { static: false }]
|
|
524
|
+
}] }); })();
|
|
525
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LoginComponent, { className: "LoginComponent" }); })();
|
|
526
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9wYWdlcy9jb21tb24vbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9wYWdlcy9jb21tb24vbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTZELE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBc0IsVUFBVSxFQUE2RCxNQUFNLGdCQUFnQixDQUFDO0FBSTNILE9BQU8sRUFBRSxRQUFRLEVBQTJCLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNEdkQsMkJBQW9CO0lBQ2xCLHFCQUFLO0lBQUEsa0RBQ1A7SUFBQSxpQkFBTTs7O0lBQ04sMkJBQW9CO0lBQ2xCLHFCQUFLO0lBQUEsa0RBQ0w7SUFBQSxxQkFBSztJQUFBLHFEQUNQO0lBQUEsaUJBQU07OztJQWNGLDhCQUEwQzs7O0lBK0R4Qyw4QkFBMEM7OztJQVFsQywrQkFBdUU7OztJQUE3RCxnREFBNEI7Ozs7SUFJeEMsMkJBQXVCLGVBQUE7SUFFbkIsaUNBQTZHO0lBQzdHLGlDQUF5QjtJQUFBLHdCQUFRO0lBQUEsaUJBQVEsRUFBQTtJQUUzQyxnQ0FHaUI7SUFDbkIsaUJBQU07Ozs7SUFQVSxlQUFtQjtJQUFuQix3Q0FBbUIsb0JBQUEsbUJBQUE7SUFHdEIsZUFBYTtJQUFiLGtDQUFhLGFBQUEsc0NBQUE7Ozs7SUFNMUIs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b3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7TWF0U3RlcHBlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBCYXNlUGFnZSwgQ3VzdG9tRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICcuLi8uLi9CYXNlUGFnZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVBhZ2UgfSBmcm9tICcuLi8uLi9wb3BvdmVycy9sYW5ndWFnZS9sYW5ndWFnZS5wYWdlJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FwdGNoYVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBMT0dJTl9BVVRIX0NPREVfQUNUSU9OX05BTUUgPSBcIkxPR0lOX0FVVEhfQ09ERVwiO1xuXG4gIHB1YmxpYyBjYXBzT24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzcGxheURpYWxvZyA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2xvZ2luUmVmJywge3N0YXRpYzogdHJ1ZSB9KSBsb2dpbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc3RlcHBlcicpIHN0ZXBwZXI6IE1hdFN0ZXBwZXI7XG5cbiAgQFZpZXdDaGlsZCgnbG9naW5Gb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgcHJpdmF0ZSBsb2dpbkZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBAVmlld0NoaWxkKCdsb2dpblR5cGVGb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgcHJpdmF0ZSBsb2dpblR5cGVGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgYXV0aDI6IGFueTtcbiAgcHJpdmF0ZSBsb2dpbkVycm9yU3RyaW5nOiBzdHJpbmc7XG4gIHB1YmxpYyBvcHQ6IHN0cmluZyA9ICdzaWduaW4nO1xuICBwdWJsaWMgbG9naW5Gb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGxvZ2luVHlwZUZvcm0gOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2lnbnVwRm9ybSA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBlbmFibGVPdHAgOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVQYXNzd29yZCA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGVuYWJsZVNpZ25pbiA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzTG9naW5JblByb2dyZXNzID0gZmFsc2U7XG4gIHB1YmxpYyBmYXEgPSAncHVhJztcbiAgcHVibGljIHNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICBwdWJsaWMgaGlkZVBhc3N3b3JkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmIgOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyBsb2dpblNlcnZpY2UgOiBMb2dpblNlcnZpY2UsIHB1YmxpYyByb3V0ZXIgOiBSb3V0ZXIsIHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGNzOiBDYXB0Y2hhU2VydmljZSkgeyBcbiAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIHRoaXMuZGlzcGxheURpYWxvZyA9IHRydWU7XG4gIH1cbiAgXG4gIGlvblZpZXdEaWRFbnRlcigpe1xuICAgIHRoaXMucmVzZXQoKTtcbiAgfVxuXG4gIGVuYWJsZU90cEZpZWxkKCl7XG4gICAgaWYodGhpcy5sb2dpbkZvcm0uaW52YWxpZCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51dGlsXG4gICAgICAgIC5zaG93TG9hZGVyKClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY3MuZ2VuZXJhdGVDYXB0Y2hhVG9rZW4odGhpcy5MT0dJTl9BVVRIX0NPREVfQUNUSU9OX05BTUUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNzLnNldEludmlzaWJlbENhcHRjaGEodG9rZW4pO1xuICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlXG4gICAgICAgICAgICAgIC5nZW5lcmF0ZU90cCh0aGlzLnVzZXJJZC52YWx1ZSwgXCJlbWFpbFwiKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMuZW5hYmxlT3RwKXtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVNpZ25pbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLm90cCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNiksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYpXSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2lnbkluUGFzc3dvcmQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5lbmFibGVPdHAgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoJ0NhcHRjaGEgdmVyaWZpY2F0aW9uIGZhaWxlZC4gUGxlYXNlIHJldHJ5LicpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIGVuYWJsZVBhc3N3b3JkRmllbGQoKXtcbiAgICBpZih0aGlzLmxvZ2luRm9ybS5pbnZhbGlkKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYoIXRoaXMuZW5hYmxlUGFzc3dvcmQpe1xuICAgICAgdGhpcy5lbmFibGVPdHAgPSBmYWxzZTtcbiAgICAgIHRoaXMuZW5hYmxlUGFzc3dvcmQgPSB0cnVlO1xuICAgICAgdGhpcy5lbmFibGVTaWduaW4gPSB0cnVlO1xuICAgICAgdGhpcy5zdGVwcGVyLm5leHQoKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdHApO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KCl7XG4gICAgdGhpcy5lbmFibGVPdHAgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVTaWduaW4gPSBmYWxzZTtcbiAgICB0aGlzLnNpZ25JblBhc3N3b3JkLnJlc2V0KCk7XG4gICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICB0aGlzLnN0ZXBwZXIucmVzZXQoKTtcbiAgICB0aGlzLm90cC5yZXNldCgpO1xuICAgIHRoaXMubG9naW5UeXBlRm9ybS5yZXNldCgpO1xuICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5sb2dpblR5cGVGb3JtRGlyZWN0aXZlLnJlc2V0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWxpemVMb2dpbkZvcm0oKTtcbiAgfVxuICBcbiAgaW5pdGlsaXplTG9naW5Gb3JtKCl7XG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICd1c2VySWQnIDogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zaWdudXBGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnc2lnblVwVXNlcklkJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdwYXNzd29yZCcgOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnZmlyc3ROYW1lJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdtaWRkbGVOYW1lJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdsYXN0TmFtZScgOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnZG9iJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2dpblR5cGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnb3RwJyA6IFsnJ10sXG4gICAgICAnc2lnbkluUGFzc3dvcmQnIDogWycnXSxcbiAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0IHNpZ25JblBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMubG9naW5UeXBlRm9ybS5jb250cm9sc1snc2lnbkluUGFzc3dvcmQnXTtcbiAgfVxuXG4gIGdldCB1c2VySWQoKXtcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3VzZXJJZCddO1xuICB9XG5cbiAgZ2V0IG90cCgpe1xuICAgIHJldHVybiB0aGlzLmxvZ2luVHlwZUZvcm0uY29udHJvbHNbJ290cCddO1xuICB9XG5cbiAgZ2V0IHNpZ25VcFVzZXJJZCgpe1xuICAgIHJldHVybiB0aGlzLnNpZ251cEZvcm0uY29udHJvbHNbJ3NpZ25VcFVzZXJJZCddO1xuICB9XG5cbiAgZ2V0IHBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXTtcbiAgfVxuXG4gIGdldCBmaXJzdE5hbWUoKXtcbiAgICByZXR1cm4gdGhpcy5zaWdudXBGb3JtLmNvbnRyb2xzWydmaXJzdE5hbWUnXTtcbiAgfVxuXG4gIGdldCBtaWRkbGVOYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1snbWlkZGxlTmFtZSddO1xuICB9XG5cbiAgZ2V0IGxhc3ROYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1snbGFzdE5hbWUnXTtcbiAgfVxuXG4gIGdldCBkb2IoKXtcbiAgICByZXR1cm4gdGhpcy5zaWdudXBGb3JtLmNvbnRyb2xzWydkb2InXTtcbiAgfVxuICBcblxuXG4gIGdlbmVyYXRlT3RwKGlzUmVnaXN0ZXJlZCA6IGJvb2xlYW4pe1xuICAgIGlmKGlzUmVnaXN0ZXJlZCl7XG4gICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpO1xuICAgICAgdGhpcy5sb2dpblNlcnZpY2VcbiAgICAgICAgICAuZ2VuZXJhdGVPdHAodGhpcy51c2VySWQudmFsdWUsIFwiZW1haWxcIilcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZU90cCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZU90cCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVQYXNzd29yZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICB9KSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLmxvZ2luU2VydmljZVxuICAgICAgICAgIC5nZW5lcmF0ZU90cFVucmVnaXN0ZXJlZCh0aGlzLnNpZ25VcFVzZXJJZC52YWx1ZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnByZXNlbnRQb3BvdmVyKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcHJlc2VudFBvcG92ZXIoKSB7fVxuXG4gIGFzeW5jIHNpZ25Jbigpe1xuICAgIGlmKHRoaXMubG9naW5Gb3JtLmludmFsaWQgfHwgdGhpcy5sb2dpblR5cGVGb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzTG9naW5JblByb2dyZXNzID0gdHJ1ZTtcbiAgICAvL3RoaXMuc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICBsZXQgYXV0aCA6IGFueT0ge307XG4gICAgYXV0aC51c2VySWQgPSB0aGlzLnVzZXJJZC52YWx1ZTtcbiAgICBpZih0aGlzLmVuYWJsZU90cCl7XG4gICAgICBhdXRoLnBhc3N3b3JkID0gdGhpcy5vdHAudmFsdWU7XG4gICAgfWVsc2UgaWYodGhpcy5lbmFibGVQYXNzd29yZCl7XG4gICAgICBhdXRoLnBhc3N3b3JkID0gdGhpcy5zaWduSW5QYXNzd29yZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5sb2dpbihhdXRoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdXNlck1vZGVsIDogVXNlck1vZGVsID0gcmVzO1xuICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnNldFVzZXIodXNlck1vZGVsKS50aGVuKFxuICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYodXNlck1vZGVsLmNoYW5nZVB3ZCl7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdjaGFuZ2UtcGFzc3dvcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvZ2luSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnd2VsY29tZScpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3RwLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICBpZighdGhpcy5lbmFibGVPdHApe1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgfVxuXG4gIHNpZ25VcChvdHApe1xuXG4gICAgaWYob3RwID09IG51bGwgfHwgb3RwID09IHVuZGVmaW5lZCl7XG4gICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKCdPVFAgVmVyaWZpY2F0aW9uIEZhaWxlZC4gUGxlYXNlIHZlcmlmeSBhZ2Fpbi4nKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlck1vZGVsIDogVXNlck1vZGVsID0gbmV3IFVzZXJNb2RlbCgpO1xuICAgIHVzZXJNb2RlbC5maXJzdE5hbWUgPSB0aGlzLmZpcnN0TmFtZS52YWx1ZTtcbiAgICB1c2VyTW9kZWwubWlkZGxlTmFtZSA9IHRoaXMubWlkZGxlTmFtZS52YWx1ZTtcbiAgICB1c2VyTW9kZWwubGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lLnZhbHVlO1xuICAgIHVzZXJNb2RlbC5kb2IgPSB0aGlzLmRvYi52YWx1ZTtcbiAgICB1c2VyTW9kZWwudXNlcm5hbWUgPSB0aGlzLnNpZ25VcFVzZXJJZC52YWx1ZTtcbiAgICB1c2VyTW9kZWwucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xuXG4gICAgdGhpcy5sb2dpblNlcnZpY2Uuc2V0VXNlcih1c2VyTW9kZWwpO1xuICAgIHRoaXMubG9naW5TZXJ2aWNlLnNpZ25VcCh1c2VyTW9kZWwpLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIHRoaXMub3B0ID0gJ3NpZ25pbic7XG4gICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3UgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIGluIFJlRW1wbG95TVMuIFBsZWFzZSBsb2dpbiB0byB1c2UgdG8gdGhlIGZlYXR1cmVzIG9mIHRoZSBhcHAuJyk7XG4gICAgICAgIHRoaXMuc2lnbnVwRm9ybS5yZXNldCgpO1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZXZlbnQpIHtcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBMYW5ndWFnZVBhZ2UsXG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgICBjc3NDbGFzczogJ2JvdHRvbS1zaGVldC1wb3BvdmVyJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpe1xuICAgIGlmKHRoaXMubG9naW5Gb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2VcbiAgICAgICAgICAgICAgLmluaXRpYXRlRm9yZ290UGFzc3dvcmQodGhpcy51c2VySWQudmFsdWUpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiAgWW91IHNob3VsZCByZWNlaXZlIGFuIGVtYWlsIHdpdGggYSB0ZW1wb3JhcnkgcGFzc3dvcmQgYW5kIGxvZ2luIGluc3RydWN0aW9ucy4nKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cbiIsIjxpb24tY29udGVudCBjbGFzcz1cImJhY2tncm91bmRcIj5cbiAgPHAtdG9hc3QgcG9zaXRpb249XCJ0b3AtY2VudGVyXCIgPjwvcC10b2FzdD5cbiAgICA8YXBwLWNvbnRlbnQgW3Nob3dIZWxwXT1cInRydWVcIj5cbiAgICAgIDxhcHAtcGFnZSBzcmM9XCJhc3NldHMvaWNvbi9SZUVtcGxveXt7dXRpbC5nZXRTdGF0ZSgpfX0uc3ZnXCIgW2hpZGVDYXJkXT1cInRydWVcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YXBwLWNhcmQgdGl0bGU9XCJsb2dpbi5jYXJkLnRpdGxlXCI+XG4gICAgICAgICAgICA8cC1kaWFsb2cgaGVhZGVyPVwiTWVzc2FnZVwiIFsodmlzaWJsZSldPVwiZGlzcGxheURpYWxvZ1wiIG1vZGFsPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICBNYXliZSB5b3UgZm9yZ290IHlvdXIgVXNlciBJRCwgYSBDdXN0b21lciBTZXJ2aWNlIFJlcHJlc2VudGF0aXZlIGlzIGF2YWlsYWJsZSB0byBhc3Npc3QgeW91IE1vbmRheSB0aHJvdWdoIEZyaWRheSBmcm9tIDggQU0gdG8gNSBQTS4gIGlmIHdlYXRoZXIgcGVybWl0c1xuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNNUygpXCI+XG4gICAgICAgICAgICAgICAgPGJyLz4tIEVtcGxveWVycyBtYXkgY2FsbCA2MDEtMzIxLTYzMzQgXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNNRSgpXCI+XG4gICAgICAgICAgICAgICAgPGJyLz4tIEVtcGxveWVycyBtYXkgY2FsbCAyMDctNjIxLTUxMjBcbiAgICAgICAgICAgICAgICA8YnIvPi0gQ2xhaW1hbnRzIG1heSBjYWxsIDEtODAwLTU5My03NjYwLlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPHAtZm9vdGVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRpc3BsYXlEaWFsb2cgPSAhZGlzcGxheURpYWxvZ1wiIGNvbG9yPVwic3VjY2Vzc1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNsb3NlLXNoYXJwXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgQ2xvc2VcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wLWZvb3Rlcj5cbiAgICAgICAgICA8L3AtZGlhbG9nPlxuICAgICAgICAgICAgPG1hdC1ob3Jpem9udGFsLXN0ZXBwZXIgW2xpbmVhcl09XCJ0cnVlXCIgI3N0ZXBwZXI+XG4gICAgICAgICAgICAgIDxtYXQtc3RlcCBbc3RlcENvbnRyb2xdPVwibG9naW5Gb3JtXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxhcHAtbXNnIGtleT1cImxvZ2luLmNhcmQuc3RlcDFcIj48L2FwcC1tc2c+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiICNsb2dpbkZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cbiAgICAgICAgICAgICAgICAgIDxpb24tcm93IGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIiBqb3lyaWRlU3RlcD1cInN0ZXAxXCIgdGl0bGU9XCJ7eydndWlkZS5sb2dpbi51c2VyaWQudGl0bGUnIHwgdHJhbnNsYXRlfX1cIiBcbiAgICAgICAgICAgICAgICAgIHRleHQ9XCJ7eydndWlkZS5sb2dpbi51c2VyaWQubWVzc2FnZScgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1hbGlnbi1zZWxmLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInVzZXJJZFwiIGlkPVwidXNlcklkXCIgaW5sZW5ndGg9XCI1XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgYXBwQXV0b2ZvY3VzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmxvYXQtaW5wdXRcIj5Vc2VyIElEPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSd1c2VySWQnIFtmb3JtXT1cImxvZ2luVHlwZUZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdVc2VyIElEIGlzIHJlcXVpcmVkLicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlubGVuZ3RoOiAnVXNlciBJRCBzaG91bGQgaGF2ZSBtaW5pbXVtIDUgY2hhcmFjdGVycy4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgam95cmlkZVN0ZXA9XCJzdGVwMlwiIHRpdGxlPVwie3snZ3VpZGUubG9naW4ub3B0aW9ucy50aXRsZScgfCB0cmFuc2xhdGV9fVwiIFxuICAgICAgICAgICAgICAgICAgdGV4dD1cInt7J2d1aWRlLmxvZ2luLm9wdGlvbnMubWVzc2FnZScgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGV4cGFuZD1cImJsb2NrXCIgKGNsaWNrKT1cImVuYWJsZVBhc3N3b3JkRmllbGQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3NcIiBwVG9vbHRpcD1cIkxvZ2luIHdpdGggcGFzc3dvcmRcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgam95cmlkZVN0ZXA9XCJzdGVwM1wiIHRpdGxlPVwie3snZ3VpZGUubG9naW4ucGFzc3dvcmQudGl0bGUnIHwgdHJhbnNsYXRlfX1cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dD1cInt7J2d1aWRlLmxvZ2luLnBhc3N3b3JkLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwibG9nLWluLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBleHBhbmQ9XCJibG9ja1wiIGV4cGFuZD1cImJsb2NrXCIgKGNsaWNrKT1cImVuYWJsZU90cEZpZWxkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJzdWNjZXNzXCIgcFRvb2x0aXA9XCJMb2dpbiB3aXRoIGF1dGhjb2RlXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBqb3lyaWRlU3RlcD1cInN0ZXA0XCIgdGl0bGU9XCJ7eydndWlkZS5sb2dpbi5hdXRoY29kZS50aXRsZScgfCB0cmFuc2xhdGV9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwie3snZ3VpZGUubG9naW4uYXV0aGNvZGUubWVzc2FnZScgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJsb2ctaW4tb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICBBdXRoY29kZVxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gam95cmlkZVN0ZXA9XCJzdGVwNVwiIHRpdGxlPVwiRm9yZ290IFVzZXIgSUQ/XCIgXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dD1cIlByb3ZpZGVzIGFzc2lzdGFuY2UgaWYgeW91IGZvcmdldCB5b3VyIFVzZXIgSUQgdG8gbG9naW5cIiBcbiAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBleHBhbmQ9XCJvdXRsaW5lXCIgY29sb3I9XCJzdWNjZXNzXCIgcFRvb2x0aXA9XCJGb3Jnb3QgVXNlciBJRD9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cInNob3dEaWFsb2coKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgRm9yZ290IFVzZXIgSUQ/XG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gXG4gICAgICAgICAgICAgICAgICAgICAgam95cmlkZVN0ZXA9XCJzdGVwNlwiIHRpdGxlPVwiRm9yZ290IHBhc3N3b3JkP1wiIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwiUHJvdmlkZXMgYXNzaXN0YW5jZSB0byByZXNldCB5b3VyIHBhc3N3b3JkIHVzaW5nIHlvdXIgcmVnaXN0ZXJlZCBlbWFpbCBhZGRyZXNzXCIgXG4gICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBleHBhbmQ9XCJvdXRsaW5lXCIgY29sb3I9XCJzdWNjZXNzXCIgcFRvb2x0aXA9XCJGb3Jnb3QgUGFzc3dvcmQ/XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZvcmdvdCBQYXNzd29yZD9cbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgIDwvbWF0LXN0ZXA+XG4gICAgICAgICAgICAgIDxtYXQtc3RlcD5cbiAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luVHlwZUZvcm1cIiAjbG9naW5UeXBlRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1tc2cga2V5PVwibG9naW4uY2FyZC5zdGVwMlwiPjwvYXBwLW1zZz5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLWFsaWduLXNlbGYtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIiAoY2Fwc0xvY2spPVwiY2Fwc09uPSRldmVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiaW9uLXBhZGRpbmctcmlnaHRcIj5Vc2VyIElEPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJpb24tcGFkZGluZy1sZWZ0XCIgc3R5bGU9XCJmbG9hdDogcmlnaHQ7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1tYXNrIFt2YWx1ZV09XCJ1c2VySWQudmFsdWUgICsgJydcIiAqbmdJZj1cInVzZXJJZC52YWx1ZVwiPjwvYXBwLW1hc2s+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48YnIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW5hYmxlT3RwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLWZsb2F0LWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwib3RwXCIgaW5wdXRJZD1cInNpZ25JblBhc3N3b3JkXCIgW3RvZ2dsZU1hc2tdPSd0cnVlJyBbZmVlZGJhY2tdPSdmYWxzZSc+PC9wLXBhc3N3b3JkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+QXV0aGNvZGU8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J290cCcgW2Zvcm1dPVwibG9naW5UeXBlRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdBdXRoY29kZSBpcyByZXF1aXJlZC4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5sZW5ndGg6ICdBdXRoY29kZSBzaG91bGQgaGF2ZSBtaW5pbXVtIDYgY2hhcmFjdGVycy4nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbmFibGVQYXNzd29yZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtcGFzc3dvcmQgW2Zvcm1Db250cm9sXT1cInNpZ25JblBhc3N3b3JkXCIgaW5wdXRJZD1cInNpZ25JblBhc3N3b3JkXCIgW3RvZ2dsZU1hc2tdPSd0cnVlJyBbZmVlZGJhY2tdPSdmYWxzZSc+PC9wLXBhc3N3b3JkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+UGFzc3dvcmQ8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3NpZ25JblBhc3N3b3JkJyBbZm9ybV09XCJsb2dpblR5cGVGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1Bhc3N3b3JkIGlzIHJlcXVpcmVkLidcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjYXBzT25cIiBzdHlsZT1cImNvbG9yOiNiMzQxMWQ7XCI+PHN0cm9uZz5DYXBzIExvY2sgaXMgT248L3N0cm9uZz48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLWp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1ncmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93IGNsYXNzPVwianVzdGlmeS1jb250ZW50LWNlbnRlclwiIFtoaWRkZW5dPVwiIWVuYWJsZVNpZ25pblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwic2lnbkluKClcIiBjb2xvcj1cInN1Y2Nlc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImxvZy1pbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaWduIEluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInJlc2V0XCIgZXhwYW5kPVwiYmxvY2tcIiBleHBhbmQ9XCJibG9ja1wiIChjbGljayk9XCJyZXNldCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIm1lZGl1bVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwicmVmcmVzaFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tZ3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tZ3JpZCAqbmdJZj1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPkZvcmdvdCB1c2VyIElEPzwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+Rm9yZ290IFBhc3N3b3JkPzwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1ncmlkPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgICAgPC9tYXQtc3RlcD5cbiAgICAgICAgICAgIDwvbWF0LWhvcml6b250YWwtc3RlcHBlcj5cbiAgXG4gICAgICAgICAgPC9hcHAtY2FyZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImctc2lnbmluMlwiIGRhdGEtd2lkdGg9XCIzMDBcIiBkYXRhLWhlaWdodD1cIjIwMFwiIGRhdGEtbG9uZ3RpdGxlPVwidHJ1ZVwiPjwvZGl2PiAtLT5cbiAgICAgIDwvYXBwLXBhZ2U+XG4gICAgPC9hcHAtY29udGVudD5cbiAgPC9pb24tY29udGVudD5cblxuXG5cbiJdfQ==
|