@reusa/ngx-reusa-app-lib 0.0.1361 → 0.0.1363

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1324 -2388
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +150 -285
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +101 -112
  19. package/esm2022/lib/components/header/header.component.mjs +174 -440
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -68
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +287 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +353 -749
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1142 -878
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +667 -207
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +357 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +272 -622
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  66. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  67. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  68. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  69. package/esm2022/lib/models/dependent.model.mjs +1 -1
  70. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  71. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  72. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  74. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  76. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  77. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  78. package/esm2022/lib/pages/BasePage.mjs +23 -4
  79. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  80. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  81. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  82. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  83. package/esm2022/lib/pages/common/login/login.component.mjs +11 -7
  84. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  85. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  86. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  87. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  88. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  89. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  90. package/esm2022/lib/services/base-service.mjs +1 -4
  91. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  92. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  93. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  94. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  95. package/esm2022/lib/services/help/help.service.mjs +1 -1
  96. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  97. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  98. package/esm2022/lib/services/login/login.service.mjs +11 -29
  99. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  100. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  101. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  102. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  103. package/esm2022/lib/services/util/util.service.mjs +5 -61
  104. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  105. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  106. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  107. package/esm2022/public-api.mjs +5 -47
  108. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26883 -44887
  109. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  110. package/lib/components/add-employer/add-employer.component.d.ts +53 -137
  111. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  112. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  113. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  114. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  115. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  116. package/lib/components/address/address.component.d.ts +15 -42
  117. package/lib/components/address/address.component.d.ts.map +1 -1
  118. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  119. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  120. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  121. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  122. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  123. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  124. package/lib/components/email-update/email-update.component.d.ts +12 -1
  125. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  126. package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
  127. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  128. package/lib/components/error/error.component.d.ts +2 -3
  129. package/lib/components/error/error.component.d.ts.map +1 -1
  130. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  131. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  132. package/lib/components/footer/footer.component.d.ts.map +1 -1
  133. package/lib/components/header/header.component.d.ts +5 -17
  134. package/lib/components/header/header.component.d.ts.map +1 -1
  135. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  136. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  137. package/lib/components/job-title/job-title.component.d.ts +23 -22
  138. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  139. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  140. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  141. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  142. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  143. package/lib/components/menu/menu.component.d.ts +12 -3
  144. package/lib/components/menu/menu.component.d.ts.map +1 -1
  145. package/lib/components/mfa/mfa.component.d.ts +19 -7
  146. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  147. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  148. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  149. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  150. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  151. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  152. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  153. package/lib/components/profile/profile.component.d.ts +49 -82
  154. package/lib/components/profile/profile.component.d.ts.map +1 -1
  155. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  156. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  157. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  158. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  159. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  160. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  161. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  162. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  163. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  164. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  165. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +34 -33
  166. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  167. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  168. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  169. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  170. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  171. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  172. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  173. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  174. package/lib/components/questionnaire/question.service.d.ts +1 -0
  175. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  176. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  177. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  178. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  179. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  180. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  181. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  182. package/lib/components/security-question/security-question.component.d.ts +37 -0
  183. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  184. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  185. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  186. package/lib/components/user-login/user-login.component.d.ts +38 -5
  187. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  188. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  189. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  190. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  191. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  192. package/lib/guards/auth.guard.d.ts.map +1 -1
  193. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  194. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  195. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  196. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  197. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  198. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  199. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  200. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  201. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  202. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  203. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  204. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  205. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  206. package/lib/models/LibConstants.d.ts +1 -40
  207. package/lib/models/LibConstants.d.ts.map +1 -1
  208. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  209. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  210. package/lib/models/PaymentComponentModel.d.ts +1 -1
  211. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  212. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  213. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  214. package/lib/models/dashboard-model.d.ts +0 -22
  215. package/lib/models/dashboard-model.d.ts.map +1 -1
  216. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  217. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  218. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
  219. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  220. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  221. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  222. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  223. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  224. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  225. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  226. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  227. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  228. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  229. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  230. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  231. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  232. package/lib/pages/BasePage.d.ts +6 -3
  233. package/lib/pages/BasePage.d.ts.map +1 -1
  234. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  235. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  236. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  237. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  238. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  239. package/lib/services/base-service.d.ts +0 -12
  240. package/lib/services/base-service.d.ts.map +1 -1
  241. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  242. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  243. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  244. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  245. package/lib/services/claims/claims.service.d.ts +5 -39
  246. package/lib/services/claims/claims.service.d.ts.map +1 -1
  247. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  248. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  249. package/lib/services/login/login.service.d.ts +3 -5
  250. package/lib/services/login/login.service.d.ts.map +1 -1
  251. package/lib/services/ovp/ovp.service.d.ts +17 -0
  252. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  253. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  254. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  255. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  256. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  257. package/lib/services/security-service/security.service.d.ts +4 -12
  258. package/lib/services/security-service/security.service.d.ts.map +1 -1
  259. package/lib/services/util/util.service.d.ts +0 -6
  260. package/lib/services/util/util.service.d.ts.map +1 -1
  261. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  262. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  263. package/lib/validations/AppRegex.d.ts +2 -0
  264. package/lib/validations/AppRegex.d.ts.map +1 -1
  265. package/lib/validations/AppValidators.d.ts +24 -20
  266. package/lib/validations/AppValidators.d.ts.map +1 -1
  267. package/package.json +2 -2
  268. package/public-api.d.ts +4 -46
  269. package/public-api.d.ts.map +1 -1
  270. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  271. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  272. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  273. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  274. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  275. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  276. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  277. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  278. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  279. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  280. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  281. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  282. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  283. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  284. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  285. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  286. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  287. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  288. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  289. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  290. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  291. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  292. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  293. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  294. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  295. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  296. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  297. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
  298. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  299. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  300. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  301. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  302. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  303. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  304. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
  305. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  306. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  307. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  308. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  309. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  310. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  311. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  312. package/esm2022/lib/models/CountyModel.mjs +0 -3
  313. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  314. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  315. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  316. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  317. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  318. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  319. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  320. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  321. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  322. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  323. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  324. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  325. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  326. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  327. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  328. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  329. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  330. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  331. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  332. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  333. package/esm2022/lib/models/combo-model.mjs +0 -343
  334. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  335. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  336. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  337. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  338. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  339. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  340. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  341. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  342. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  343. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  344. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  345. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  346. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  347. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  348. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  349. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  350. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  351. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  352. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  353. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  354. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  355. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  356. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  357. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  358. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  359. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  360. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  361. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  362. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  363. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  364. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  365. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  366. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  367. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  368. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  369. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  370. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  371. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  372. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  373. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  374. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  375. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  376. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  377. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  378. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  379. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  380. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  381. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  382. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  383. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  384. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  385. package/lib/components/history-page/history-page.component.d.ts +0 -80
  386. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  387. package/lib/components/idme/idme.component.d.ts +0 -19
  388. package/lib/components/idme/idme.component.d.ts.map +0 -1
  389. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  390. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  391. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  392. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  393. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  394. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  395. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  396. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  397. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  398. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  399. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  400. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  401. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  402. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  403. package/lib/components/sms/sms.component.d.ts +0 -63
  404. package/lib/components/sms/sms.component.d.ts.map +0 -1
  405. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  406. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  407. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  408. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  409. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  410. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  411. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  412. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  413. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  414. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  415. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  416. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  417. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  418. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  419. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  420. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  421. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  422. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  423. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  424. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  425. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  426. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  427. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  428. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  429. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  430. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  431. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  432. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  433. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  434. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  435. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  436. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  437. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  438. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  439. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  440. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  441. package/lib/models/ActiveClaimModel.d.ts +0 -8
  442. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  443. package/lib/models/CountyModel.d.ts +0 -8
  444. package/lib/models/CountyModel.d.ts.map +0 -1
  445. package/lib/models/DuaAppDataModel.d.ts +0 -5
  446. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  447. package/lib/models/DuaRequestModel.d.ts +0 -10
  448. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  449. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  450. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  451. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  452. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  453. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  454. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  455. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  456. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  457. package/lib/models/GrossEarningsModel.d.ts +0 -6
  458. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  459. package/lib/models/HelpConstants.d.ts +0 -5
  460. package/lib/models/HelpConstants.d.ts.map +0 -1
  461. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  462. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  463. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  464. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  465. package/lib/models/RetroWeeksModel.d.ts +0 -11
  466. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  467. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  468. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  469. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  470. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  471. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  472. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  473. package/lib/models/WageCalculatorModel.d.ts +0 -15
  474. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  475. package/lib/models/WageInfoModel.d.ts +0 -9
  476. package/lib/models/WageInfoModel.d.ts.map +0 -1
  477. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  478. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  479. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  480. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  481. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  482. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  483. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  484. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  485. package/lib/models/combo-model.d.ts +0 -42
  486. package/lib/models/combo-model.d.ts.map +0 -1
  487. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  488. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  489. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  490. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  491. package/lib/models/fileupload/FileObject.d.ts +0 -8
  492. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  493. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  494. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  495. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  496. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  497. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  498. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  499. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  500. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  501. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  502. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  503. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  504. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  505. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  506. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  507. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  508. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  509. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  510. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  511. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  512. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  513. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  514. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  515. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  516. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  517. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  518. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  519. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  520. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  521. package/lib/services/appeal/appeal.service.d.ts +0 -16
  522. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  523. package/lib/services/birt-service/birt.service.d.ts +0 -17
  524. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  525. package/lib/services/employer/employer-service.d.ts +0 -16
  526. package/lib/services/employer/employer-service.d.ts.map +0 -1
  527. package/lib/services/event-service/event-service.d.ts +0 -20
  528. package/lib/services/event-service/event-service.d.ts.map +0 -1
  529. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  530. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  531. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  532. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  533. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  534. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  535. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  536. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -8,177 +8,267 @@ import * as i2 from "@angular/forms";
8
8
  import * as i3 from "../../services/util/util.service";
9
9
  import * as i4 from "@ionic/angular";
10
10
  import * as i5 from "../../services/captcha/captcha.service";
11
- import * as i6 from "@angular/common";
12
- import * as i7 from "primeng/api";
13
- import * as i8 from "@angular/material/form-field";
14
- import * as i9 from "primeng/selectbutton";
15
- import * as i10 from "primeng/inputnumber";
16
- import * as i11 from "../error/error.component";
17
- import * as i12 from "@ngx-translate/core";
18
- import * as i13 from "../../pipes/mask/mask.email.pipe";
19
- const _c0 = ["otpFormDirective"];
20
- function MfaComponent_div_5_Template(rf, ctx) { if (rf & 1) {
11
+ import * as i6 from "../../services/security-service/security.service";
12
+ import * as i7 from "@angular/router";
13
+ import * as i8 from "@ngx-translate/core";
14
+ import * as i9 from "@angular/common";
15
+ import * as i10 from "primeng/api";
16
+ import * as i11 from "@angular/material/form-field";
17
+ import * as i12 from "primeng/selectbutton";
18
+ import * as i13 from "primeng/inputnumber";
19
+ import * as i14 from "../error/error.component";
20
+ import * as i15 from "../../pipes/mask/mask.email.pipe";
21
+ const _c0 = ["otpField"];
22
+ function MfaComponent_div_4_Template(rf, ctx) { if (rf & 1) {
21
23
  const _r6 = i0.ɵɵgetCurrentView();
22
24
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "div", 8)(3, "label", 9);
23
25
  i0.ɵɵtext(4);
24
26
  i0.ɵɵpipe(5, "translate");
25
27
  i0.ɵɵelementEnd();
26
28
  i0.ɵɵelementStart(6, "p-selectButton", 10);
27
- i0.ɵɵlistener("onChange", function MfaComponent_div_5_Template_p_selectButton_onChange_6_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.sendOtp($event)); });
29
+ i0.ɵɵlistener("onChange", function MfaComponent_div_4_Template_p_selectButton_onChange_6_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.sendOtp($event)); });
28
30
  i0.ɵɵelementEnd()()()();
29
31
  } if (rf & 2) {
30
32
  const ctx_r1 = i0.ɵɵnextContext();
31
33
  i0.ɵɵadvance(4);
32
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 3, "How would you like us to send your access code?"));
34
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 3, "mfa.how.send"));
33
35
  i0.ɵɵadvance(2);
34
36
  i0.ɵɵproperty("options", ctx_r1.options)("formControl", ctx_r1.option);
35
37
  } }
36
- function MfaComponent_div_6_span_3_Template(rf, ctx) { if (rf & 1) {
38
+ function MfaComponent_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
37
39
  i0.ɵɵelementStart(0, "span");
38
- i0.ɵɵtext(1, "An access code has been sent to your email address:\u00A0 ");
39
- i0.ɵɵelementStart(2, "b");
40
- i0.ɵɵtext(3);
41
- i0.ɵɵpipe(4, "maskEmail");
40
+ i0.ɵɵtext(1);
41
+ i0.ɵɵpipe(2, "translate");
42
+ i0.ɵɵelementStart(3, "b");
43
+ i0.ɵɵtext(4);
44
+ i0.ɵɵpipe(5, "maskEmail");
42
45
  i0.ɵɵelementEnd()();
43
46
  } if (rf & 2) {
44
47
  const ctx_r7 = i0.ɵɵnextContext(2);
48
+ i0.ɵɵadvance(1);
49
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 2, "mfa.code.sent.email"), ":\u00A0 ");
45
50
  i0.ɵɵadvance(3);
46
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, ctx_r7.user == null ? null : ctx_r7.user.emailId));
51
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, ctx_r7.user == null ? null : ctx_r7.user.emailId));
47
52
  } }
48
- function MfaComponent_div_6_span_4_Template(rf, ctx) { if (rf & 1) {
53
+ function MfaComponent_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
49
54
  i0.ɵɵelementStart(0, "span");
50
- i0.ɵɵtext(1, "An access code has been sent to your cellphone:\u00A0 ");
51
- i0.ɵɵelementStart(2, "b");
52
- i0.ɵɵtext(3);
53
- i0.ɵɵpipe(4, "maskEmail");
55
+ i0.ɵɵtext(1);
56
+ i0.ɵɵpipe(2, "translate");
57
+ i0.ɵɵelementStart(3, "b");
58
+ i0.ɵɵtext(4);
59
+ i0.ɵɵpipe(5, "maskEmail");
54
60
  i0.ɵɵelementEnd()();
55
61
  } if (rf & 2) {
56
62
  const ctx_r8 = i0.ɵɵnextContext(2);
63
+ i0.ɵɵadvance(1);
64
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 2, "mfa.code.sent.cell"), "\u00A0 ");
57
65
  i0.ɵɵadvance(3);
58
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, ctx_r8.user == null ? null : ctx_r8.user.cellphoneNo));
66
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, ctx_r8.user == null ? null : ctx_r8.user.cellphoneNo));
59
67
  } }
60
- function MfaComponent_div_6_ion_label_7_Template(rf, ctx) { if (rf & 1) {
68
+ function MfaComponent_div_5_span_5_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelementStart(0, "span");
70
+ i0.ɵɵtext(1);
71
+ i0.ɵɵpipe(2, "translate");
72
+ i0.ɵɵelementStart(3, "b");
73
+ i0.ɵɵtext(4);
74
+ i0.ɵɵpipe(5, "maskEmail");
75
+ i0.ɵɵelementEnd()();
76
+ } if (rf & 2) {
77
+ const ctx_r9 = i0.ɵɵnextContext(2);
78
+ i0.ɵɵadvance(1);
79
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 2, "mfa.code.sent.cell"), "\u00A0 ");
80
+ i0.ɵɵadvance(3);
81
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, ctx_r9.user == null ? null : ctx_r9.user.cellphoneNo));
82
+ } }
83
+ function MfaComponent_div_5_ion_label_8_Template(rf, ctx) { if (rf & 1) {
61
84
  i0.ɵɵelementStart(0, "ion-label");
62
- i0.ɵɵtext(1, " Check your junk folder if you don't see it in your inbox. ");
85
+ i0.ɵɵtext(1);
86
+ i0.ɵɵpipe(2, "translate");
63
87
  i0.ɵɵelementEnd();
88
+ } if (rf & 2) {
89
+ i0.ɵɵadvance(1);
90
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "mfa.code.sent.junk"), " ");
64
91
  } }
65
- function MfaComponent_div_6_span_8_Template(rf, ctx) { if (rf & 1) {
92
+ function MfaComponent_div_5_span_9_Template(rf, ctx) { if (rf & 1) {
66
93
  i0.ɵɵelementStart(0, "span");
67
94
  i0.ɵɵelement(1, "br")(2, "br");
68
95
  i0.ɵɵelementEnd();
69
96
  } }
70
- function MfaComponent_div_6_ion_item_15_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "ion-item", 19);
72
- i0.ɵɵelement(1, "ion-checkbox", 20);
73
- i0.ɵɵelementStart(2, "ion-label", 21);
97
+ function MfaComponent_div_5_label_11_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "label", 19);
99
+ i0.ɵɵtext(1);
100
+ i0.ɵɵpipe(2, "translate");
101
+ i0.ɵɵelementEnd();
102
+ } if (rf & 2) {
103
+ i0.ɵɵadvance(1);
104
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "mfa.enter.code"));
105
+ } }
106
+ function MfaComponent_div_5_label_13_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelementStart(0, "label", 19);
108
+ i0.ɵɵtext(1);
109
+ i0.ɵɵpipe(2, "translate");
110
+ i0.ɵɵelementEnd();
111
+ } if (rf & 2) {
112
+ i0.ɵɵadvance(1);
113
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "mfa.enter.code.received"));
114
+ } }
115
+ const _c1 = (a0, a1, a2) => ({ required: a0, min: a1, max: a2 });
116
+ function MfaComponent_div_5_app_error_17_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelement(0, "app-error", 20);
118
+ } if (rf & 2) {
119
+ const ctx_r15 = i0.ɵɵnextContext(2);
120
+ i0.ɵɵproperty("field", ctx_r15.otp)("form", ctx_r15.otpForm)("errDef", i0.ɵɵpureFunction3(3, _c1, ctx_r15.AccessRequired, ctx_r15.AccessVerify, ctx_r15.AccessVerify));
121
+ } }
122
+ function MfaComponent_div_5_ion_item_18_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵelementStart(0, "ion-item", 21);
124
+ i0.ɵɵelement(1, "ion-checkbox", 22);
125
+ i0.ɵɵelementStart(2, "ion-label", 23);
74
126
  i0.ɵɵtext(3);
75
127
  i0.ɵɵpipe(4, "translate");
76
128
  i0.ɵɵelementEnd()();
77
129
  } if (rf & 2) {
78
130
  i0.ɵɵadvance(3);
79
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "I trust this browser."));
131
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "mfa.browser.trust"));
80
132
  } }
81
- function MfaComponent_div_6_mat_error_16_Template(rf, ctx) { if (rf & 1) {
133
+ function MfaComponent_div_5_mat_error_19_Template(rf, ctx) { if (rf & 1) {
82
134
  i0.ɵɵelementStart(0, "mat-error");
83
135
  i0.ɵɵtext(1);
84
136
  i0.ɵɵelement(2, "br")(3, "br");
85
137
  i0.ɵɵelementEnd();
86
138
  } if (rf & 2) {
87
- const ctx_r12 = i0.ɵɵnextContext(2);
139
+ const ctx_r17 = i0.ɵɵnextContext(2);
88
140
  i0.ɵɵadvance(1);
89
- i0.ɵɵtextInterpolate(ctx_r12.errorDtls);
141
+ i0.ɵɵtextInterpolate(ctx_r17.errorDtls);
90
142
  } }
91
- function MfaComponent_div_6_ion_label_17_Template(rf, ctx) { if (rf & 1) {
92
- i0.ɵɵelementStart(0, "ion-label", 22);
143
+ function MfaComponent_div_5_ion_label_20_Template(rf, ctx) { if (rf & 1) {
144
+ i0.ɵɵelementStart(0, "ion-label", 24);
93
145
  i0.ɵɵtext(1);
94
146
  i0.ɵɵelement(2, "br")(3, "br");
95
147
  i0.ɵɵelementEnd();
96
148
  } if (rf & 2) {
97
- const ctx_r13 = i0.ɵɵnextContext(2);
149
+ const ctx_r18 = i0.ɵɵnextContext(2);
98
150
  i0.ɵɵadvance(1);
99
- i0.ɵɵtextInterpolate(ctx_r13.successDtls);
151
+ i0.ɵɵtextInterpolate(ctx_r18.successDtls);
100
152
  } }
101
- function MfaComponent_div_6_ion_label_18_span_1_Template(rf, ctx) { if (rf & 1) {
153
+ function MfaComponent_div_5_ion_label_21_span_1_Template(rf, ctx) { if (rf & 1) {
102
154
  i0.ɵɵelementStart(0, "span");
103
- i0.ɵɵtext(1, " Haven't received the code? Resend option available in ");
104
- i0.ɵɵelementStart(2, "b");
105
- i0.ɵɵtext(3);
155
+ i0.ɵɵtext(1);
156
+ i0.ɵɵpipe(2, "translate");
157
+ i0.ɵɵelementStart(3, "b");
158
+ i0.ɵɵtext(4);
106
159
  i0.ɵɵelementEnd();
107
- i0.ɵɵtext(4, ". ");
160
+ i0.ɵɵtext(5, ". ");
108
161
  i0.ɵɵelementEnd();
109
162
  } if (rf & 2) {
110
- const ctx_r16 = i0.ɵɵnextContext(3);
163
+ const ctx_r22 = i0.ɵɵnextContext(3);
164
+ i0.ɵɵadvance(1);
165
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "mfa.code.not.received"), " ");
111
166
  i0.ɵɵadvance(3);
112
- i0.ɵɵtextInterpolate1("", ctx_r16.counter.getValue(), " second(s)");
167
+ i0.ɵɵtextInterpolate1("", ctx_r22.counter.getValue(), " second(s)");
113
168
  } }
114
- function MfaComponent_div_6_ion_label_18_span_2_Template(rf, ctx) { if (rf & 1) {
115
- const _r19 = i0.ɵɵgetCurrentView();
116
- i0.ɵɵelementStart(0, "span")(1, "a", 18);
117
- i0.ɵɵlistener("click", function MfaComponent_div_6_ion_label_18_span_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r18.resendAuthCode(ctx_r18.option.value)); });
118
- i0.ɵɵtext(2, "Get new code");
169
+ function MfaComponent_div_5_ion_label_21_span_2_Template(rf, ctx) { if (rf & 1) {
170
+ const _r26 = i0.ɵɵgetCurrentView();
171
+ i0.ɵɵelementStart(0, "span")(1, "a", 25);
172
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_5_ion_label_21_span_2_Template_a_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r25.resendAuthCode(ctx_r25.option.value)); })("click", function MfaComponent_div_5_ion_label_21_span_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r27.resendAuthCode(ctx_r27.option.value)); });
173
+ i0.ɵɵtext(2);
174
+ i0.ɵɵpipe(3, "translate");
119
175
  i0.ɵɵelementEnd()();
176
+ } if (rf & 2) {
177
+ i0.ɵɵadvance(2);
178
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "mfa.get.new.code"));
179
+ } }
180
+ function MfaComponent_div_5_ion_label_21_span_3_Template(rf, ctx) { if (rf & 1) {
181
+ const _r29 = i0.ɵɵgetCurrentView();
182
+ i0.ɵɵelementStart(0, "span")(1, "a", 25);
183
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_5_ion_label_21_span_3_Template_a_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r28.resendAuthCode(ctx_r28.option.value)); })("click", function MfaComponent_div_5_ion_label_21_span_3_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r30.resendAuthCode(ctx_r30.option.value)); });
184
+ i0.ɵɵtext(2);
185
+ i0.ɵɵpipe(3, "translate");
186
+ i0.ɵɵelementEnd()();
187
+ } if (rf & 2) {
188
+ i0.ɵɵadvance(2);
189
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "mfa.resend.verification.code"), "");
120
190
  } }
121
- function MfaComponent_div_6_ion_label_18_Template(rf, ctx) { if (rf & 1) {
191
+ function MfaComponent_div_5_ion_label_21_Template(rf, ctx) { if (rf & 1) {
122
192
  i0.ɵɵelementStart(0, "ion-label");
123
- i0.ɵɵtemplate(1, MfaComponent_div_6_ion_label_18_span_1_Template, 5, 1, "span", 12)(2, MfaComponent_div_6_ion_label_18_span_2_Template, 3, 0, "span", 12);
193
+ i0.ɵɵtemplate(1, MfaComponent_div_5_ion_label_21_span_1_Template, 6, 4, "span", 12)(2, MfaComponent_div_5_ion_label_21_span_2_Template, 4, 3, "span", 12)(3, MfaComponent_div_5_ion_label_21_span_3_Template, 4, 3, "span", 12);
124
194
  i0.ɵɵelementEnd();
125
195
  } if (rf & 2) {
126
- const ctx_r14 = i0.ɵɵnextContext(2);
196
+ const ctx_r19 = i0.ɵɵnextContext(2);
197
+ i0.ɵɵadvance(1);
198
+ i0.ɵɵproperty("ngIf", ctx_r19.counter.getValue() != 1 && !ctx_r19.returningUser);
127
199
  i0.ɵɵadvance(1);
128
- i0.ɵɵproperty("ngIf", ctx_r14.counter.getValue() != 1);
200
+ i0.ɵɵproperty("ngIf", ctx_r19.counter.getValue() == 1 && !ctx_r19.returningUser);
129
201
  i0.ɵɵadvance(1);
130
- i0.ɵɵproperty("ngIf", ctx_r14.counter.getValue() == 1);
202
+ i0.ɵɵproperty("ngIf", ctx_r19.counter.getValue() == 1 && ctx_r19.returningUser);
203
+ } }
204
+ function MfaComponent_div_5_p_22_Template(rf, ctx) { if (rf & 1) {
205
+ const _r32 = i0.ɵɵgetCurrentView();
206
+ i0.ɵɵelementStart(0, "p")(1, "a", 25);
207
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_5_p_22_Template_a_keyup_enter_1_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(2); ctx_r31.showHelp = !ctx_r31.showHelp; return i0.ɵɵresetView($event.preventDefault()); })("click", function MfaComponent_div_5_p_22_Template_a_click_1_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(2); ctx_r33.showHelp = !ctx_r33.showHelp; return i0.ɵɵresetView($event.preventDefault()); });
208
+ i0.ɵɵtext(2);
209
+ i0.ɵɵelementEnd()();
210
+ } if (rf & 2) {
211
+ const ctx_r20 = i0.ɵɵnextContext(2);
212
+ i0.ɵɵadvance(2);
213
+ i0.ɵɵtextInterpolate1("Can't get to your ", ctx_r20.option.value == "text" ? "cellphone" : "email", "?");
131
214
  } }
132
- function MfaComponent_div_6_p_22_Template(rf, ctx) { if (rf & 1) {
215
+ function MfaComponent_div_5_p_23_Template(rf, ctx) { if (rf & 1) {
133
216
  i0.ɵɵelementStart(0, "p");
134
- i0.ɵɵtext(1, " Your code is good for 15 minutes. You can try again later.");
135
- i0.ɵɵelement(2, "br");
136
- i0.ɵɵtext(3, " or");
137
- i0.ɵɵelement(4, "br");
138
- i0.ɵɵtext(5);
217
+ i0.ɵɵtext(1);
218
+ i0.ɵɵpipe(2, "translate");
219
+ i0.ɵɵelement(3, "br");
220
+ i0.ɵɵtext(4, " or");
221
+ i0.ɵɵelement(5, "br");
222
+ i0.ɵɵtext(6);
139
223
  i0.ɵɵelementEnd();
140
224
  } if (rf & 2) {
141
- const ctx_r15 = i0.ɵɵnextContext(2);
225
+ const ctx_r21 = i0.ɵɵnextContext(2);
226
+ i0.ɵɵadvance(1);
227
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "mfa.good.for.time"), "");
142
228
  i0.ɵɵadvance(5);
143
- i0.ɵɵtextInterpolate1(" If your ", ctx_r15.option.value == "text" ? "cellphone number" : "email address", " has changed call MDES at 601-493-9427, Monday through Friday from 8 am to 5 pm. ");
229
+ i0.ɵɵtextInterpolate1(" If your ", ctx_r21.option.value == "text" ? "cellphone number" : "email address", " has changed call KDOL at 785-575-1460, Monday through Friday from 8 am to 4:30 pm. ");
144
230
  } }
145
- const _c1 = () => ({ required: "Access code is required.", minlength: "Access code should have 6 numbers." });
146
- function MfaComponent_div_6_Template(rf, ctx) { if (rf & 1) {
147
- const _r21 = i0.ɵɵgetCurrentView();
231
+ function MfaComponent_div_5_Template(rf, ctx) { if (rf & 1) {
232
+ const _r35 = i0.ɵɵgetCurrentView();
148
233
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 11)(2, "ion-label");
149
- i0.ɵɵtemplate(3, MfaComponent_div_6_span_3_Template, 5, 3, "span", 12)(4, MfaComponent_div_6_span_4_Template, 5, 3, "span", 12);
234
+ i0.ɵɵtemplate(3, MfaComponent_div_5_span_3_Template, 6, 6, "span", 12)(4, MfaComponent_div_5_span_4_Template, 6, 6, "span", 12)(5, MfaComponent_div_5_span_5_Template, 6, 6, "span", 12);
150
235
  i0.ɵɵelementEnd();
151
- i0.ɵɵelement(5, "br")(6, "br");
152
- i0.ɵɵtemplate(7, MfaComponent_div_6_ion_label_7_Template, 2, 0, "ion-label", 12)(8, MfaComponent_div_6_span_8_Template, 3, 0, "span", 12);
153
- i0.ɵɵelementStart(9, "div", 8)(10, "label", 13);
154
- i0.ɵɵtext(11, "Enter code");
236
+ i0.ɵɵelement(6, "br")(7, "br");
237
+ i0.ɵɵtemplate(8, MfaComponent_div_5_ion_label_8_Template, 3, 3, "ion-label", 12)(9, MfaComponent_div_5_span_9_Template, 3, 0, "span", 12);
238
+ i0.ɵɵelementStart(10, "div", 8);
239
+ i0.ɵɵtemplate(11, MfaComponent_div_5_label_11_Template, 3, 3, "label", 13);
240
+ i0.ɵɵelement(12, "br");
241
+ i0.ɵɵtemplate(13, MfaComponent_div_5_label_13_Template, 3, 3, "label", 13);
242
+ i0.ɵɵelement(14, "br");
243
+ i0.ɵɵelementStart(15, "p-inputNumber", 14, 15);
244
+ i0.ɵɵlistener("click", function MfaComponent_div_5_Template_p_inputNumber_click_15_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.hideOptValidator = false); })("keyup", function MfaComponent_div_5_Template_p_inputNumber_keyup_15_listener() { i0.ɵɵrestoreView(_r35); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.hideOptValidator = false); })("keyup.enter", function MfaComponent_div_5_Template_p_inputNumber_keyup_enter_15_listener() { i0.ɵɵrestoreView(_r35); const ctx_r37 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!ctx_r37.requestCode && ctx_r37.option.value ? ctx_r37.signIn() : ctx_r37.submit()); });
155
245
  i0.ɵɵelementEnd();
156
- i0.ɵɵelement(12, "br")(13, "p-inputNumber", 14)(14, "app-error", 15);
246
+ i0.ɵɵtemplate(17, MfaComponent_div_5_app_error_17_Template, 1, 7, "app-error", 16);
157
247
  i0.ɵɵelementEnd();
158
- i0.ɵɵtemplate(15, MfaComponent_div_6_ion_item_15_Template, 5, 3, "ion-item", 16);
248
+ i0.ɵɵtemplate(18, MfaComponent_div_5_ion_item_18_Template, 5, 3, "ion-item", 17);
159
249
  i0.ɵɵelementEnd();
160
- i0.ɵɵtemplate(16, MfaComponent_div_6_mat_error_16_Template, 4, 1, "mat-error", 12)(17, MfaComponent_div_6_ion_label_17_Template, 4, 1, "ion-label", 17)(18, MfaComponent_div_6_ion_label_18_Template, 3, 2, "ion-label", 12);
161
- i0.ɵɵelementStart(19, "p")(20, "a", 18);
162
- i0.ɵɵlistener("click", function MfaComponent_div_6_Template_a_click_20_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(); ctx_r20.showHelp = !ctx_r20.showHelp; return i0.ɵɵresetView($event.preventDefault()); });
163
- i0.ɵɵtext(21);
164
- i0.ɵɵelementEnd()();
165
- i0.ɵɵtemplate(22, MfaComponent_div_6_p_22_Template, 6, 1, "p", 12);
250
+ i0.ɵɵtemplate(19, MfaComponent_div_5_mat_error_19_Template, 4, 1, "mat-error", 12)(20, MfaComponent_div_5_ion_label_20_Template, 4, 1, "ion-label", 18)(21, MfaComponent_div_5_ion_label_21_Template, 4, 3, "ion-label", 12)(22, MfaComponent_div_5_p_22_Template, 3, 1, "p", 12)(23, MfaComponent_div_5_p_23_Template, 7, 4, "p", 12);
166
251
  i0.ɵɵelementEnd();
167
252
  } if (rf & 2) {
168
253
  const ctx_r2 = i0.ɵɵnextContext();
169
- const _r0 = i0.ɵɵreference(1);
170
254
  i0.ɵɵadvance(3);
171
- i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email");
255
+ i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email" && !ctx_r2.returningUser);
256
+ i0.ɵɵadvance(1);
257
+ i0.ɵɵproperty("ngIf", ctx_r2.option.value == "text" && !ctx_r2.returningUser);
172
258
  i0.ɵɵadvance(1);
173
- i0.ɵɵproperty("ngIf", ctx_r2.option.value == "text");
259
+ i0.ɵɵproperty("ngIf", ctx_r2.returningUser);
174
260
  i0.ɵɵadvance(3);
175
- i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email");
261
+ i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email" && !ctx_r2.returningUser);
176
262
  i0.ɵɵadvance(1);
177
- i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email");
178
- i0.ɵɵadvance(5);
263
+ i0.ɵɵproperty("ngIf", ctx_r2.option.value == "email" && !ctx_r2.returningUser);
264
+ i0.ɵɵadvance(2);
265
+ i0.ɵɵproperty("ngIf", !ctx_r2.returningUser);
266
+ i0.ɵɵadvance(2);
267
+ i0.ɵɵproperty("ngIf", ctx_r2.returningUser);
268
+ i0.ɵɵadvance(2);
179
269
  i0.ɵɵproperty("useGrouping", false)("inputId", "authCode");
180
- i0.ɵɵadvance(1);
181
- i0.ɵɵproperty("field", ctx_r2.otp)("form", _r0)("errDef", i0.ɵɵpureFunction0(15, _c1));
270
+ i0.ɵɵadvance(2);
271
+ i0.ɵɵproperty("ngIf", !ctx_r2.hideOptValidator);
182
272
  i0.ɵɵadvance(1);
183
273
  i0.ɵɵproperty("ngIf", false);
184
274
  i0.ɵɵadvance(1);
@@ -187,56 +277,72 @@ function MfaComponent_div_6_Template(rf, ctx) { if (rf & 1) {
187
277
  i0.ɵɵproperty("ngIf", ctx_r2.successDtls);
188
278
  i0.ɵɵadvance(1);
189
279
  i0.ɵɵproperty("ngIf", !ctx_r2.blocked);
190
- i0.ɵɵadvance(3);
191
- i0.ɵɵtextInterpolate1("Can't get to your ", ctx_r2.option.value == "text" ? "cellphone" : "email", "?");
192
280
  i0.ɵɵadvance(1);
193
- i0.ɵɵproperty("ngIf", ctx_r2.showHelp);
281
+ i0.ɵɵproperty("ngIf", !ctx_r2.returningUser);
282
+ i0.ɵɵadvance(1);
283
+ i0.ɵɵproperty("ngIf", ctx_r2.showHelp && !ctx_r2.returningUser);
194
284
  } }
195
- function MfaComponent_div_8_Template(rf, ctx) { if (rf & 1) {
196
- i0.ɵɵelementStart(0, "div", 23);
197
- i0.ɵɵelement(1, "ion-spinner", 24);
285
+ function MfaComponent_div_7_Template(rf, ctx) { if (rf & 1) {
286
+ i0.ɵɵelementStart(0, "div", 26);
287
+ i0.ɵɵelement(1, "ion-spinner", 27);
198
288
  i0.ɵɵelementEnd();
199
289
  } }
200
- function MfaComponent_div_9_ion_button_3_Template(rf, ctx) { if (rf & 1) {
201
- const _r25 = i0.ɵɵgetCurrentView();
202
- i0.ɵɵelementStart(0, "ion-button", 28);
203
- i0.ɵɵlistener("click", function MfaComponent_div_9_ion_button_3_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.signIn()); });
204
- i0.ɵɵtext(1, " Submit ");
290
+ function MfaComponent_div_8_ion_button_4_Template(rf, ctx) { if (rf & 1) {
291
+ const _r41 = i0.ɵɵgetCurrentView();
292
+ i0.ɵɵelementStart(0, "ion-button", 31);
293
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_8_ion_button_4_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r40.signIn()); })("click", function MfaComponent_div_8_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r41); const ctx_r42 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r42.signIn()); });
294
+ i0.ɵɵtext(1);
295
+ i0.ɵɵpipe(2, "translate");
205
296
  i0.ɵɵelementEnd();
297
+ } if (rf & 2) {
298
+ i0.ɵɵadvance(1);
299
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.submit"), " ");
206
300
  } }
207
- function MfaComponent_div_9_ion_button_4_Template(rf, ctx) { if (rf & 1) {
208
- const _r27 = i0.ɵɵgetCurrentView();
209
- i0.ɵɵelementStart(0, "ion-button", 28);
210
- i0.ɵɵlistener("click", function MfaComponent_div_9_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r26.submit()); });
211
- i0.ɵɵtext(1, " Submit ");
301
+ function MfaComponent_div_8_ion_button_5_Template(rf, ctx) { if (rf & 1) {
302
+ const _r44 = i0.ɵɵgetCurrentView();
303
+ i0.ɵɵelementStart(0, "ion-button", 31);
304
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_8_ion_button_5_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r43.submit()); })("click", function MfaComponent_div_8_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r44); const ctx_r45 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r45.submit()); });
305
+ i0.ɵɵtext(1);
306
+ i0.ɵɵpipe(2, "translate");
212
307
  i0.ɵɵelementEnd();
308
+ } if (rf & 2) {
309
+ i0.ɵɵadvance(1);
310
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.submit"), " ");
213
311
  } }
214
- function MfaComponent_div_9_Template(rf, ctx) { if (rf & 1) {
215
- const _r29 = i0.ɵɵgetCurrentView();
216
- i0.ɵɵelementStart(0, "div", 25)(1, "ion-button", 26);
217
- i0.ɵɵlistener("click", function MfaComponent_div_9_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.close()); });
218
- i0.ɵɵtext(2, " Close ");
312
+ function MfaComponent_div_8_Template(rf, ctx) { if (rf & 1) {
313
+ const _r47 = i0.ɵɵgetCurrentView();
314
+ i0.ɵɵelementStart(0, "div", 28)(1, "ion-button", 29);
315
+ i0.ɵɵlistener("keyup.enter", function MfaComponent_div_8_Template_ion_button_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r46.close(false)); })("click", function MfaComponent_div_8_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r47); const ctx_r48 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r48.close(false)); });
316
+ i0.ɵɵtext(2);
317
+ i0.ɵɵpipe(3, "translate");
219
318
  i0.ɵɵelementEnd();
220
- i0.ɵɵtemplate(3, MfaComponent_div_9_ion_button_3_Template, 2, 0, "ion-button", 27)(4, MfaComponent_div_9_ion_button_4_Template, 2, 0, "ion-button", 27);
319
+ i0.ɵɵtemplate(4, MfaComponent_div_8_ion_button_4_Template, 3, 3, "ion-button", 30)(5, MfaComponent_div_8_ion_button_5_Template, 3, 3, "ion-button", 30);
221
320
  i0.ɵɵelementEnd();
222
321
  } if (rf & 2) {
223
322
  const ctx_r4 = i0.ɵɵnextContext();
224
- i0.ɵɵadvance(3);
323
+ i0.ɵɵadvance(2);
324
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, "common.close"), " ");
325
+ i0.ɵɵadvance(2);
225
326
  i0.ɵɵproperty("ngIf", !ctx_r4.requestCode && ctx_r4.option.value);
226
327
  i0.ɵɵadvance(1);
227
328
  i0.ɵɵproperty("ngIf", ctx_r4.requestCode && ctx_r4.option.value);
228
329
  } }
229
330
  export class MfaComponent {
230
- constructor(ls, fb, util, nav, cs) {
331
+ constructor(ls, fb, util, nav, cs, ss, router, translateService) {
231
332
  this.ls = ls;
232
333
  this.fb = fb;
233
334
  this.util = util;
234
335
  this.nav = nav;
235
336
  this.cs = cs;
337
+ this.ss = ss;
338
+ this.router = router;
339
+ this.translateService = translateService;
236
340
  this.RESEND_CODE_ACTION_NAME = "MFA_RESEND_CODE";
237
341
  this.isChecked = false;
238
342
  this.showHelp = false;
343
+ this.hideOptValidator = true;
239
344
  this.hideButtons = false;
345
+ this.display = false;
240
346
  this.clear = new EventEmitter();
241
347
  this.success = new EventEmitter();
242
348
  this.error = new EventEmitter();
@@ -249,12 +355,16 @@ export class MfaComponent {
249
355
  { value: 'text', text: 'text' },
250
356
  { value: 'email', text: 'email' }
251
357
  ];
358
+ this.translateService.use(localStorage.getItem("language"));
252
359
  }
253
360
  ngOnChanges(changes) {
254
361
  if (changes.mfaError?.currentValue) {
255
362
  this.errorDtls = this.mfaError.msg;
256
363
  this.successDtls = null;
257
364
  }
365
+ if (changes.display.currentValue) { // window open
366
+ this.ngOnInit();
367
+ }
258
368
  }
259
369
  ngOnDestroy() {
260
370
  if (this.counterSubscription) {
@@ -262,6 +372,7 @@ export class MfaComponent {
262
372
  }
263
373
  }
264
374
  ngOnInit() {
375
+ this.translateService.use(localStorage.getItem("language"));
265
376
  this.initilizeForm();
266
377
  //this.setCountdown();
267
378
  if (this.requestCode) {
@@ -276,6 +387,9 @@ export class MfaComponent {
276
387
  else {
277
388
  this.setCountdown();
278
389
  }
390
+ setTimeout(_ => {
391
+ this.otpField.input.nativeElement.focus();
392
+ }, 100);
279
393
  }
280
394
  requestNewAuthCode(otpType) {
281
395
  this.blocked = true;
@@ -303,7 +417,7 @@ export class MfaComponent {
303
417
  initilizeForm() {
304
418
  let mfaOptions = this.user?.supportedMfaTypes?.split(",") || ['email'];
305
419
  this.otpForm = this.fb.group({
306
- 'otp': [null, [Validators.required, Validators.minLength(6)]],
420
+ 'otp': [null, Validators.compose([Validators.required, Validators.min(100000), Validators.max(999999)])],
307
421
  'checked': [false],
308
422
  'option': [mfaOptions && mfaOptions.length > 1 ? null : mfaOptions[0]]
309
423
  });
@@ -317,17 +431,23 @@ export class MfaComponent {
317
431
  get checked() {
318
432
  return this.otpForm.get('checked');
319
433
  }
320
- close() {
321
- this.clear.emit();
434
+ close(triggerExitAPI = true) {
435
+ this.util.hideLoader();
436
+ setTimeout(() => this.clear.emit(triggerExitAPI), 1000);
322
437
  }
323
438
  submit() {
324
- if (this.otpForm.valid) {
325
- this.ls.setAuthCode(this.otp.value);
326
- this.success.emit(this.data);
439
+ this.hideOptValidator = false;
440
+ if (this.otpForm.invalid) {
441
+ console.log(this.otpForm);
442
+ return;
327
443
  }
444
+ this.ls.setAuthCode(this.otp.value);
445
+ this.success.emit(this.data);
328
446
  }
329
- async signIn() {
330
- if (this.otp.invalid) {
447
+ signIn() {
448
+ this.hideOptValidator = false;
449
+ if (this.otpForm.invalid) {
450
+ console.log(this.otpForm);
331
451
  return;
332
452
  }
333
453
  let auth = {};
@@ -351,7 +471,15 @@ export class MfaComponent {
351
471
  });
352
472
  }, err => {
353
473
  this.error.emit(err);
354
- this.errorDtls = err.msg;
474
+ if (err.msg[0].includes("Claimant Account is Locked - OTP attempts exceeded")) {
475
+ console.log("Redirecting to identity proofing.");
476
+ this.util.hideLoader();
477
+ this.util.showError('Claimant Account is Locked - OTP attempts has exceeded');
478
+ this.close();
479
+ }
480
+ else {
481
+ this.errorDtls = err.msg;
482
+ }
355
483
  this.util.hideLoader();
356
484
  this.blocked = false;
357
485
  });
@@ -360,65 +488,65 @@ export class MfaComponent {
360
488
  sendOtp(event) {
361
489
  this.resendAuthCode(event.value);
362
490
  }
491
+ get AccessVerify() {
492
+ return this.translateService.instant('mfa.access.verify.six');
493
+ }
494
+ get AccessRequired() {
495
+ return this.translateService.instant('mfa.access.required');
496
+ }
497
+ get AccessConfirm() {
498
+ return this.translateService.instant('mfa.access.confirm');
499
+ }
363
500
  resendAuthCode(otpType) {
364
501
  this.successDtls = null;
365
502
  this.errorDtls = null;
366
- this.blocked = true;
367
- this.cs.generateCaptchaToken(this.RESEND_CODE_ACTION_NAME)
368
- .subscribe((token) => {
369
- this.cs.setInvisibelCaptcha(token);
370
- this.ls
371
- .generateOtp(this.user.username, otpType)
372
- .subscribe(res => {
373
- this.blocked = false;
374
- this.successDtls = "Access code sent successfully.";
375
- this.counter.next(60);
376
- this.setCountdown();
377
- }, err => {
378
- this.successDtls = null;
379
- this.blocked = false;
380
- this.errorDtls = err.msg;
381
- });
382
- }, err => {
503
+ otpType = "TEX"; //This has to be changed in the backend once mfaPreference is saved
504
+ this.ls.generateOtp(this.user.username, otpType).subscribe((res) => {
505
+ this.blocked = false;
506
+ this.successDtls = 'Access code sent successfully.';
507
+ this.counter.next(60);
508
+ this.setCountdown();
509
+ }, (err) => {
383
510
  this.successDtls = null;
384
511
  this.blocked = false;
385
- this.errorDtls = 'Captcha verification failed. Please retry.';
386
- console.log('error while verifying captcha', err);
512
+ this.errorDtls = err.msg;
387
513
  });
388
514
  }
389
- static { this.ɵfac = function MfaComponent_Factory(t) { return new (t || MfaComponent)(i0.ɵɵdirectiveInject(i1.LoginService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.CaptchaService)); }; }
515
+ static { this.ɵfac = function MfaComponent_Factory(t) { return new (t || MfaComponent)(i0.ɵɵdirectiveInject(i1.LoginService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i5.CaptchaService), i0.ɵɵdirectiveInject(i6.SecurityService), i0.ɵɵdirectiveInject(i7.Router), i0.ɵɵdirectiveInject(i8.TranslateService)); }; }
390
516
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MfaComponent, selectors: [["app-mfa"]], viewQuery: function MfaComponent_Query(rf, ctx) { if (rf & 1) {
391
517
  i0.ɵɵviewQuery(_c0, 5);
392
518
  } if (rf & 2) {
393
519
  let _t;
394
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.otpFormDirective = _t.first);
395
- } }, inputs: { user: "user", heading: "heading", requestCode: "requestCode", data: "data", mfaError: "mfaError", hideButtons: "hideButtons" }, outputs: { clear: "clear", success: "success", error: "error" }, features: [i0.ɵɵNgOnChangesFeature], decls: 10, vars: 8, consts: [[3, "formGroup"], ["otpFormDirective", "ngForm"], [1, "heading", 2, "padding-left", "10px"], ["style", "padding-left: 10px;", 4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], ["class", "ion-text-right ion-padding-bottom", 4, "ngIf"], [2, "padding-left", "10px"], [1, "ion-padding-top", "p-formgrid", "p-grid"], [1, "field", "ion-text-left"], ["for", "otpType"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onChange"], [1, "ion-padding-top"], [4, "ngIf"], ["for", "authCode"], ["formControlName", "otp", "maxlength", "6", "minlength", "6", "mode", "decimal", "size", "6", 3, "useGrouping", "inputId"], [3, "field", "form", "errDef"], ["lines", "none", 4, "ngIf"], ["style", "color: var(--ion-color-green)", 4, "ngIf"], [1, "link", 3, "click"], ["lines", "none"], ["slot", "start", "formControlName", "checked"], [1, "ion-text-wrap"], [2, "color", "var(--ion-color-green)"], [1, "ion-text-center"], ["name", "dots"], [1, "ion-text-right", "ion-padding-bottom"], ["shape", "round", "type", "reset", "color", "success", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "color", "success", 3, "click", 4, "ngIf"], ["shape", "round", "type", "submit", "color", "success", 3, "click"]], template: function MfaComponent_Template(rf, ctx) { if (rf & 1) {
520
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.otpField = _t.first);
521
+ } }, inputs: { user: "user", heading: "heading", requestCode: "requestCode", data: "data", mfaError: "mfaError", hideButtons: "hideButtons", returningUser: "returningUser", display: "display" }, outputs: { clear: "clear", success: "success", error: "error" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 6, consts: [[3, "formGroup"], ["otpFormDirective", "ngForm"], [1, "heading", 2, "padding-left", "10px"], ["style", "padding-left: 10px;", 4, "ngIf"], ["class", "ion-text-center", 4, "ngIf"], ["class", "ion-text-right ion-padding-bottom", 4, "ngIf"], [2, "padding-left", "10px"], [1, "ion-padding-top", "p-formgrid", "p-grid"], [1, "field", "ion-text-left"], ["for", "otpType"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onChange"], [1, "ion-padding-top"], [4, "ngIf"], ["for", "authCode", 4, "ngIf"], ["formControlName", "otp", "maxlength", "6", "minlength", "6", "mode", "decimal", "size", "6", "autocomplete", "off", 3, "useGrouping", "inputId", "click", "keyup", "keyup.enter"], ["otpField", ""], [3, "field", "form", "errDef", 4, "ngIf"], ["lines", "none", 4, "ngIf"], ["style", "color: var(--ion-color-green)", 4, "ngIf"], ["for", "authCode"], [3, "field", "form", "errDef"], ["lines", "none"], ["slot", "start", "formControlName", "checked"], [1, "ion-text-wrap"], [2, "color", "var(--ion-color-green)"], ["tabindex", "0", 1, "link", 3, "keyup.enter", "click"], [1, "ion-text-center"], ["name", "dots"], [1, "ion-text-right", "ion-padding-bottom"], ["tabindex", "0", "shape", "round", "type", "reset", "color", "success", "fill", "outline", 3, "keyup.enter", "click"], ["tabindex", "0", "shape", "round", "type", "submit", "color", "success", 3, "keyup.enter", "click", 4, "ngIf"], ["tabindex", "0", "shape", "round", "type", "submit", "color", "success", 3, "keyup.enter", "click"]], template: function MfaComponent_Template(rf, ctx) { if (rf & 1) {
396
522
  i0.ɵɵelementStart(0, "form", 0, 1)(2, "h4", 2);
397
523
  i0.ɵɵtext(3);
398
- i0.ɵɵpipe(4, "translate");
399
524
  i0.ɵɵelementEnd();
400
- i0.ɵɵtemplate(5, MfaComponent_div_5_Template, 7, 5, "div", 3)(6, MfaComponent_div_6_Template, 23, 16, "div", 3);
401
- i0.ɵɵelementStart(7, "p-footer");
402
- i0.ɵɵtemplate(8, MfaComponent_div_8_Template, 2, 0, "div", 4)(9, MfaComponent_div_9_Template, 5, 2, "div", 5);
525
+ i0.ɵɵtemplate(4, MfaComponent_div_4_Template, 7, 5, "div", 3)(5, MfaComponent_div_5_Template, 24, 16, "div", 3);
526
+ i0.ɵɵelementStart(6, "p-footer");
527
+ i0.ɵɵtemplate(7, MfaComponent_div_7_Template, 2, 0, "div", 4)(8, MfaComponent_div_8_Template, 6, 5, "div", 5);
403
528
  i0.ɵɵelementEnd()();
404
529
  } if (rf & 2) {
405
530
  i0.ɵɵproperty("formGroup", ctx.otpForm);
406
531
  i0.ɵɵadvance(3);
407
- i0.ɵɵtextInterpolate(ctx.heading ? ctx.heading : i0.ɵɵpipeBind1(4, 6, "Confirm access to your account"));
408
- i0.ɵɵadvance(2);
409
- i0.ɵɵproperty("ngIf", !ctx.option.value);
532
+ i0.ɵɵtextInterpolate(ctx.heading ? ctx.heading : ctx.AccessConfirm);
533
+ i0.ɵɵadvance(1);
534
+ i0.ɵɵproperty("ngIf", !ctx.option.value && !ctx.returningUser);
410
535
  i0.ɵɵadvance(1);
411
536
  i0.ɵɵproperty("ngIf", ctx.option.value);
412
537
  i0.ɵɵadvance(2);
413
538
  i0.ɵɵproperty("ngIf", ctx.blocked);
414
539
  i0.ɵɵadvance(1);
415
540
  i0.ɵɵproperty("ngIf", !ctx.blocked && !ctx.hideButtons);
416
- } }, dependencies: [i4.IonButton, i4.IonCheckbox, i4.IonItem, i4.IonLabel, i4.IonSpinner, i4.BooleanValueAccessor, i6.NgIf, i7.Footer, i8.MatError, i2.ɵNgNoValidate, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i2.FormControlName, i9.SelectButton, i10.InputNumber, i11.ErrorComponent, i12.TranslatePipe, i13.MaskEmailPipe], styles: ["[_nghost-%COMP%] .panel{box-shadow:none!important}"] }); }
541
+ } }, dependencies: [i4.IonButton, i4.IonCheckbox, i4.IonItem, i4.IonLabel, i4.IonSpinner, i4.BooleanValueAccessor, i9.NgIf, i10.Footer, i11.MatError, i2.ɵNgNoValidate, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i2.FormControlName, i12.SelectButton, i13.InputNumber, i14.ErrorComponent, i8.TranslatePipe, i15.MaskEmailPipe], styles: ["[_nghost-%COMP%] .panel{box-shadow:none!important}"] }); }
417
542
  }
418
543
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MfaComponent, [{
419
544
  type: Component,
420
- args: [{ selector: 'app-mfa', template: "<form [formGroup]=\"otpForm\" #otpFormDirective=\"ngForm\">\r\n <h4 style=\"padding-left: 10px;\" class=\"heading\">{{ heading ? heading : 'Confirm access to your account' | translate}}</h4>\r\n\r\n <div style=\"padding-left: 10px;\" *ngIf=\"!option.value\">\r\n <div class=\"ion-padding-top p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\">\r\n <label for=\"otpType\">{{'How would you like us to send your access code?' | translate}}</label>\r\n <p-selectButton [options]=\"options\" optionLabel=\"text\" optionValue=\"value\" [formControl]=\"option\" (onChange)=\"sendOtp($event)\"></p-selectButton>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div style=\"padding-left: 10px;\" *ngIf=\"option.value\">\r\n <div class=\"ion-padding-top\">\r\n <ion-label>\r\n <span *ngIf=\"option.value == 'email'\">An access code has been sent to your email address:&nbsp; <b>{{user?.emailId | maskEmail}}</b></span>\r\n <span *ngIf=\"option.value == 'text'\">An access code has been sent to your cellphone:&nbsp; <b>{{user?.cellphoneNo | maskEmail}}</b></span>\r\n </ion-label><br/><br/>\r\n <ion-label *ngIf=\"option.value == 'email'\">\r\n Check your junk folder if you don't see it in your inbox.\r\n </ion-label>\r\n <span *ngIf=\"option.value == 'email'\"><br/><br/></span>\r\n <div class=\"field ion-text-left\">\r\n <label for=\"authCode\">Enter code</label><br/>\r\n <p-inputNumber formControlName=\"otp\" maxlength=\"6\" minlength=\"6\" mode=\"decimal\" [useGrouping]=\"false\" size=\"6\" [inputId]=\"'authCode'\">\r\n </p-inputNumber>\r\n <app-error [field]='otp' [form]=\"otpFormDirective\" [errDef]=\"{ \r\n required: 'Access code is required.',\r\n minlength: 'Access code should have 6 numbers.'\r\n }\"></app-error>\r\n </div>\r\n <ion-item lines=\"none\" *ngIf=\"false\">\r\n <ion-checkbox slot=\"start\" formControlName=\"checked\"></ion-checkbox>\r\n <ion-label class=\"ion-text-wrap\">{{'I trust this browser.' | translate}}</ion-label>\r\n </ion-item>\r\n </div>\r\n \r\n <mat-error *ngIf=\"errorDtls\">{{errorDtls}}<br /><br /></mat-error>\r\n <ion-label *ngIf=\"successDtls\" style=\"color: var(--ion-color-green)\">{{successDtls}}<br/><br /></ion-label>\r\n <ion-label *ngIf=\"!blocked\">\r\n <span *ngIf=\"counter.getValue() != 1\">\r\n Haven't received the code? Resend option available in <b>{{counter.getValue()}} second(s)</b>.\r\n </span>\r\n <span *ngIf=\"counter.getValue() == 1\">\r\n <a (click)=\"resendAuthCode(option.value)\" class=\"link\">Get new code</a>\r\n </span>\r\n </ion-label>\r\n <p><a class=\"link\" (click)=\"showHelp = !showHelp; $event.preventDefault()\">Can't get to your {{option.value == 'text' ? 'cellphone' : 'email'}}?</a></p>\r\n <p *ngIf=\"showHelp\">\r\n Your code is good for 15 minutes. You can try again later.<br/>\r\n or<br/>\r\n If your {{option.value == 'text' ? 'cellphone number' : 'email address'}} has changed call MDES at 601-493-9427, Monday through Friday from 8 am to 5 pm.\r\n </p>\r\n </div>\r\n\r\n <p-footer>\r\n <div *ngIf=\"blocked\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div class=\"ion-text-right ion-padding-bottom\" *ngIf=\"!blocked && !hideButtons\">\r\n <ion-button shape=\"round\" type=\"reset\" (click)=\"close()\" color=\"success\" fill=\"outline\">\r\n Close\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"signIn()\" color=\"success\" *ngIf=\"!requestCode && option.value\">\r\n Submit\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"submit()\" color=\"success\" *ngIf=\"requestCode && option.value\">\r\n Submit\r\n </ion-button>\r\n </div>\r\n </p-footer>\r\n</form>", styles: [":host ::ng-deep .panel{box-shadow:none!important}\n"] }]
421
- }], () => [{ type: i1.LoginService }, { type: i2.UntypedFormBuilder }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.CaptchaService }], { user: [{
545
+ args: [{ selector: 'app-mfa', template: "<form [formGroup]=\"otpForm\" #otpFormDirective=\"ngForm\">\r\n <h4 style=\"padding-left: 10px;\" class=\"heading\">{{ heading ? heading : AccessConfirm}}</h4>\r\n\r\n <div style=\"padding-left: 10px;\" *ngIf=\"!option.value && !returningUser\">\r\n <div class=\"ion-padding-top p-formgrid p-grid\">\r\n <div class=\"field ion-text-left\">\r\n <label for=\"otpType\">{{'mfa.how.send'|translate}}</label>\r\n <p-selectButton [options]=\"options\" optionLabel=\"text\" optionValue=\"value\" [formControl]=\"option\" (onChange)=\"sendOtp($event)\"></p-selectButton>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div style=\"padding-left: 10px;\" *ngIf=\"option.value\">\r\n <div class=\"ion-padding-top\">\r\n <ion-label>\r\n <span *ngIf=\"option.value == 'email' && !returningUser\">{{'mfa.code.sent.email'|translate}}:&nbsp; <b>{{user?.emailId | maskEmail}}</b></span>\r\n <span *ngIf=\"option.value == 'text' && !returningUser\">{{'mfa.code.sent.cell'|translate}}&nbsp; <b>{{user?.cellphoneNo | maskEmail}}</b></span>\r\n <span *ngIf=\"returningUser\">{{'mfa.code.sent.cell'|translate}}&nbsp; <b>{{user?.cellphoneNo | maskEmail}}</b></span>\r\n </ion-label><br/><br/>\r\n <ion-label *ngIf=\"option.value == 'email' && !returningUser\">\r\n {{'mfa.code.sent.junk'|translate}}\r\n </ion-label>\r\n <span *ngIf=\"option.value == 'email' && !returningUser\"><br/><br/></span>\r\n <div class=\"field ion-text-left\">\r\n <label for=\"authCode\" *ngIf=\"!returningUser\">{{'mfa.enter.code'|translate}}</label><br/>\r\n <label for=\"authCode\" *ngIf=\"returningUser\">{{'mfa.enter.code.received'|translate}}</label><br/>\r\n <p-inputNumber (click)=\"hideOptValidator=false\" (keyup)=\"hideOptValidator=false\" #otpField formControlName=\"otp\" maxlength=\"6\" minlength=\"6\" mode=\"decimal\" [useGrouping]=\"false\" size=\"6\" [inputId]=\"'authCode'\" autocomplete=\"off\" (keyup.enter)=\"(!requestCode && option.value) ? signIn() : submit()\">\r\n </p-inputNumber>\r\n <app-error *ngIf=\"!hideOptValidator\" [field]='otp' [form]=\"otpForm\" [errDef]=\"{ \r\n required: AccessRequired,\r\n min: AccessVerify,\r\n max: AccessVerify\r\n }\"></app-error>\r\n </div>\r\n <ion-item lines=\"none\" *ngIf=\"false\">\r\n <ion-checkbox slot=\"start\" formControlName=\"checked\"></ion-checkbox>\r\n <ion-label class=\"ion-text-wrap\">{{'mfa.browser.trust'|translate}}</ion-label>\r\n </ion-item>\r\n </div>\r\n \r\n <mat-error *ngIf=\"errorDtls\">{{errorDtls}}<br /><br /></mat-error>\r\n <ion-label *ngIf=\"successDtls\" style=\"color: var(--ion-color-green)\">{{successDtls}}<br/><br /></ion-label>\r\n <ion-label *ngIf=\"!blocked\">\r\n <span *ngIf=\"counter.getValue() != 1 && !returningUser\">\r\n {{'mfa.code.not.received'|translate}} <b>{{counter.getValue()}} second(s)</b>.\r\n </span>\r\n <span *ngIf=\"counter.getValue() == 1 && !returningUser\">\r\n <a tabindex=\"0\" (keyup.enter)=\"resendAuthCode(option.value)\" (click)=\"resendAuthCode(option.value)\" class=\"link\">{{'mfa.get.new.code'|translate}}</a>\r\n </span>\r\n <span *ngIf=\"counter.getValue() == 1 && returningUser\">\r\n <a tabindex=\"0\" (keyup.enter)=\"resendAuthCode(option.value)\" (click)=\"resendAuthCode(option.value)\" class=\"link\"> {{'mfa.resend.verification.code'|translate}}</a>\r\n </span>\r\n </ion-label>\r\n <p *ngIf=\"!returningUser\"><a tabindex=\"0\" class=\"link\" (keyup.enter)=\"showHelp = !showHelp; $event.preventDefault()\" (click)=\"showHelp = !showHelp; $event.preventDefault()\">Can't get to your {{option.value == 'text' ? 'cellphone' : 'email'}}?</a></p>\r\n <!-- <p *ngIf=\"returningUser\"><a tabindex=\"0\" class=\"link\" (keyup.enter)=\"close()\" (click)=\"close()\">Unable to verify</a></p> -->\r\n <p *ngIf=\"showHelp && !returningUser\">\r\n {{'mfa.good.for.time'|translate}}<br/>\r\n or<br/>\r\n If your {{option.value == 'text' ? 'cellphone number' : 'email address'}} has changed call KDOL at 785-575-1460, Monday through Friday from 8 am to 4:30 pm.\r\n </p>\r\n </div>\r\n\r\n <p-footer>\r\n <div *ngIf=\"blocked\" class=\"ion-text-center\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </div>\r\n <div class=\"ion-text-right ion-padding-bottom\" *ngIf=\"!blocked && !hideButtons\">\r\n <ion-button tabindex=\"0\" shape=\"round\" type=\"reset\" (keyup.enter)=\"close(false)\" (click)=\"close(false)\" color=\"success\" fill=\"outline\">\r\n {{'common.close'|translate}}\r\n </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" type=\"submit\" (keyup.enter)=\"signIn()\" (click)=\"signIn()\" color=\"success\" *ngIf=\"!requestCode && option.value\">\r\n {{'common.submit'|translate}}\r\n </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" type=\"submit\" (keyup.enter)=\"submit()\" (click)=\"submit()\" color=\"success\" *ngIf=\"requestCode && option.value\">\r\n {{'common.submit'|translate}}\r\n </ion-button>\r\n </div>\r\n </p-footer>\r\n</form>", styles: [":host ::ng-deep .panel{box-shadow:none!important}\n"] }]
546
+ }], () => [{ type: i1.LoginService }, { type: i2.UntypedFormBuilder }, { type: i3.UtilService }, { type: i4.NavController }, { type: i5.CaptchaService }, { type: i6.SecurityService }, { type: i7.Router }, { type: i8.TranslateService }], { otpField: [{
547
+ type: ViewChild,
548
+ args: ["otpField"]
549
+ }], user: [{
422
550
  type: Input
423
551
  }], heading: [{
424
552
  type: Input
@@ -430,15 +558,16 @@ export class MfaComponent {
430
558
  type: Input
431
559
  }], hideButtons: [{
432
560
  type: Input
561
+ }], returningUser: [{
562
+ type: Input
563
+ }], display: [{
564
+ type: Input
433
565
  }], clear: [{
434
566
  type: Output
435
567
  }], success: [{
436
568
  type: Output
437
569
  }], error: [{
438
570
  type: Output
439
- }], otpFormDirective: [{
440
- type: ViewChild,
441
- args: ['otpFormDirective', { static: false }]
442
571
  }] }); })();
443
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MfaComponent, { className: "MfaComponent", filePath: "lib\\components\\mfa\\mfa.component.ts", lineNumber: 18 }); })();
444
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZmEvbWZhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZmEvbWZhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFnRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDRHBDLDhCQUF1RCxhQUFBLGFBQUEsZUFBQTtJQUc1QixZQUFpRTs7SUFBQSxpQkFBUTtJQUM5RiwwQ0FBK0g7SUFBN0IsNktBQVksZUFBQSxzQkFBZSxDQUFBLElBQUM7SUFBQyxpQkFBaUIsRUFBQSxFQUFBLEVBQUE7OztJQUQzSCxlQUFpRTtJQUFqRSw2RkFBaUU7SUFDdEUsZUFBbUI7SUFBbkIsd0NBQW1CLDhCQUFBOzs7SUFRbkMsNEJBQXNDO0lBQUEsMEVBQTBEO0lBQUEseUJBQUc7SUFBQSxZQUE2Qjs7SUFBQSxpQkFBSSxFQUFBOzs7SUFBakMsZUFBNkI7SUFBN0IsNEZBQTZCOzs7SUFDaEksNEJBQXFDO0lBQUEsc0VBQXNEO0lBQUEseUJBQUc7SUFBQSxZQUFpQzs7SUFBQSxpQkFBSSxFQUFBOzs7SUFBckMsZUFBaUM7SUFBakMsZ0dBQWlDOzs7SUFFakksaUNBQTJDO0lB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O1lBQTlCLHVEQUE4Qjs7O2lGRDFDckUsWUFBWTtjQUx4QixTQUFTOzJCQUNFLFNBQVM7aUtBaUJuQixJQUFJO2tCQURILEtBQUs7WUFLTixPQUFPO2tCQUROLEtBQUs7WUFLTixXQUFXO2tCQURWLEtBQUs7WUFLTixJQUFJO2tCQURILEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixXQUFXO2tCQURWLEtBQUs7WUFHSSxLQUFLO2tCQUFkLE1BQU07WUFFRyxPQUFPO2tCQUFoQixNQUFNO1lBRUcsS0FBSztrQkFBZCxNQUFNO1lBR0EsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUMsTUFBTSxFQUFHLEtBQUssRUFBQzs7a0ZBdkNwQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JNb2RlbCc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1tZmEnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWZhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWZhLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTWZhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgcHJpdmF0ZSBSRVNFTkRfQ09ERV9BQ1RJT05fTkFNRSA9IFwiTUZBX1JFU0VORF9DT0RFXCI7XG4gIFxuICBwdWJsaWMgc3VjY2Vzc0R0bHM7XG5cbiAgcHVibGljIGJsb2NrZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGlzQ2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzaG93SGVscDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgLy9JZiBzcGVjaWZpZWQsIGl0IHdpbGwgY2hhbmdlIHRoZSBkZWZhdWx0IGhlYWRpbmcgb24gdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBvbmNlIHNwZWNpZmllZCBpbiB0aGlzIGZpZWxkLlxuICBASW5wdXQoKVxuICBoZWFkaW5nIDogc3RyaW5nO1xuXG4gIC8vUmVxdWVzdCBuZXcgYXV0aGNvZGUgd2hlbiBjb21wb25lbnRzIGxvYWQuXG4gIEBJbnB1dCgpXG4gIHJlcXVlc3RDb2RlIDogYm9vbGVhbjtcblxuICAvL1Bhc3MgdGhpcyBkYXRhIGFsb25nIHdpdGggb3V0cHV0IHNvIHRoYXQgY2FsbGluZyBjb21wb25lbnQgY2FuIHRha2UgY2FyZSBvZiBpdC5cbiAgQElucHV0KClcbiAgZGF0YSA6IGFueTtcblxuICBASW5wdXQoKVxuICBtZmFFcnJvciA6IEVycm9yTW9kZWw7XG5cbiAgQElucHV0KClcbiAgaGlkZUJ1dHRvbnMgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KCkgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdvdHBGb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgXG4gIHB1YmxpYyBvdHBGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgcHVibGljIG90cEZvcm0gOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBlcnJvckR0bHM7XG5cbiAgcHVibGljIHRpbWUgPSA2MFxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKDEwMDApOyAvLzFzXG4gIHB1YmxpYyB0aW1lciA9IHRpbWVyKDYwMDAwKTsgLy85MHNcbiAgcHVibGljIGNvdW50RG93biA9IHRoaXMudGltZXJJbnRlcnZhbC5waXBlKHRha2UodGhpcy50aW1lKSk7XG4gIHB1YmxpYyBjb3VudGVyIDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuICBjb3VudGVyU3Vic2NyaXB0aW9uIDogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyBvcHRpb25zIDogQ29tYm9PcHRpb25bXSA9IFtcbiAgICB7dmFsdWUgOiAndGV4dCcsIHRleHQgOiAndGV4dCd9LFxuICAgIHt2YWx1ZSA6ICdlbWFpbCcsIHRleHQgOiAnZW1haWwnfVxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgZmIgOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBuYXYgOiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGNzOiBDYXB0Y2hhU2VydmljZSkgeyBcbiAgICAgICAgICAgICAgICBcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLm1mYUVycm9yPy5jdXJyZW50VmFsdWUpe1xuICAgICAgdGhpcy5lcnJvckR0bHMgPSB0aGlzLm1mYUVycm9yLm1zZztcbiAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgIH1cbiAgfVxuICBcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYodGhpcy5jb3VudGVyU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdGlsaXplRm9ybSgpO1xuICAgIC8vdGhpcy5zZXRDb3VudGRvd24oKTtcbiAgICBpZih0aGlzLnJlcXVlc3RDb2RlKXtcbiAgICAgIGxldCBtZmFPcHRpb25zID0gdGhpcy51c2VyPy5zdXBwb3J0ZWRNZmFUeXBlcz8uc3BsaXQoXCIsXCIpIHx8IFsnZW1haWwnXTtcbiAgICAgIGlmKG1mYU9wdGlvbnMubGVuZ3RoID4gMSl7XG4gICAgICAgIC8vYWxsb3cgdXNlciB0byBjaG9vc2Ugb3RwIG9wdGlvblxuICAgICAgfSBlbHNle1xuICAgICAgICB0aGlzLnJlcXVlc3ROZXdBdXRoQ29kZSgnZW1haWwnKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRDb3VudGRvd24oKTtcbiAgICB9XG4gIH1cblxuICByZXF1ZXN0TmV3QXV0aENvZGUob3RwVHlwZSA6IHN0cmluZyl7XG4gICAgdGhpcy5ibG9ja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmxzLmdldE5ld0F1dGhDb2RlKG90cFR5cGUpXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gXCJBY2Nlc3MgY29kZSBzZW50IHN1Y2Nlc3NmdWxseS5cIjtcbiAgICAgICAgICB0aGlzLmNvdW50ZXIubmV4dCg2MCk7XG4gICAgICAgICAgdGhpcy5zZXRDb3VudGRvd24oKTtcbiAgICAgICAgfSwgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmVycm9yRHRscyA9IGVyci5tc2c7XG4gICAgICAgIH0pXG4gIH1cblxuICBzZXRDb3VudGRvd24oKXtcbiAgICBpZih0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24pe1xuICAgICAgdGhpcy5jb3VudGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuY291bnRlclN1YnNjcmlwdGlvbiA9IHRoaXMuY291bnREb3duLnN1YnNjcmliZSh2YWwgPT57XG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLnRpbWUgLSB2YWw7XG4gICAgICB0aGlzLmNvdW50ZXIubmV4dCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0aWxpemVGb3JtKCl7XG4gICAgbGV0IG1mYU9wdGlvbnMgPSB0aGlzLnVzZXI/LnN1cHBvcnRlZE1mYVR5cGVzPy5zcGxpdChcIixcIikgfHwgWydlbWFpbCddO1xuICAgIHRoaXMub3RwRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgJ290cCcgOiBbbnVsbCAsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCAgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildXSxcbiAgICAgICdjaGVja2VkJyA6IFtmYWxzZV0sXG4gICAgICAnb3B0aW9uJyA6IFsgbWZhT3B0aW9ucyAmJiBtZmFPcHRpb25zLmxlbmd0aCA+IDEgPyBudWxsIDogbWZhT3B0aW9uc1swXV1cbiAgICB9KTtcbiAgfVxuXG4gIGdldCBvdHAoKXtcbiAgICByZXR1cm4gdGhpcy5vdHBGb3JtLmdldCgnb3RwJyk7XG4gIH1cblxuICBnZXQgb3B0aW9uKCl7XG4gICAgcmV0dXJuIHRoaXMub3RwRm9ybS5nZXQoJ29wdGlvbicpO1xuICB9XG5cbiAgZ2V0IGNoZWNrZWQoKXtcbiAgICByZXR1cm4gdGhpcy5vdHBGb3JtLmdldCgnY2hlY2tlZCcpO1xuICB9XG5cbiAgY2xvc2UoKXtcbiAgICB0aGlzLmNsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHN1Ym1pdCgpe1xuICAgIGlmKHRoaXMub3RwRm9ybS52YWxpZCl7XG4gICAgICB0aGlzLmxzLnNldEF1dGhDb2RlKHRoaXMub3RwLnZhbHVlKTtcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbkluKCl7XG4gICAgaWYodGhpcy5vdHAuaW52YWxpZCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBhdXRoIDogYW55ID0ge307XG4gICAgYXV0aC51c2VySWQgPSB0aGlzLnVzZXIudXNlcm5hbWU7XG4gICAgYXV0aC5wYXNzd29yZCA9IHRoaXMudXNlci5wYXNzd29yZDtcbiAgICBhdXRoLm90cCA9IHRoaXMub3RwLnZhbHVlO1xuICAgIGF1dGguaXN0cnVzdGVkRGV2aWNlID0gdGhpcy5jaGVja2VkLnZhbHVlICsgXCJcIjtcbiAgICB0aGlzLmJsb2NrZWQgPSB0cnVlO1xuICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgIHRoaXMuZXJyb3JEdGxzID0gbnVsbDtcbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxzLmxvZ2luQW5kQ2hlY2tGb3JNRkEoYXV0aClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHVzZXJNb2RlbCA6IFVzZXJNb2RlbCA9IHJlcztcbiAgICAgICAgICAgICAgICB0aGlzLmxzLnNldFVzZXIodXNlck1vZGVsKS50aGVuKFxuICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ibG9ja2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9yRHRscyA9IGVyci5tc2c7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgfVxuXG4gIHNlbmRPdHAoZXZlbnQpe1xuICAgIHRoaXMucmVzZW5kQXV0aENvZGUoZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgcmVzZW5kQXV0aENvZGUob3RwVHlwZSA6IHN0cmluZyl7XG4gICAgdGhpcy5zdWNjZXNzRHRscyA9IG51bGw7XG4gICAgdGhpcy5lcnJvckR0bHMgPSBudWxsO1xuICAgIHRoaXMuYmxvY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jcy5nZW5lcmF0ZUNhcHRjaGFUb2tlbih0aGlzLlJFU0VORF9DT0RFX0FDVElPTl9OQU1FKVxuICAgICAgICAuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy5jcy5zZXRJbnZpc2liZWxDYXB0Y2hhKHRva2VuKTtcbiAgICAgICAgICB0aGlzLmxzXG4gICAgICAgICAgICAgIC5nZW5lcmF0ZU90cCh0aGlzLnVzZXIudXNlcm5hbWUsIG90cFR5cGUpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gXCJBY2Nlc3MgY29kZSBzZW50IHN1Y2Nlc3NmdWxseS5cIjtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50ZXIubmV4dCg2MCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRDb3VudGRvd24oKTtcbiAgICAgICAgICAgICAgfSxlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JEdGxzID0gZXJyLm1zZztcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xuICAgICAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5lcnJvckR0bHMgPSAnQ2FwdGNoYSB2ZXJpZmljYXRpb24gZmFpbGVkLiBQbGVhc2UgcmV0cnkuJztcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yIHdoaWxlIHZlcmlmeWluZyBjYXB0Y2hhJyxlcnIpO1xuICAgICAgICB9KTtcbiAgICBcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJvdHBGb3JtXCIgI290cEZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICA8aDQgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDEwcHg7XCIgY2xhc3M9XCJoZWFkaW5nXCI+e3sgaGVhZGluZyA/IGhlYWRpbmcgOiAnQ29uZmlybSBhY2Nlc3MgdG8geW91ciBhY2NvdW50JyB8IHRyYW5zbGF0ZX19PC9oND5cclxuXHJcbiAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTBweDtcIiAqbmdJZj1cIiFvcHRpb24udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3AgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGlvbi10ZXh0LWxlZnRcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwib3RwVHlwZVwiPnt7J0hvdyB3b3VsZCB5b3UgbGlrZSB1cyB0byBzZW5kIHlvdXIgYWNjZXNzIGNvZGU/JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwib3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbZm9ybUNvbnRyb2xdPVwib3B0aW9uXCIgKG9uQ2hhbmdlKT1cInNlbmRPdHAoJGV2ZW50KVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDEwcHg7XCIgKm5nSWY9XCJvcHRpb24udmFsdWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbi52YWx1ZSA9PSAnZW1haWwnXCI+QW4gYWNjZXNzIGNvZGUgaGFzIGJlZW4gc2VudCB0byB5b3VyIGVtYWlsIGFkZHJlc3M6Jm5ic3A7IDxiPnt7dXNlcj8uZW1haWxJZCB8IG1hc2tFbWFpbH19PC9iPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbi52YWx1ZSA9PSAndGV4dCdcIj5BbiBhY2Nlc3MgY29kZSBoYXMgYmVlbiBzZW50IHRvIHlvdXIgY2VsbHBob25lOiZuYnNwOyA8Yj57e3VzZXI/LmNlbGxwaG9uZU5vIHwgbWFza0VtYWlsfX08L2I+PC9zcGFuPlxyXG4gICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgIDxpb24tbGFiZWwgKm5nSWY9XCJvcHRpb24udmFsdWUgPT0gJ2VtYWlsJ1wiPlxyXG4gICAgICAgIENoZWNrIHlvdXIganVuayBmb2xkZXIgaWYgeW91IGRvbid0IHNlZSBpdCBpbiB5b3VyIGluYm94LlxyXG4gICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb24udmFsdWUgPT0gJ2VtYWlsJ1wiPjxici8+PGJyLz48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImF1dGhDb2RlXCI+RW50ZXIgY29kZTwvbGFiZWw+PGJyLz5cclxuICAgICAgICA8cC1pbnB1dE51bWJlciBmb3JtQ29udHJvbE5hbWU9XCJvdHBcIiBtYXhsZW5ndGg9XCI2XCIgbWlubGVuZ3RoPVwiNlwiIG1vZGU9XCJkZWNpbWFsXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgc2l6ZT1cIjZcIiBbaW5wdXRJZF09XCInYXV0aENvZGUnXCI+XHJcbiAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0nb3RwJyBbZm9ybV09XCJvdHBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgcmVxdWlyZWQ6ICdBY2Nlc3MgY29kZSBpcyByZXF1aXJlZC4nLFxyXG4gICAgICAgICAgbWlubGVuZ3RoOiAnQWNjZXNzIGNvZGUgc2hvdWxkIGhhdmUgNiBudW1iZXJzLidcclxuICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICAgIDxpb24tY2hlY2tib3ggc2xvdD1cInN0YXJ0XCIgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tlZFwiPjwvaW9uLWNoZWNrYm94PlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJpb24tdGV4dC13cmFwXCI+e3snSSB0cnVzdCB0aGlzIGJyb3dzZXIuJyB8IHRyYW5zbGF0ZX19PC9pb24tbGFiZWw+XHJcbiAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPG1hdC1lcnJvciAqbmdJZj1cImVycm9yRHRsc1wiPnt7ZXJyb3JEdGxzfX08YnIgLz48YnIgLz48L21hdC1lcnJvcj5cclxuICAgIDxpb24tbGFiZWwgKm5nSWY9XCJzdWNjZXNzRHRsc1wiIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmVlbilcIj57e3N1Y2Nlc3NEdGxzfX08YnIvPjxiciAvPjwvaW9uLWxhYmVsPlxyXG4gICAgPGlvbi1sYWJlbCAqbmdJZj1cIiFibG9ja2VkXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiY291bnRlci5nZXRWYWx1ZSgpICE9IDFcIj5cclxuICAgICAgICBIYXZlbid0IHJlY2VpdmVkIHRoZSBjb2RlPyBSZXNlbmQgb3B0aW9uIGF2YWlsYWJsZSBpbiA8Yj57e2NvdW50ZXIuZ2V0VmFsdWUoKX19IHNlY29uZChzKTwvYj4uXHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudGVyLmdldFZhbHVlKCkgPT0gMVwiPlxyXG4gICAgICAgICA8YSAoY2xpY2spPVwicmVzZW5kQXV0aENvZGUob3B0aW9uLnZhbHVlKVwiIGNsYXNzPVwibGlua1wiPkdldCBuZXcgY29kZTwvYT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9pb24tbGFiZWw+XHJcbiAgICA8cD48YSBjbGFzcz1cImxpbmtcIiAoY2xpY2spPVwic2hvd0hlbHAgPSAhc2hvd0hlbHA7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+Q2FuJ3QgZ2V0IHRvIHlvdXIge3tvcHRpb24udmFsdWUgPT0gJ3RleHQnID8gJ2NlbGxwaG9uZScgOiAnZW1haWwnfX0/PC9hPjwvcD5cclxuICAgIDxwICpuZ0lmPVwic2hvd0hlbHBcIj5cclxuICAgICAgWW91ciBjb2RlIGlzIGdvb2QgZm9yIDE1IG1pbnV0ZXMuIFlvdSBjYW4gdHJ5IGFnYWluIGxhdGVyLjxici8+XHJcbiAgICAgIG9yPGJyLz5cclxuICAgICAgSWYgeW91ciB7e29wdGlvbi52YWx1ZSA9PSAndGV4dCcgPyAnY2VsbHBob25lIG51bWJlcicgOiAnZW1haWwgYWRkcmVzcyd9fSBoYXMgY2hhbmdlZCBjYWxsIE1ERVMgYXQgNjAxLTQ5My05NDI3LCBNb25kYXkgdGhyb3VnaCBGcmlkYXkgZnJvbSA4IGFtIHRvIDUgcG0uXHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxwLWZvb3Rlcj5cclxuICAgIDxkaXYgKm5nSWY9XCJibG9ja2VkXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0IGlvbi1wYWRkaW5nLWJvdHRvbVwiICpuZ0lmPVwiIWJsb2NrZWQgJiYgIWhpZGVCdXR0b25zXCI+XHJcbiAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwicmVzZXRcIiAoY2xpY2spPVwiY2xvc2UoKVwiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgQ2xvc2VcclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzaWduSW4oKVwiIGNvbG9yPVwic3VjY2Vzc1wiICpuZ0lmPVwiIXJlcXVlc3RDb2RlICYmIG9wdGlvbi52YWx1ZVwiPlxyXG4gICAgICAgIFN1Ym1pdFxyXG4gICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY29sb3I9XCJzdWNjZXNzXCIgKm5nSWY9XCJyZXF1ZXN0Q29kZSAmJiBvcHRpb24udmFsdWVcIj5cclxuICAgICAgICBTdWJtaXRcclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9wLWZvb3Rlcj5cclxuPC9mb3JtPiJdfQ==
572
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MfaComponent, { className: "MfaComponent", filePath: "lib\\components\\mfa\\mfa.component.ts", lineNumber: 21 }); })();
573
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWZhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZmEvbWZhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZmEvbWZhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBZ0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNEcEMsOEJBQXlFLGFBQUEsYUFBQSxlQUFBO0lBRzlDLFlBQTRCOztJQUFBLGlCQUFRO0lBQ3pELDBDQUErSDtJQUE3Qiw2S0FBWSxlQUFBLHNCQUFlLENBQUEsSUFBQztJQUFDLGlCQUFpQixFQUFBLEVBQUEsRUFBQTs7O0lBRDNILGVBQTRCO0lBQTVCLDBEQUE0QjtJQUNqQyxlQUFtQjtJQUFuQix3Q0FBbUIsOEJBQUE7OztJQVFuQyw0QkFBd0Q7SUFBQSxZQUEyQzs7SUFBQSx5QkFBRztJQUFBLFlBQTZCOztJQUFBLGlCQUFJLEVBQUE7OztJQUEvRSxlQUEyQztJQUEzQyxrRkFBMkM7SUFBRyxlQUE2QjtJQUE3Qiw0RkFBNkI7OztJQUNuSSw0QkFBdUQ7SUFBQSxZQUF5Qzs7SUFBQSx5QkFBRztJQUFBLFlBQWlDOztJQUFBLGlCQUFJLEVBQUE7OztJQUFqRixlQUF5QztJQUF6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LENBQUMsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs2RUFwUFUsWUFBWTtvRUFBWixZQUFZOzs7Ozs7WUNwQnpCLGtDQUF1RCxZQUFBO1lBQ0wsWUFBc0M7WUFBQSxpQkFBSztZQUUzRiw2REFPTSxrREFBQTtZQW9ETixnQ0FBVTtZQUNSLDZEQUVNLGdEQUFBO1lBWVIsaUJBQVcsRUFBQTs7WUE3RVAsdUNBQXFCO1lBQ3VCLGVBQXNDO1lBQXRDLG1FQUFzQztZQUVwRCxlQUFxQztZQUFyQyw4REFBcUM7WUFTckMsZUFBa0I7WUFBbEIsdUNBQWtCO1lBbUQ1QyxlQUFhO1lBQWIsa0NBQWE7WUFHNkIsZUFBOEI7WUFBOUIsdURBQThCOzs7aUZEOUNyRSxZQUFZO2NBTHhCLFNBQVM7MkJBQ0UsU0FBUzttUEFNSSxRQUFRO2tCQUE5QixTQUFTO21CQUFDLFVBQVU7WUFhckIsSUFBSTtrQkFESCxLQUFLO1lBSUcsT0FBTztrQkFBZixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBS04sSUFBSTtrQkFESCxLQUFLO1lBSU4sUUFBUTtrQkFEUCxLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sYUFBYTtrQkFEWixLQUFLO1lBR04sT0FBTztrQkFETixLQUFLO1lBR0ksS0FBSztrQkFBZCxNQUFNO1lBRUcsT0FBTztrQkFBaEIsTUFBTTtZQUVHLEtBQUs7a0JBQWQsTUFBTTs7a0ZBM0NJLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xyXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvVXNlck1vZGVsJztcclxuaW1wb3J0IHsgQ2FwdGNoYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdXJpdHktc2VydmljZS9zZWN1cml0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbWZhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWZhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZmEuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWZhQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJvdHBGaWVsZFwiKSBvdHBGaWVsZDtcclxuICBwcml2YXRlIFJFU0VORF9DT0RFX0FDVElPTl9OQU1FID0gXCJNRkFfUkVTRU5EX0NPREVcIjtcclxuICBcclxuICBwdWJsaWMgc3VjY2Vzc0R0bHM7XHJcblxyXG4gIHB1YmxpYyBibG9ja2VkOiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgaXNDaGVja2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBzaG93SGVscDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgaGlkZU9wdFZhbGlkYXRvciA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICB1c2VyIDogVXNlck1vZGVsO1xyXG5cclxuICAvL0lmIHNwZWNpZmllZCwgaXQgd2lsbCBjaGFuZ2UgdGhlIGRlZmF1bHQgaGVhZGluZyBvbiB0aGUgY29tcG9uZW50IHdpdGggdGhlIG9uY2Ugc3BlY2lmaWVkIGluIHRoaXMgZmllbGQuXHJcbiAgQElucHV0KCkgaGVhZGluZyA6IHN0cmluZztcclxuXHJcbiAgLy9SZXF1ZXN0IG5ldyBhdXRoY29kZSB3aGVuIGNvbXBvbmVudHMgbG9hZC5cclxuICBASW5wdXQoKVxyXG4gIHJlcXVlc3RDb2RlIDogYm9vbGVhbjtcclxuXHJcbiAgLy9QYXNzIHRoaXMgZGF0YSBhbG9uZyB3aXRoIG91dHB1dCBzbyB0aGF0IGNhbGxpbmcgY29tcG9uZW50IGNhbiB0YWtlIGNhcmUgb2YgaXQuXHJcbiAgQElucHV0KClcclxuICBkYXRhIDogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG1mYUVycm9yIDogRXJyb3JNb2RlbDtcclxuXHJcbiAgQElucHV0KClcclxuICBoaWRlQnV0dG9ucyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICByZXR1cm5pbmdVc2VyOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgZGlzcGxheSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgY2xlYXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBlcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBvdHBGb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgcHVibGljIGVycm9yRHRscztcclxuXHJcbiAgcHVibGljIHRpbWUgPSA2MFxyXG4gIHB1YmxpYyB0aW1lckludGVydmFsID0gaW50ZXJ2YWwoMTAwMCk7IC8vMXNcclxuICBwdWJsaWMgdGltZXIgPSB0aW1lcig2MDAwMCk7IC8vOTBzXHJcbiAgcHVibGljIGNvdW50RG93biA9IHRoaXMudGltZXJJbnRlcnZhbC5waXBlKHRha2UodGhpcy50aW1lKSk7XHJcbiAgcHVibGljIGNvdW50ZXIgOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XHJcbiAgY291bnRlclN1YnNjcmlwdGlvbiA6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgcHVibGljIG9wdGlvbnMgOiBDb21ib09wdGlvbltdID0gW1xyXG4gICAge3ZhbHVlIDogJ3RleHQnLCB0ZXh0IDogJ3RleHQnfSxcclxuICAgIHt2YWx1ZSA6ICdlbWFpbCcsIHRleHQgOiAnZW1haWwnfVxyXG4gIF07XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbHM6IExvZ2luU2VydmljZSwgcHVibGljIGZiIDogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBuYXYgOiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGNzOiBDYXB0Y2hhU2VydmljZSxcclxuICAgICAgICAgICAgICAgcHJpdmF0ZSBzczogU2VjdXJpdHlTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgeyBcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLm1mYUVycm9yPy5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLmVycm9yRHRscyA9IHRoaXMubWZhRXJyb3IubXNnO1xyXG4gICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmIChjaGFuZ2VzLmRpc3BsYXkuY3VycmVudFZhbHVlKSB7ICAvLyB3aW5kb3cgb3BlblxyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5jb3VudGVyU3Vic2NyaXB0aW9uKXtcclxuICAgICAgdGhpcy5jb3VudGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgICB0aGlzLmluaXRpbGl6ZUZvcm0oKTtcclxuICAgIC8vdGhpcy5zZXRDb3VudGRvd24oKTtcclxuICAgIGlmKHRoaXMucmVxdWVzdENvZGUpe1xyXG4gICAgICBsZXQgbWZhT3B0aW9ucyA9IHRoaXMudXNlcj8uc3VwcG9ydGVkTWZhVHlwZXM/LnNwbGl0KFwiLFwiKSB8fCBbJ2VtYWlsJ107XHJcbiAgICAgIGlmKG1mYU9wdGlvbnMubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgLy9hbGxvdyB1c2VyIHRvIGNob29zZSBvdHAgb3B0aW9uXHJcbiAgICAgIH0gZWxzZXtcclxuICAgICAgICB0aGlzLnJlcXVlc3ROZXdBdXRoQ29kZSgnZW1haWwnKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRDb3VudGRvd24oKTtcclxuICAgIH1cclxuICAgIHNldFRpbWVvdXQoXyA9PiB7XHJcbiAgICAgIHRoaXMub3RwRmllbGQuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSwgMTAwKVxyXG4gIH1cclxuXHJcbiAgcmVxdWVzdE5ld0F1dGhDb2RlKG90cFR5cGUgOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5ibG9ja2VkID0gdHJ1ZTtcclxuICAgIHRoaXMubHMuZ2V0TmV3QXV0aENvZGUob3RwVHlwZSlcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBcIkFjY2VzcyBjb2RlIHNlbnQgc3VjY2Vzc2Z1bGx5LlwiO1xyXG4gICAgICAgICAgdGhpcy5jb3VudGVyLm5leHQoNjApO1xyXG4gICAgICAgICAgdGhpcy5zZXRDb3VudGRvd24oKTtcclxuICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdWNjZXNzRHRscyA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZXJyb3JEdGxzID0gZXJyLm1zZztcclxuICAgICAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2V0Q291bnRkb3duKCl7XHJcbiAgICBpZih0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24pe1xyXG4gICAgICB0aGlzLmNvdW50ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY291bnRlclN1YnNjcmlwdGlvbiA9IHRoaXMuY291bnREb3duLnN1YnNjcmliZSh2YWwgPT57XHJcbiAgICAgIGxldCB2YWx1ZSA9IHRoaXMudGltZSAtIHZhbDtcclxuICAgICAgdGhpcy5jb3VudGVyLm5leHQodmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0aWxpemVGb3JtKCl7XHJcbiAgICBsZXQgbWZhT3B0aW9ucyA9IHRoaXMudXNlcj8uc3VwcG9ydGVkTWZhVHlwZXM/LnNwbGl0KFwiLFwiKSB8fCBbJ2VtYWlsJ107XHJcbiAgICB0aGlzLm90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgJ290cCcgOiBbbnVsbCAsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgIFZhbGlkYXRvcnMubWluKDEwMF8wMDApLFZhbGlkYXRvcnMubWF4KDk5OV85OTkpXSldLFxyXG4gICAgICAnY2hlY2tlZCcgOiBbZmFsc2VdLFxyXG4gICAgICAnb3B0aW9uJyA6IFsgbWZhT3B0aW9ucyAmJiBtZmFPcHRpb25zLmxlbmd0aCA+IDEgPyBudWxsIDogbWZhT3B0aW9uc1swXV1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG90cCgpe1xyXG4gICAgcmV0dXJuIHRoaXMub3RwRm9ybS5nZXQoJ290cCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wdGlvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMub3RwRm9ybS5nZXQoJ29wdGlvbicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNoZWNrZWQoKXtcclxuICAgIHJldHVybiB0aGlzLm90cEZvcm0uZ2V0KCdjaGVja2VkJyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSh0cmlnZ2VyRXhpdEFQSSA9IHRydWUpe1xyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbGVhci5lbWl0KHRyaWdnZXJFeGl0QVBJKSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKXtcclxuICAgIHRoaXMuaGlkZU9wdFZhbGlkYXRvciA9IGZhbHNlO1xyXG4gICAgaWYodGhpcy5vdHBGb3JtLmludmFsaWQpe1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLm90cEZvcm0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmxzLnNldEF1dGhDb2RlKHRoaXMub3RwLnZhbHVlKTtcclxuICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG4gIFxyXG4gIHNpZ25Jbigpe1xyXG4gICAgdGhpcy5oaWRlT3B0VmFsaWRhdG9yID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLm90cEZvcm0uaW52YWxpZCl7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMub3RwRm9ybSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBhdXRoIDogYW55ID0ge307XHJcbiAgICBhdXRoLnVzZXJJZCA9IHRoaXMudXNlci51c2VybmFtZTtcclxuICAgIGF1dGgucGFzc3dvcmQgPSB0aGlzLnVzZXIucGFzc3dvcmQ7XHJcbiAgICBhdXRoLm90cCA9IHRoaXMub3RwLnZhbHVlO1xyXG4gICAgYXV0aC5pc3RydXN0ZWREZXZpY2UgPSB0aGlzLmNoZWNrZWQudmFsdWUgKyBcIlwiO1xyXG4gICAgdGhpcy5ibG9ja2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xyXG4gICAgdGhpcy5lcnJvckR0bHMgPSBudWxsO1xyXG4gICAgdGhpcy51dGlsXHJcbiAgICAgICAgLnNob3dMb2FkZXIoKVxyXG4gICAgICAgIC50aGVuKFxyXG4gICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxzLmxvZ2luQW5kQ2hlY2tGb3JNRkEoYXV0aClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHVzZXJNb2RlbCA6IFVzZXJNb2RlbCA9IHJlcztcclxuICAgICAgICAgICAgICAgIHRoaXMubHMuc2V0VXNlcih1c2VyTW9kZWwpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnIpO1xyXG4gICAgICAgICAgICAgICAgaWYoZXJyLm1zZ1swXS5pbmNsdWRlcyhcIkNsYWltYW50IEFjY291bnQgaXMgTG9ja2VkIC0gT1RQIGF0dGVtcHRzIGV4Y2VlZGVkXCIpKXtcclxuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJSZWRpcmVjdGluZyB0byBpZGVudGl0eSBwcm9vZmluZy5cIik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoJ0NsYWltYW50IEFjY291bnQgaXMgTG9ja2VkIC0gT1RQIGF0dGVtcHRzIGhhcyBleGNlZWRlZCcpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmVycm9yRHRscyA9IGVyci5tc2c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgfVxyXG5cclxuICBzZW5kT3RwKGV2ZW50KXtcclxuICAgIHRoaXMucmVzZW5kQXV0aENvZGUoZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEFjY2Vzc1ZlcmlmeSgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtZmEuYWNjZXNzLnZlcmlmeS5zaXgnKTtcclxuICB9XHJcbiAgZ2V0IEFjY2Vzc1JlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ21mYS5hY2Nlc3MucmVxdWlyZWQnKTtcclxuICB9XHJcblxyXG4gIGdldCBBY2Nlc3NDb25maXJtKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ21mYS5hY2Nlc3MuY29uZmlybScpO1xyXG4gIH1cclxuICByZXNlbmRBdXRoQ29kZShvdHBUeXBlIDogc3RyaW5nKXtcclxuICAgIHRoaXMuc3VjY2Vzc0R0bHMgPSBudWxsO1xyXG4gICAgdGhpcy5lcnJvckR0bHMgPSBudWxsO1xyXG4gICAgb3RwVHlwZSA9IFwiVEVYXCI7IC8vVGhpcyBoYXMgdG8gYmUgY2hhbmdlZCBpbiB0aGUgYmFja2VuZCBvbmNlIG1mYVByZWZlcmVuY2UgaXMgc2F2ZWRcclxuICAgIHRoaXMubHMuZ2VuZXJhdGVPdHAodGhpcy51c2VyLnVzZXJuYW1lLCBvdHBUeXBlKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gJ0FjY2VzcyBjb2RlIHNlbnQgc3VjY2Vzc2Z1bGx5Lic7XHJcbiAgICAgICAgdGhpcy5jb3VudGVyLm5leHQoNjApO1xyXG4gICAgICAgIHRoaXMuc2V0Q291bnRkb3duKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLnN1Y2Nlc3NEdGxzID0gbnVsbDtcclxuICAgICAgICB0aGlzLmJsb2NrZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmVycm9yRHRscyA9IGVyci5tc2c7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwib3RwRm9ybVwiICNvdHBGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgPGg0IHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxMHB4O1wiIGNsYXNzPVwiaGVhZGluZ1wiPnt7IGhlYWRpbmcgPyBoZWFkaW5nIDogQWNjZXNzQ29uZmlybX19PC9oND5cclxuXHJcbiAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTBweDtcIiAqbmdJZj1cIiFvcHRpb24udmFsdWUgJiYgIXJldHVybmluZ1VzZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpb24tcGFkZGluZy10b3AgcC1mb3JtZ3JpZCBwLWdyaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGlvbi10ZXh0LWxlZnRcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwib3RwVHlwZVwiPnt7J21mYS5ob3cuc2VuZCd8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJvcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJvcHRpb25cIiAob25DaGFuZ2UpPVwic2VuZE90cCgkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTBweDtcIiAqbmdJZj1cIm9wdGlvbi52YWx1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxyXG4gICAgICA8aW9uLWxhYmVsPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwib3B0aW9uLnZhbHVlID09ICdlbWFpbCcgJiYgIXJldHVybmluZ1VzZXJcIj57eydtZmEuY29kZS5zZW50LmVtYWlsJ3x0cmFuc2xhdGV9fTombmJzcDsgPGI+e3t1c2VyPy5lbWFpbElkIHwgbWFza0VtYWlsfX08L2I+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwib3B0aW9uLnZhbHVlID09ICd0ZXh0JyAmJiAhcmV0dXJuaW5nVXNlclwiPnt7J21mYS5jb2RlLnNlbnQuY2VsbCd8dHJhbnNsYXRlfX0mbmJzcDsgPGI+e3t1c2VyPy5jZWxscGhvbmVObyB8IG1hc2tFbWFpbH19PC9iPjwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cInJldHVybmluZ1VzZXJcIj57eydtZmEuY29kZS5zZW50LmNlbGwnfHRyYW5zbGF0ZX19Jm5ic3A7IDxiPnt7dXNlcj8uY2VsbHBob25lTm8gfCBtYXNrRW1haWx9fTwvYj48L3NwYW4+XHJcbiAgICAgIDwvaW9uLWxhYmVsPjxici8+PGJyLz5cclxuICAgICAgPGlvbi1sYWJlbCAqbmdJZj1cIm9wdGlvbi52YWx1ZSA9PSAnZW1haWwnICYmICFyZXR1cm5pbmdVc2VyXCI+XHJcbiAgICAgICAge3snbWZhLmNvZGUuc2VudC5qdW5rJ3x0cmFuc2xhdGV9fVxyXG4gICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJvcHRpb24udmFsdWUgPT0gJ2VtYWlsJyAmJiAhcmV0dXJuaW5nVXNlclwiPjxici8+PGJyLz48L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBpb24tdGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImF1dGhDb2RlXCIgKm5nSWY9XCIhcmV0dXJuaW5nVXNlclwiPnt7J21mYS5lbnRlci5jb2RlJ3x0cmFuc2xhdGV9fTwvbGFiZWw+PGJyLz5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiYXV0aENvZGVcIiAqbmdJZj1cInJldHVybmluZ1VzZXJcIj57eydtZmEuZW50ZXIuY29kZS5yZWNlaXZlZCd8dHJhbnNsYXRlfX08L2xhYmVsPjxici8+XHJcbiAgICAgICAgPHAtaW5wdXROdW1iZXIgKGNsaWNrKT1cImhpZGVPcHRWYWxpZGF0b3I9ZmFsc2VcIiAoa2V5dXApPVwiaGlkZU9wdFZhbGlkYXRvcj1mYWxzZVwiICNvdHBGaWVsZCBmb3JtQ29udHJvbE5hbWU9XCJvdHBcIiBtYXhsZW5ndGg9XCI2XCIgbWlubGVuZ3RoPVwiNlwiIG1vZGU9XCJkZWNpbWFsXCIgW3VzZUdyb3VwaW5nXT1cImZhbHNlXCIgc2l6ZT1cIjZcIiBbaW5wdXRJZF09XCInYXV0aENvZGUnXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXVwLmVudGVyKT1cIighcmVxdWVzdENvZGUgJiYgb3B0aW9uLnZhbHVlKSA/IHNpZ25JbigpIDogc3VibWl0KClcIj5cclxuICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgPGFwcC1lcnJvciAqbmdJZj1cIiFoaWRlT3B0VmFsaWRhdG9yXCIgW2ZpZWxkXT0nb3RwJyBbZm9ybV09XCJvdHBGb3JtXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgcmVxdWlyZWQ6IEFjY2Vzc1JlcXVpcmVkLFxyXG4gICAgICAgICAgbWluOiBBY2Nlc3NWZXJpZnksXHJcbiAgICAgICAgICBtYXg6IEFjY2Vzc1ZlcmlmeVxyXG4gICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgPGlvbi1jaGVja2JveCBzbG90PVwic3RhcnRcIiBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2VkXCI+PC9pb24tY2hlY2tib3g+XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj57eydtZmEuYnJvd3Nlci50cnVzdCd8dHJhbnNsYXRlfX08L2lvbi1sYWJlbD5cclxuICAgICAgPC9pb24taXRlbT5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JEdGxzXCI+e3tlcnJvckR0bHN9fTxiciAvPjxiciAvPjwvbWF0LWVycm9yPlxyXG4gICAgPGlvbi1sYWJlbCAqbmdJZj1cInN1Y2Nlc3NEdGxzXCIgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZWVuKVwiPnt7c3VjY2Vzc0R0bHN9fTxici8+PGJyIC8+PC9pb24tbGFiZWw+XHJcbiAgICA8aW9uLWxhYmVsICpuZ0lmPVwiIWJsb2NrZWRcIj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudGVyLmdldFZhbHVlKCkgIT0gMSAmJiAhcmV0dXJuaW5nVXNlclwiPlxyXG4gICAgICAgIHt7J21mYS5jb2RlLm5vdC5yZWNlaXZlZCd8dHJhbnNsYXRlfX0gPGI+e3tjb3VudGVyLmdldFZhbHVlKCl9fSBzZWNvbmQocyk8L2I+LlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiY291bnRlci5nZXRWYWx1ZSgpID09IDEgJiYgIXJldHVybmluZ1VzZXJcIj5cclxuICAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleXVwLmVudGVyKT1cInJlc2VuZEF1dGhDb2RlKG9wdGlvbi52YWx1ZSlcIiAoY2xpY2spPVwicmVzZW5kQXV0aENvZGUob3B0aW9uLnZhbHVlKVwiIGNsYXNzPVwibGlua1wiPnt7J21mYS5nZXQubmV3LmNvZGUnfHRyYW5zbGF0ZX19PC9hPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiY291bnRlci5nZXRWYWx1ZSgpID09IDEgJiYgcmV0dXJuaW5nVXNlclwiPlxyXG4gICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChrZXl1cC5lbnRlcik9XCJyZXNlbmRBdXRoQ29kZShvcHRpb24udmFsdWUpXCIgKGNsaWNrKT1cInJlc2VuZEF1dGhDb2RlKG9wdGlvbi52YWx1ZSlcIiBjbGFzcz1cImxpbmtcIj4ge3snbWZhLnJlc2VuZC52ZXJpZmljYXRpb24uY29kZSd8dHJhbnNsYXRlfX08L2E+XHJcbiAgICAgPC9zcGFuPlxyXG4gICAgPC9pb24tbGFiZWw+XHJcbiAgICA8cCAqbmdJZj1cIiFyZXR1cm5pbmdVc2VyXCI+PGEgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJsaW5rXCIgKGtleXVwLmVudGVyKT1cInNob3dIZWxwID0gIXNob3dIZWxwOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIChjbGljayk9XCJzaG93SGVscCA9ICFzaG93SGVscDsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5DYW4ndCBnZXQgdG8geW91ciB7e29wdGlvbi52YWx1ZSA9PSAndGV4dCcgPyAnY2VsbHBob25lJyA6ICdlbWFpbCd9fT88L2E+PC9wPlxyXG4gICAgPCEtLSA8cCAqbmdJZj1cInJldHVybmluZ1VzZXJcIj48YSB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImxpbmtcIiAoa2V5dXAuZW50ZXIpPVwiY2xvc2UoKVwiIChjbGljayk9XCJjbG9zZSgpXCI+VW5hYmxlIHRvIHZlcmlmeTwvYT48L3A+IC0tPlxyXG4gICAgPHAgKm5nSWY9XCJzaG93SGVscCAmJiAhcmV0dXJuaW5nVXNlclwiPlxyXG4gICAgICB7eydtZmEuZ29vZC5mb3IudGltZSd8dHJhbnNsYXRlfX08YnIvPlxyXG4gICAgICBvcjxici8+XHJcbiAgICAgIElmIHlvdXIge3tvcHRpb24udmFsdWUgPT0gJ3RleHQnID8gJ2NlbGxwaG9uZSBudW1iZXInIDogJ2VtYWlsIGFkZHJlc3MnfX0gaGFzIGNoYW5nZWQgY2FsbCBLRE9MIGF0IDc4NS01NzUtMTQ2MCwgTW9uZGF5IHRocm91Z2ggRnJpZGF5IGZyb20gOCBhbSB0byA0OjMwIHBtLlxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8cC1mb290ZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYmxvY2tlZFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1ib3R0b21cIiAqbmdJZj1cIiFibG9ja2VkICYmICFoaWRlQnV0dG9uc1wiPlxyXG4gICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInJlc2V0XCIgKGtleXVwLmVudGVyKT1cImNsb3NlKGZhbHNlKVwiIChjbGljayk9XCJjbG9zZShmYWxzZSlcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiPlxyXG4gICAgICAgIHt7J2NvbW1vbi5jbG9zZSd8dHJhbnNsYXRlfX1cclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICA8aW9uLWJ1dHRvbiAgdGFiaW5kZXg9XCIwXCIgc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoa2V5dXAuZW50ZXIpPVwic2lnbkluKClcIiAoY2xpY2spPVwic2lnbkluKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiAqbmdJZj1cIiFyZXF1ZXN0Q29kZSAmJiBvcHRpb24udmFsdWVcIj5cclxuICAgICAgICB7eydjb21tb24uc3VibWl0J3x0cmFuc2xhdGV9fVxyXG4gICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDxpb24tYnV0dG9uIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGtleXVwLmVudGVyKT1cInN1Ym1pdCgpXCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgY29sb3I9XCJzdWNjZXNzXCIgKm5nSWY9XCJyZXF1ZXN0Q29kZSAmJiBvcHRpb24udmFsdWVcIj5cclxuICAgICAgICB7eydjb21tb24uc3VibWl0J3x0cmFuc2xhdGV9fVxyXG4gICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L3AtZm9vdGVyPlxyXG48L2Zvcm0+Il19