@ksremp/ngx-ksremp-app-lib 1.0.0

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