@reusa/ngx-reusa-app-lib 0.0.732 → 0.1.731

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
  2. package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
  3. package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
  4. package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
  5. package/esm2022/lib/components/address/address.component.mjs +487 -0
  6. package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
  7. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  8. package/esm2022/lib/components/card/card.component.mjs +55 -0
  9. package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
  10. package/esm2022/lib/components/content/content.component.mjs +61 -0
  11. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
  12. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  13. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
  14. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  15. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  16. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  17. package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
  18. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
  19. package/esm2022/lib/components/error/error.component.mjs +86 -0
  20. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  21. package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
  22. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  23. package/esm2022/lib/components/footer/footer.component.mjs +332 -0
  24. package/esm2022/lib/components/header/header.component.mjs +558 -0
  25. package/esm2022/lib/components/help/help.component.mjs +49 -0
  26. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
  27. package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
  28. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
  29. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
  30. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  31. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  32. package/esm2022/lib/components/menu/menu.component.mjs +423 -0
  33. package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
  34. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
  35. package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
  36. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  37. package/esm2022/lib/components/news/news.component.mjs +90 -0
  38. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  39. package/esm2022/lib/components/page/page.component.mjs +136 -0
  40. package/esm2022/lib/components/profile/profile.component.mjs +177 -0
  41. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
  42. package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
  43. package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
  45. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
  46. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
  47. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
  48. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
  49. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
  50. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
  51. package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
  52. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
  53. package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
  54. package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
  55. package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
  56. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
  57. package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
  58. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  59. package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
  60. package/esm2022/lib/components/select/select.component.mjs +154 -0
  61. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  62. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
  63. package/esm2022/lib/components/test/test.component.mjs +19 -0
  64. package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
  65. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
  66. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
  67. package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
  68. package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
  69. package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
  70. package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
  71. package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
  72. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  73. package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
  74. package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
  75. package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
  76. package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
  77. package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
  78. package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
  79. package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
  80. package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
  81. package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
  82. package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
  83. package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
  84. package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
  86. package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
  87. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  88. package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
  89. package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
  91. package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
  93. package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
  94. package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
  95. package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
  96. package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
  97. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  98. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
  99. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
  100. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  101. package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
  102. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  103. package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
  104. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  105. package/esm2022/lib/models/dependent.model.mjs +8 -0
  106. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
  107. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
  108. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
  109. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
  110. package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
  111. package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
  112. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
  113. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
  114. package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
  115. package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
  118. package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
  119. package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
  120. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
  121. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
  122. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
  123. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  124. package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
  125. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  126. package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
  127. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  128. package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
  129. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  130. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
  131. package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
  132. package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
  133. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
  134. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
  135. package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
  136. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  137. package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
  138. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  139. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  140. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  141. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  142. package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
  143. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  144. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  145. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  146. package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
  147. package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
  148. package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
  149. package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
  150. package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
  151. package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
  152. package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
  153. package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
  154. package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
  155. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  156. package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
  157. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  158. package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
  159. package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
  160. package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
  161. package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
  162. package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
  163. package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
  164. package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
  165. package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
  166. package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
  167. package/esm2022/lib/services/login/login.service.mjs +330 -0
  168. package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
  169. package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
  170. package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
  171. package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
  172. package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
  173. package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
  174. package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
  175. package/esm2022/lib/validations/AppRegex.mjs +45 -0
  176. package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
  177. package/{esm2020 → esm2022}/public-api.mjs +131 -131
  178. package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
  179. package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
  180. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/annimations/app-animations.d.ts +3 -3
  183. package/lib/components/add-employer/add-employer.component.d.ts +276 -276
  184. package/lib/components/add-participant/add-participant.component.d.ts +45 -45
  185. package/lib/components/add-payment/add-payment.component.d.ts +33 -33
  186. package/lib/components/address/address.component.d.ts +68 -68
  187. package/lib/components/address/address.component.d.ts.map +1 -1
  188. package/lib/components/bank-details/bank-details.component.d.ts +39 -39
  189. package/lib/components/captcha/captcha.component.d.ts +44 -44
  190. package/lib/components/card/card.component.d.ts +11 -11
  191. package/lib/components/contact-us/contact-us.component.d.ts +105 -107
  192. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  193. package/lib/components/content/content.component.d.ts +13 -13
  194. package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
  195. package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
  196. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  197. package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
  198. package/lib/components/disclosure/disclosure.component.d.ts +12 -12
  199. package/lib/components/dropdown/dropdown.component.d.ts +581 -207
  200. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
  201. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  202. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  203. package/lib/components/email-update/email-update.component.d.ts +31 -31
  204. package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
  205. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  206. package/lib/components/error/error.component.d.ts +17 -17
  207. package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
  208. package/lib/components/file-download/file-download.component.d.ts +22 -22
  209. package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
  210. package/lib/components/footer/footer.component.d.ts +36 -36
  211. package/lib/components/header/header.component.d.ts +59 -58
  212. package/lib/components/header/header.component.d.ts.map +1 -1
  213. package/lib/components/help/help.component.d.ts +10 -10
  214. package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
  215. package/lib/components/info/info.component.d.ts +22 -22
  216. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
  217. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
  218. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
  219. package/lib/components/mask/mask.component.d.ts +11 -11
  220. package/lib/components/menu/menu.component.d.ts +43 -43
  221. package/lib/components/mfa/mfa.component.d.ts +59 -59
  222. package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
  223. package/lib/components/money-expect/money-expect.component.d.ts +18 -18
  224. package/lib/components/msg/msg.component.d.ts +10 -10
  225. package/lib/components/news/news.component.d.ts +14 -14
  226. package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
  227. package/lib/components/page/page.component.d.ts +23 -23
  228. package/lib/components/profile/profile.component.d.ts +28 -28
  229. package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
  230. package/lib/components/questionnaire/AppValidators.d.ts +14 -14
  231. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  232. package/lib/components/questionnaire/FbConstants.d.ts +7 -7
  233. package/lib/components/questionnaire/SelectItem.d.ts +4 -4
  234. package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
  235. package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
  236. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  237. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
  238. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
  239. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  240. package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
  241. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  242. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
  243. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  244. package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
  245. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
  246. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  247. package/lib/components/questionnaire/question-base.d.ts +16 -16
  248. package/lib/components/questionnaire/question-control.service.d.ts +19 -19
  249. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  250. package/lib/components/questionnaire/question.service.d.ts +18 -18
  251. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
  252. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  253. package/lib/components/read-more/read-more.component.d.ts +14 -14
  254. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
  255. package/lib/components/search-employer/search-employer.component.d.ts +37 -36
  256. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  257. package/lib/components/select/select.component.d.ts +55 -55
  258. package/lib/components/ssn/ssn.component.d.ts +11 -11
  259. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
  260. package/lib/components/test/test.component.d.ts +8 -8
  261. package/lib/components/user-login/user-login.component.d.ts +48 -48
  262. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
  263. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
  264. package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
  265. package/lib/directives/caps-lock.directive.d.ts +11 -11
  266. package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
  267. package/lib/enums/EmailStatusEnum.d.ts +7 -7
  268. package/lib/guards/auth.guard.d.ts +28 -28
  269. package/lib/guards/auth.guard.d.ts.map +1 -1
  270. package/lib/guards/no-login/no-login.guard.d.ts +11 -11
  271. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
  272. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
  273. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
  274. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
  275. package/lib/models/AddressComponentModel.d.ts +12 -12
  276. package/lib/models/BankDetailsComponentModel.d.ts +11 -11
  277. package/lib/models/BankDetailsModel.d.ts +4 -4
  278. package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
  279. package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
  280. package/lib/models/ErrorModel.d.ts +6 -6
  281. package/lib/models/FileModel.d.ts +4 -4
  282. package/lib/models/LibConstants.d.ts +112 -112
  283. package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
  284. package/lib/models/NotificationModel.d.ts +10 -10
  285. package/lib/models/OtpAuthModel.d.ts +6 -6
  286. package/lib/models/PaymentComponentModel.d.ts +7 -7
  287. package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
  288. package/lib/models/SsaVerificationModel.d.ts +8 -8
  289. package/lib/models/TrendModel.d.ts +13 -13
  290. package/lib/models/UserDetailsModel.d.ts +9 -9
  291. package/lib/models/UserModel.d.ts +46 -46
  292. package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
  293. package/lib/models/claimant/ClaimantModel.d.ts +22 -22
  294. package/lib/models/claimant/JobResultsData.d.ts +7 -7
  295. package/lib/models/claimant/MatchingJobs.d.ts +12 -12
  296. package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
  297. package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
  298. package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
  299. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
  300. package/lib/models/cmp/ContactUsModel.d.ts +22 -22
  301. package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
  302. package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
  303. package/lib/models/cmp/messageRourceModel.d.ts +5 -5
  304. package/lib/models/dashboard-model.d.ts +43 -43
  305. package/lib/models/dependent.model.d.ts +11 -18
  306. package/lib/models/dependent.model.d.ts.map +1 -1
  307. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
  308. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
  309. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
  310. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
  311. package/lib/models/questionnaire/ComboModel.d.ts +85 -85
  312. package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
  313. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
  314. package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
  315. package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
  316. package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
  317. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
  318. package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
  319. package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
  320. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
  321. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
  322. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
  323. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
  324. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
  325. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
  326. package/lib/models/questionnaire/StatusModel.d.ts +15 -15
  327. package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
  328. package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
  329. package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
  330. package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
  331. package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
  332. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  333. package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
  334. package/lib/pages/BasePage.d.ts +26 -26
  335. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
  336. package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
  337. package/lib/pages/common/landing/landing.component.d.ts +24 -24
  338. package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
  339. package/lib/pages/common/login/login.component.d.ts +64 -64
  340. package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
  341. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
  342. package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
  343. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
  344. package/lib/pages/popovers/language/language.page.d.ts +16 -16
  345. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
  346. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
  347. package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
  348. package/lib/pipes/filter.pipe.d.ts +7 -7
  349. package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
  350. package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
  351. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
  352. package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
  353. package/lib/services/base-service.d.ts +92 -92
  354. package/lib/services/captcha/captcha.service.d.ts +15 -15
  355. package/lib/services/case-service/case.service.d.ts +19 -19
  356. package/lib/services/chatbot/chatbot.service.d.ts +60 -60
  357. package/lib/services/chatbot/script.const.d.ts +15 -15
  358. package/lib/services/claimant/claimant.service.d.ts +17 -17
  359. package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
  360. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
  361. package/lib/services/claimant-service/claimant.service.d.ts +19 -19
  362. package/lib/services/claims/claims.service.d.ts +39 -39
  363. package/lib/services/cmp-service/cmp.service.d.ts +33 -33
  364. package/lib/services/dms-service/dms.service.d.ts +23 -23
  365. package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
  366. package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
  367. package/lib/services/help/help.service.d.ts +25 -25
  368. package/lib/services/help/help.service.d.ts.map +1 -1
  369. package/lib/services/idle/idle.service.d.ts +43 -43
  370. package/lib/services/logger/logger.service.d.ts +31 -31
  371. package/lib/services/logger/logger.service.d.ts.map +1 -1
  372. package/lib/services/login/login.service.d.ts +75 -75
  373. package/lib/services/login/login.service.d.ts.map +1 -1
  374. package/lib/services/maintenance/maintenance.service.d.ts +15 -15
  375. package/lib/services/notification/notification.service.d.ts +38 -38
  376. package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
  377. package/lib/services/questionnaire/validation.service.d.ts +81 -81
  378. package/lib/services/security-service/security.service.d.ts +14 -14
  379. package/lib/services/tour/tour.service.d.ts +24 -24
  380. package/lib/services/util/util.service.d.ts +190 -190
  381. package/lib/validations/AppRegex.d.ts +43 -43
  382. package/lib/validations/AppValidators.d.ts +53 -53
  383. package/package.json +6 -11
  384. package/public-api.d.ts +121 -121
  385. package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
  386. package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
  387. package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
  388. package/esm2020/lib/components/address/address.component.mjs +0 -480
  389. package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
  390. package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
  391. package/esm2020/lib/components/card/card.component.mjs +0 -54
  392. package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
  393. package/esm2020/lib/components/content/content.component.mjs +0 -60
  394. package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
  395. package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
  396. package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
  397. package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
  398. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
  399. package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
  400. package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
  401. package/esm2020/lib/components/error/error.component.mjs +0 -85
  402. package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
  403. package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
  404. package/esm2020/lib/components/footer/footer.component.mjs +0 -337
  405. package/esm2020/lib/components/header/header.component.mjs +0 -566
  406. package/esm2020/lib/components/help/help.component.mjs +0 -48
  407. package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
  408. package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
  409. package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
  410. package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
  411. package/esm2020/lib/components/mask/mask.component.mjs +0 -48
  412. package/esm2020/lib/components/menu/menu.component.mjs +0 -430
  413. package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
  414. package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
  415. package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
  416. package/esm2020/lib/components/msg/msg.component.mjs +0 -48
  417. package/esm2020/lib/components/news/news.component.mjs +0 -89
  418. package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
  419. package/esm2020/lib/components/page/page.component.mjs +0 -138
  420. package/esm2020/lib/components/profile/profile.component.mjs +0 -182
  421. package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
  422. package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
  423. package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
  424. package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
  425. package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
  426. package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
  427. package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
  428. package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
  429. package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
  430. package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
  431. package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
  432. package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
  433. package/esm2020/lib/components/select/select.component.mjs +0 -153
  434. package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
  435. package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
  436. package/esm2020/lib/components/test/test.component.mjs +0 -18
  437. package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
  438. package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
  439. package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
  440. package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
  441. package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
  442. package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
  443. package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
  444. package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
  445. package/esm2020/lib/models/dashboard-model.mjs +0 -3
  446. package/esm2020/lib/models/dependent.model.mjs +0 -8
  447. package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
  448. package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
  449. package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
  450. package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
  451. package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
  452. package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
  453. package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
  454. package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
  455. package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
  456. package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
  457. package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
  458. package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
  459. package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
  460. package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
  461. package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
  462. package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
  463. package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
  464. package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
  465. package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
  466. package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
  467. package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
  468. package/esm2020/lib/services/login/login.service.mjs +0 -330
  469. package/esm2020/lib/validations/AppRegex.mjs +0 -45
  470. package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
  471. package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
  472. package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
@@ -0,0 +1,487 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
+ import { AddressComponentModel } from '../../models/AddressComponentModel';
4
+ import { ComboOption } from '../../models/questionnaire/ComboModel';
5
+ import { AppValidators } from '../../validations/AppValidators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ import * as i2 from "../../services/util/util.service";
9
+ import * as i3 from "../../services/questionnaire/questionnaire.service";
10
+ import * as i4 from "../../services/logger/logger.service";
11
+ import * as i5 from "../../services/dms-service/dms.service";
12
+ import * as i6 from "@ionic/angular";
13
+ import * as i7 from "@angular/common";
14
+ import * as i8 from "primeng/inputtext";
15
+ import * as i9 from "../error/error.component";
16
+ import * as i10 from "../dropdown/dropdown.component";
17
+ import * as i11 from "@ngx-translate/core";
18
+ const _c0 = ["addressFormDirective"];
19
+ const _c1 = () => ({ required: "required" });
20
+ function AddressComponent_ion_col_54_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "ion-col", 17)(1, "div", 14)(2, "label", 5);
22
+ i0.ɵɵtext(3);
23
+ i0.ɵɵpipe(4, "translate");
24
+ i0.ɵɵelementEnd();
25
+ i0.ɵɵelement(5, "br")(6, "app-dropdown", 6)(7, "br")(8, "app-error", 7);
26
+ i0.ɵɵelementEnd()();
27
+ } if (rf & 2) {
28
+ const ctx_r1 = i0.ɵɵnextContext();
29
+ const _r0 = i0.ɵɵreference(1);
30
+ i0.ɵɵproperty("ngClass", ctx_r1.fromPopup ? "col" : "col col-fit-content");
31
+ i0.ɵɵadvance(2);
32
+ i0.ɵɵproperty("for", ctx_r1.inputId ? ctx_r1.inputId + "-county" : "county");
33
+ i0.ɵɵadvance(1);
34
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 12, "County"));
35
+ i0.ɵɵadvance(3);
36
+ i0.ɵɵproperty("options", ctx_r1.countyOptions)("formControl", ctx_r1.county)("autoDisplayFirst", false)("inputId", ctx_r1.inputId ? ctx_r1.inputId + "-county" : "county");
37
+ i0.ɵɵadvance(2);
38
+ i0.ɵɵclassMap("app-grid");
39
+ i0.ɵɵproperty("field", ctx_r1.county)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
40
+ } }
41
+ function AddressComponent_ion_col_55_Template(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵelementStart(0, "ion-col", 17)(1, "div", 14)(2, "label", 5);
43
+ i0.ɵɵtext(3);
44
+ i0.ɵɵpipe(4, "translate");
45
+ i0.ɵɵelementEnd();
46
+ i0.ɵɵelement(5, "br")(6, "app-dropdown", 6)(7, "br")(8, "app-error", 7);
47
+ i0.ɵɵelementEnd()();
48
+ } if (rf & 2) {
49
+ const ctx_r2 = i0.ɵɵnextContext();
50
+ const _r0 = i0.ɵɵreference(1);
51
+ i0.ɵɵproperty("ngClass", ctx_r2.fromPopup ? "col" : "col col-fit-content");
52
+ i0.ɵɵadvance(2);
53
+ i0.ɵɵproperty("for", ctx_r2.inputId ? ctx_r2.inputId + "-town" : "town");
54
+ i0.ɵɵadvance(1);
55
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 12, "Town"));
56
+ i0.ɵɵadvance(3);
57
+ i0.ɵɵproperty("options", ctx_r2.townOptions)("formControl", ctx_r2.town)("autoDisplayFirst", false)("inputId", ctx_r2.inputId ? ctx_r2.inputId + "-town" : "town");
58
+ i0.ɵɵadvance(2);
59
+ i0.ɵɵclassMap("app-grid");
60
+ i0.ɵɵproperty("field", ctx_r2.town)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
61
+ } }
62
+ const _c2 = () => ({ required: "required", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers." });
63
+ export class AddressComponent {
64
+ constructor(formBuilder, util, questionnaireService, logger, dms) {
65
+ this.formBuilder = formBuilder;
66
+ this.util = util;
67
+ this.questionnaireService = questionnaireService;
68
+ this.logger = logger;
69
+ this.dms = dms;
70
+ this.stateOptions = [];
71
+ this.countyOptions = [];
72
+ this.townOptions = [];
73
+ this.countryOptions = ComboOption.COUNTRY;
74
+ this.addressData = new AddressComponentModel();
75
+ this.address = new EventEmitter();
76
+ this.onTouched = () => { };
77
+ this.onChangeSubs = [];
78
+ this.forState = util.getState();
79
+ }
80
+ ngOnInit() {
81
+ this.addressForm = this.formBuilder.group({
82
+ 'country': [null, Validators.required],
83
+ 'zip': [null, Validators.compose([Validators.required, AppValidators.isValidZipCode])],
84
+ 'streetAddress': [null, Validators.required],
85
+ 'state': [null, Validators.required],
86
+ 'optionalAddress': [null],
87
+ 'town': [null],
88
+ 'county': [null],
89
+ 'city': [null, Validators.required],
90
+ });
91
+ this.setRequiredValidation();
92
+ this.country.valueChanges.subscribe(country => {
93
+ this.filterState(country);
94
+ });
95
+ this.state.valueChanges.subscribe(state => {
96
+ if (state) {
97
+ if (this.util.isState('MS') && state.value == 'MS') {
98
+ this.filterCounty(state);
99
+ }
100
+ if (this.util.isState('CT') && state.value == 'CT') {
101
+ this.filterCounty(state);
102
+ }
103
+ if (this.util.isState('ME') && state.value == 'ME') {
104
+ this.filterTown(state);
105
+ }
106
+ }
107
+ });
108
+ this.zip.valueChanges.subscribe(zip => {
109
+ if (zip && this.state.value == this.forState) {
110
+ this.filterCounty(this.state);
111
+ }
112
+ });
113
+ this.country.setValue({ value: "US", text: "United States" });
114
+ }
115
+ setRequiredValidation() {
116
+ this.state.valueChanges.subscribe(stateValue => {
117
+ if (stateValue) {
118
+ if (((stateValue.value === 'MS' && this.forState === 'MS')
119
+ || (stateValue.value === 'CT' && this.forState === 'CT')) && this.countyRequired === true) {
120
+ this.util.setRequiredValidator(this.county);
121
+ this.util.clearValidation(this.town);
122
+ this.town.setValue(null);
123
+ }
124
+ else if (stateValue.value === 'ME' && this.forState === 'ME' && this.countyRequired === true) {
125
+ this.util.setRequiredValidator(this.town);
126
+ this.util.clearValidation(this.county);
127
+ this.county.setValue(null);
128
+ }
129
+ else {
130
+ this.util.clearValidation(this.county);
131
+ this.county.setValue(null);
132
+ this.util.clearValidation(this.town);
133
+ this.town.setValue(null);
134
+ }
135
+ }
136
+ });
137
+ }
138
+ get town() {
139
+ return this.addressForm.controls['town'];
140
+ }
141
+ get county() {
142
+ return this.addressForm.controls['county'];
143
+ }
144
+ get city() {
145
+ return this.addressForm.controls['city'];
146
+ }
147
+ get country() {
148
+ return this.addressForm.controls['country'];
149
+ }
150
+ get state() {
151
+ return this.addressForm.controls['state'];
152
+ }
153
+ get zip() {
154
+ return this.addressForm.controls['zip'];
155
+ }
156
+ get streetAddress() {
157
+ return this.addressForm.controls['streetAddress'];
158
+ }
159
+ get optionalAddress() {
160
+ return this.addressForm.controls['optionalAddress'];
161
+ }
162
+ getAddressData(event) {
163
+ if (this.zip && this.zip.value) {
164
+ this.dms
165
+ .getAddress(this.zip.value)
166
+ .subscribe(res => {
167
+ this.addressData = res;
168
+ this.city.setValue(this.addressData.city);
169
+ this.state.setValue(this.addressData.state);
170
+ //this.country.setValue(this.addressData.country);
171
+ this.county.setValue(this.addressData.county);
172
+ }, err => {
173
+ this.logger.debug(err);
174
+ });
175
+ }
176
+ }
177
+ filterCountry(event) {
178
+ this.logger.debug('event', event);
179
+ let filtered = [];
180
+ let query = event.query;
181
+ this.countryOptions = ComboOption.COUNTRY;
182
+ for (let i = 0; i < this.countryOptions.length; i++) {
183
+ let country = this.countryOptions[i];
184
+ if (country.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
185
+ filtered.push(country);
186
+ this.state.setValue(null);
187
+ }
188
+ }
189
+ this.countryOptions = filtered;
190
+ }
191
+ filterCounty(event) {
192
+ this.questionnaireService.getCounty(this.state.value['value'], this.zip.value).subscribe(res => {
193
+ /*this.logger.debug('res', res);
194
+ for (let i = 0; i < res['choices'].length; i++) {
195
+ let choice = res['choices'][i];
196
+ if (choice.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
197
+ filtered.push(choice);
198
+ }
199
+ }*/
200
+ this.countyOptions = res['choices'];
201
+ });
202
+ }
203
+ filterTown(event) {
204
+ this.questionnaireService.getCounty(this.state.value['value'], this.zip.value).subscribe(res => {
205
+ this.townOptions = res['choices'];
206
+ });
207
+ }
208
+ filterState(event) {
209
+ let choice;
210
+ if (this.country?.value?.value === 'US') {
211
+ const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
212
+ choice = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
213
+ }
214
+ if (this.country?.value?.value === 'CA') {
215
+ choice = ComboOption.CA_STATES;
216
+ }
217
+ /*for (let i = 0; i < choice.length; i++) {
218
+ if (choice[i].text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
219
+ filtered.push(choice[i]);
220
+ }
221
+ }*/
222
+ this.stateOptions = choice;
223
+ }
224
+ setWidthStyle() {
225
+ if (this.fromPopup) {
226
+ let styleObj = {
227
+ 'max-width': 'initial'
228
+ };
229
+ return Object.assign(styleObj);
230
+ }
231
+ else {
232
+ let styleObj = {
233
+ 'max-width': 'fit-content'
234
+ };
235
+ return Object.assign(styleObj);
236
+ }
237
+ }
238
+ ngOnDestroy() {
239
+ for (let sub of this.onChangeSubs) {
240
+ sub.unsubscribe();
241
+ }
242
+ }
243
+ registerOnChange(onChange) {
244
+ const sub = this.addressForm.valueChanges.subscribe(onChange);
245
+ this.onChangeSubs.push(sub);
246
+ }
247
+ registerOnTouched(onTouched) {
248
+ this.onTouched = onTouched;
249
+ }
250
+ setDisabledState(disabled) {
251
+ if (disabled) {
252
+ this.addressForm.disable();
253
+ }
254
+ else {
255
+ this.addressForm.enable();
256
+ }
257
+ }
258
+ writeValue(value) {
259
+ let formValue;
260
+ if (typeof value == 'string') {
261
+ formValue = JSON.parse(value.toString());
262
+ }
263
+ else {
264
+ formValue = value;
265
+ }
266
+ if (formValue) {
267
+ if (formValue.country && !formValue.country.text && formValue.country.value) {
268
+ let country = this.getCountry(formValue.country?.value);
269
+ formValue.country = country;
270
+ }
271
+ if (formValue.state && !formValue.state.text && formValue.state.value) {
272
+ let state = this.getState(formValue.country?.value, formValue.state.value.trim());
273
+ formValue.state = state;
274
+ }
275
+ if (formValue.county && !formValue.county.text && formValue.county.value && formValue.state.value === 'MS') {
276
+ this.setMSCounty(formValue.county);
277
+ }
278
+ if (formValue.town && !formValue.town.text && formValue.town.value && formValue.state.value === 'ME') {
279
+ this.setMETown(formValue.town);
280
+ }
281
+ this.addressForm.patchValue(formValue);
282
+ }
283
+ }
284
+ getCountry(country) {
285
+ if (country == null || country == 'US') {
286
+ return { value: "US", text: "United States" };
287
+ }
288
+ else if (country == 'CA') {
289
+ return { value: "CA", text: "Canada" };
290
+ }
291
+ else {
292
+ console.error('No Country configured ', country);
293
+ }
294
+ }
295
+ getState(country, state) {
296
+ if (country == null || country == 'US') {
297
+ return this.getStateValue(ComboOption.US_STATES, state);
298
+ }
299
+ else if (country == 'CA') {
300
+ return this.getStateValue(ComboOption.CA_STATES, state);
301
+ }
302
+ else {
303
+ console.error('No Country configured ', country);
304
+ }
305
+ }
306
+ getStateValue(states, name) {
307
+ return states.filter(state => state.value == name)[0];
308
+ }
309
+ setMETown(town) {
310
+ this.questionnaireService.getCounty('ME', this.zip.value).subscribe(res => {
311
+ this.townOptions = res['choices'];
312
+ let selectedCounty = this.townOptions.filter(c => {
313
+ return c.value == town.value;
314
+ })[0];
315
+ this.town.patchValue(selectedCounty);
316
+ });
317
+ }
318
+ setMSCounty(county) {
319
+ this.questionnaireService.getCounty('MS', this.zip.value).subscribe(res => {
320
+ this.countyOptions = res['choices'];
321
+ let selectedCounty = this.countyOptions.filter(c => {
322
+ return c.value == county.value;
323
+ })[0];
324
+ this.county.patchValue(selectedCounty);
325
+ });
326
+ }
327
+ validate(control) {
328
+ if (this.addressForm.valid) {
329
+ return null;
330
+ }
331
+ }
332
+ submit() {
333
+ this.addressFormDirective.onSubmit(undefined);
334
+ }
335
+ static { this.ɵfac = function AddressComponent_Factory(t) { return new (t || AddressComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.UtilService), i0.ɵɵdirectiveInject(i3.QuestionnaireService), i0.ɵɵdirectiveInject(i4.LoggerService), i0.ɵɵdirectiveInject(i5.DmsService)); }; }
336
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["app-address"]], viewQuery: function AddressComponent_Query(rf, ctx) { if (rf & 1) {
337
+ i0.ɵɵviewQuery(_c0, 5);
338
+ } if (rf & 2) {
339
+ let _t;
340
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.addressFormDirective = _t.first);
341
+ } }, inputs: { countyRequired: "countyRequired", fromPopup: "fromPopup", inputId: "inputId" }, outputs: { address: "address" }, features: [i0.ɵɵProvidersFeature([{
342
+ provide: NG_VALUE_ACCESSOR,
343
+ useExisting: AddressComponent,
344
+ multi: true
345
+ },
346
+ {
347
+ provide: NG_VALIDATORS,
348
+ multi: true,
349
+ useExisting: AddressComponent
350
+ }
351
+ ])], decls: 56, vars: 76, consts: [[2, "margin-bottom", "0px", "margin-left", "0px", 3, "formGroup"], ["addressFormDirective", "ngForm"], [1, "p-formgrid", 3, "id"], [3, "ngClass"], [1, "field"], [3, "for"], ["optionLabel", "text", "appendTo", "body", 3, "options", "formControl", "autoDisplayFirst", "inputId"], [3, "field", "form", "errDef"], ["type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", 3, "id", "formControl", "blur"], [2, "padding-right", "0px", 3, "ngClass"], [1, "field", "p-fluid"], ["type", "input", "pInputText", "", "maxlength", "40", 3, "id", "formControl"], ["type", "input", "pInputText", "", "placeholder", "Optional", "maxlength", "40", 3, "id", "formControl"], [2, "padding-bottom", "0px", 3, "ngClass"], [1, "field", 2, "margin-bottom", "0px"], ["type", "input", "pInputText", "", "maxlength", "30", 3, "id", "formControl"], ["size", "12", "style", "padding-bottom: 0px;", 3, "ngClass", 4, "ngIf"], ["size", "12", 2, "padding-bottom", "0px", 3, "ngClass"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
352
+ i0.ɵɵelementStart(0, "form", 0, 1)(2, "div", 2)(3, "ion-row")(4, "ion-col", 3)(5, "div", 4)(6, "label", 5);
353
+ i0.ɵɵtext(7);
354
+ i0.ɵɵpipe(8, "translate");
355
+ i0.ɵɵelementEnd();
356
+ i0.ɵɵelement(9, "br")(10, "app-dropdown", 6)(11, "app-error", 7);
357
+ i0.ɵɵelementEnd()();
358
+ i0.ɵɵelementStart(12, "ion-col", 3)(13, "div", 4)(14, "label", 5);
359
+ i0.ɵɵtext(15);
360
+ i0.ɵɵpipe(16, "translate");
361
+ i0.ɵɵelementEnd();
362
+ i0.ɵɵelement(17, "br");
363
+ i0.ɵɵelementStart(18, "input", 8);
364
+ i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_18_listener($event) { return ctx.getAddressData($event); });
365
+ i0.ɵɵelementEnd();
366
+ i0.ɵɵelement(19, "br")(20, "app-error", 7);
367
+ i0.ɵɵelementEnd()()();
368
+ i0.ɵɵelementStart(21, "ion-row")(22, "ion-col", 9)(23, "div", 10)(24, "label", 5);
369
+ i0.ɵɵtext(25);
370
+ i0.ɵɵpipe(26, "translate");
371
+ i0.ɵɵelementEnd();
372
+ i0.ɵɵelement(27, "br")(28, "input", 11)(29, "br")(30, "app-error", 7);
373
+ i0.ɵɵelementEnd()()();
374
+ i0.ɵɵelementStart(31, "ion-row")(32, "ion-col", 9)(33, "div", 10);
375
+ i0.ɵɵelement(34, "input", 12);
376
+ i0.ɵɵelementEnd()()();
377
+ i0.ɵɵelementStart(35, "ion-row")(36, "ion-col", 13)(37, "div", 14)(38, "label", 5);
378
+ i0.ɵɵtext(39);
379
+ i0.ɵɵpipe(40, "translate");
380
+ i0.ɵɵelementEnd();
381
+ i0.ɵɵelement(41, "br")(42, "input", 15)(43, "br")(44, "app-error", 7);
382
+ i0.ɵɵelementEnd()();
383
+ i0.ɵɵelementStart(45, "ion-col", 13)(46, "div", 14)(47, "label", 5);
384
+ i0.ɵɵtext(48);
385
+ i0.ɵɵpipe(49, "translate");
386
+ i0.ɵɵelementEnd();
387
+ i0.ɵɵelement(50, "br")(51, "app-dropdown", 6)(52, "br")(53, "app-error", 7);
388
+ i0.ɵɵelementEnd()();
389
+ i0.ɵɵtemplate(54, AddressComponent_ion_col_54_Template, 9, 15, "ion-col", 16)(55, AddressComponent_ion_col_55_Template, 9, 15, "ion-col", 16);
390
+ i0.ɵɵelementEnd()()();
391
+ } if (rf & 2) {
392
+ const _r0 = i0.ɵɵreference(1);
393
+ i0.ɵɵproperty("formGroup", ctx.addressForm);
394
+ i0.ɵɵadvance(2);
395
+ i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId : "address-div");
396
+ i0.ɵɵadvance(2);
397
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
398
+ i0.ɵɵadvance(2);
399
+ i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-country" : "country");
400
+ i0.ɵɵadvance(1);
401
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 61, "Country"));
402
+ i0.ɵɵadvance(3);
403
+ i0.ɵɵproperty("options", ctx.countryOptions)("formControl", ctx.country)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-country" : "country");
404
+ i0.ɵɵadvance(1);
405
+ i0.ɵɵclassMap("app-grid");
406
+ i0.ɵɵproperty("field", ctx.country)("form", _r0)("errDef", i0.ɵɵpureFunction0(71, _c1));
407
+ i0.ɵɵadvance(1);
408
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
409
+ i0.ɵɵadvance(2);
410
+ i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-zip" : "zip");
411
+ i0.ɵɵadvance(1);
412
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 63, "Zipcode"));
413
+ i0.ɵɵadvance(3);
414
+ i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId + "-zip" : "zip")("formControl", ctx.zip);
415
+ i0.ɵɵadvance(2);
416
+ i0.ɵɵclassMap("app-grid");
417
+ i0.ɵɵproperty("field", ctx.zip)("form", _r0)("errDef", i0.ɵɵpureFunction0(72, _c2));
418
+ i0.ɵɵadvance(2);
419
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
420
+ i0.ɵɵadvance(2);
421
+ i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-streetAddress" : "streetAddress");
422
+ i0.ɵɵadvance(1);
423
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 65, "Street Address"));
424
+ i0.ɵɵadvance(3);
425
+ i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId + "-streetAddress" : "streetAddress")("formControl", ctx.streetAddress);
426
+ i0.ɵɵadvance(2);
427
+ i0.ɵɵclassMap("app-grid");
428
+ i0.ɵɵproperty("field", ctx.streetAddress)("form", _r0)("errDef", i0.ɵɵpureFunction0(73, _c1));
429
+ i0.ɵɵadvance(2);
430
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
431
+ i0.ɵɵadvance(2);
432
+ i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId + "-optionalAddress" : "optionalAddress")("formControl", ctx.optionalAddress);
433
+ i0.ɵɵadvance(2);
434
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
435
+ i0.ɵɵadvance(2);
436
+ i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-city" : "city");
437
+ i0.ɵɵadvance(1);
438
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(40, 67, "City"));
439
+ i0.ɵɵadvance(3);
440
+ i0.ɵɵproperty("id", ctx.inputId ? ctx.inputId + "-city" : "city")("formControl", ctx.city);
441
+ i0.ɵɵadvance(2);
442
+ i0.ɵɵclassMap("app-grid");
443
+ i0.ɵɵproperty("field", ctx.city)("form", _r0)("errDef", i0.ɵɵpureFunction0(74, _c1));
444
+ i0.ɵɵadvance(1);
445
+ i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
446
+ i0.ɵɵadvance(2);
447
+ i0.ɵɵproperty("for", ctx.inputId ? ctx.inputId + "-state" : "state");
448
+ i0.ɵɵadvance(1);
449
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(49, 69, "State"));
450
+ i0.ɵɵadvance(3);
451
+ i0.ɵɵproperty("options", ctx.stateOptions)("formControl", ctx.state)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-state" : "state");
452
+ i0.ɵɵadvance(2);
453
+ i0.ɵɵclassMap("app-grid");
454
+ i0.ɵɵproperty("field", ctx.state)("form", _r0)("errDef", i0.ɵɵpureFunction0(75, _c1));
455
+ i0.ɵɵadvance(1);
456
+ i0.ɵɵproperty("ngIf", ctx.state.value && (ctx.state.value.value === "MS" && ctx.forState === "MS" || ctx.state.value.value === "CT" && ctx.forState === "MS") && ctx.countyRequired === true);
457
+ i0.ɵɵadvance(1);
458
+ i0.ɵɵproperty("ngIf", ctx.state.value && ctx.state.value.value === "ME" && ctx.forState === "ME" && ctx.countyRequired === true);
459
+ } }, dependencies: [i6.IonCol, i6.IonRow, i7.NgClass, i7.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MinLengthValidator, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i8.InputText, i9.ErrorComponent, i10.Dropdown, i11.TranslatePipe], styles: [".col[_ngcontent-%COMP%]{padding-top:0;padding-bottom:0}.form-lbl[_ngcontent-%COMP%]{padding-bottom:6px}.inline-flex[_ngcontent-%COMP%]{display:inline-flex}ion-col[_ngcontent-%COMP%]{padding-left:0}.app-col[_ngcontent-%COMP%]{margin-left:27px;padding-right:0}"] }); }
460
+ }
461
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
462
+ type: Component,
463
+ args: [{ selector: 'app-address', providers: [{
464
+ provide: NG_VALUE_ACCESSOR,
465
+ useExisting: AddressComponent,
466
+ multi: true
467
+ },
468
+ {
469
+ provide: NG_VALIDATORS,
470
+ multi: true,
471
+ useExisting: AddressComponent
472
+ }
473
+ ], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\n\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\n <ion-row>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\n <div class=\"field\">\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'Country' | translate}}</label><br />\n <app-dropdown [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\n <div class=\"field\">\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'Zipcode' | translate}}</label><br />\n <input [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\"\n (blur)=\"getAddressData($event)\" /><br />\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required',\n invalidLength: 'Zip code should be of 5 or 9 digits.',\n invalidNumber: 'Zip code should only have numbers.'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n \n\n <ion-row>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\n <div class=\"field p-fluid\">\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'Street Address' | translate}}</label><br />\n <input [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText [formControl]=\"streetAddress\" maxlength=\"40\" /><br />\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n\n <ion-row>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\n <div class=\"field p-fluid\">\n <input [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText [formControl]=\"optionalAddress\" placeholder=\"Optional\"\n maxlength=\"40\" />\n </div>\n </ion-col>\n </ion-row>\n\n\n <ion-row>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\n <div class=\"field\" style=\"margin-bottom: 0px;\">\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'City' | translate}}</label><br />\n <input [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" /><br />\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\n <div class=\"field\" style=\"margin-bottom: 0px;\">\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'State' | translate}}</label><br />\n <app-dropdown [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='MS' && forState==='MS' \n || (state.value.value==='CT' && forState==='MS')) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\n <div class=\"field\" style=\"margin-bottom: 0px;\">\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'County' | translate}}</label><br />\n <app-dropdown [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\n <div class=\"field\" style=\"margin-bottom: 0px;\">\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\n <app-dropdown [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \n required: 'required'\n }\"></app-error>\n </div>\n </ion-col>\n </ion-row>\n </div>\n <!-- </div> -->\n</form>", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
474
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.UtilService }, { type: i3.QuestionnaireService }, { type: i4.LoggerService }, { type: i5.DmsService }], { addressFormDirective: [{
475
+ type: ViewChild,
476
+ args: ['addressFormDirective', { static: false }]
477
+ }], address: [{
478
+ type: Output
479
+ }], countyRequired: [{
480
+ type: Input
481
+ }], fromPopup: [{
482
+ type: Input
483
+ }], inputId: [{
484
+ type: Input
485
+ }] }); })();
486
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressComponent, { className: "AddressComponent" }); })();
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBdUYsYUFBYSxFQUFFLGlCQUFpQixFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlLLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUMrRDFELG1DQUNzSCxjQUFBLGVBQUE7SUFFeEQsWUFBd0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxTQUFBLG1CQUFBO0lBTWhHLGlCQUFNLEVBQUE7Ozs7SUFURCwwRUFBcUQ7SUFHakQsZUFBZ0Q7SUFBaEQsNEVBQWdEO0lBQUMsZUFBd0I7SUFBeEIscURBQXdCO0lBQ2xFLGVBQXlCO0lBQXpCLDhDQUF5Qiw4QkFBQSwyQkFBQSxtRUFBQTtJQUU1QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxxQ0FBZ0IsYUFBQSx1Q0FBQTs7O0lBS3RELG1DQUFtTSxjQUFBLGVBQUE7SUFFekksWUFBc0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxTQUFBLG1C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aUJBQ0E7cUtBTU0sb0JBQW9CO2tCQUQxQixTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQVMxQyxPQUFPO2tCQUFoQixNQUFNO1lBQ0UsY0FBYztrQkFBdEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7O2tGQWRLLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgRG1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rtcy1zZXJ2aWNlL2Rtcy5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkZHJlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkcmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZHJlc3MuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBBZGRyZXNzQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIG11bHRpOiB0cnVlLFxuICAgIHVzZUV4aXN0aW5nOiBBZGRyZXNzQ29tcG9uZW50XG4gIH1cbiAgXSxcblxufSlcbmV4cG9ydCBjbGFzcyBBZGRyZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBWYWxpZGF0b3Ige1xuXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3NGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBhZGRyZXNzRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xuXG4gIHB1YmxpYyBhZGRyZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIHN0YXRlT3B0aW9uczogYW55ID0gW107XG4gIHB1YmxpYyBjb3VudHlPcHRpb25zOiBhbnkgPSBbXTtcbiAgcHVibGljIHRvd25PcHRpb25zOiBhbnkgPSBbXTtcbiAgcHVibGljIGNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcbiAgcHVibGljIGFkZHJlc3NEYXRhOiBBZGRyZXNzQ29tcG9uZW50TW9kZWwgPSBuZXcgQWRkcmVzc0NvbXBvbmVudE1vZGVsKCk7XG4gIEBPdXRwdXQoKSBhZGRyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBjb3VudHlSZXF1aXJlZDogQm9vbGVhbjtcbiAgQElucHV0KCkgZnJvbVBvcHVwOiBCb29sZWFuO1xuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XG4gIHB1YmxpYyBmb3JTdGF0ZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlKSB7XG4gICAgdGhpcy5mb3JTdGF0ZSA9IHV0aWwuZ2V0U3RhdGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5hZGRyZXNzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ2NvdW50cnknOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnemlwJzogW251bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkWmlwQ29kZV0pXSxcbiAgICAgICdzdHJlZXRBZGRyZXNzJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgJ3N0YXRlJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgJ29wdGlvbmFsQWRkcmVzcyc6IFtudWxsXSxcbiAgICAgICd0b3duJzogW251bGxdLFxuICAgICAgJ2NvdW50eSc6IFtudWxsXSxcbiAgICAgICdjaXR5JzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuICAgIFxuICAgIHRoaXMuc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCk7XG5cbiAgICB0aGlzLmNvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyU3RhdGUoY291bnRyeSlcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICBpZihzdGF0ZSl7XG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpICYmIHN0YXRlLnZhbHVlID09ICdNUycpe1xuICAgICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnQ1QnKSAmJiBzdGF0ZS52YWx1ZSA9PSAnQ1QnKXtcbiAgICAgICAgICB0aGlzLmZpbHRlckNvdW50eShzdGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ01FJykgJiYgc3RhdGUudmFsdWUgPT0gJ01FJyl7XG4gICAgICAgICAgdGhpcy5maWx0ZXJUb3duKHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy56aXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSggemlwID0+IHtcbiAgICAgIGlmKHppcCAmJiB0aGlzLnN0YXRlLnZhbHVlID09IHRoaXMuZm9yU3RhdGUpe1xuICAgICAgICB0aGlzLmZpbHRlckNvdW50eSh0aGlzLnN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuY291bnRyeS5zZXRWYWx1ZSh7IHZhbHVlOiBcIlVTXCIsIHRleHQ6IFwiVW5pdGVkIFN0YXRlc1wiIH0pO1xuICB9XG5cbiAgc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuc3RhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzdGF0ZVZhbHVlID0+IHtcbiAgICAgIGlmIChzdGF0ZVZhbHVlKSB7XG4gICAgICAgIGlmICgoKHN0YXRlVmFsdWUudmFsdWUgPT09ICdNUycgJiYgdGhpcy5mb3JTdGF0ZSA9PT0gJ01TJylcbiAgICAgICAgICB8fCAoc3RhdGVWYWx1ZS52YWx1ZSA9PT0gJ0NUJyAmJiB0aGlzLmZvclN0YXRlID09PSAnQ1QnKSkgJiYgdGhpcy5jb3VudHlSZXF1aXJlZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvdW50eSk7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnRvd24pO1xuICAgICAgICAgIHRoaXMudG93bi5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZVZhbHVlLnZhbHVlID09PSAnTUUnICYmIHRoaXMuZm9yU3RhdGUgPT09ICdNRScgJiYgdGhpcy5jb3VudHlSZXF1aXJlZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnRvd24pO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHkpO1xuICAgICAgICAgIHRoaXMuY291bnR5LnNldFZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHkpO1xuICAgICAgICAgIHRoaXMuY291bnR5LnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy50b3duKTtcbiAgICAgICAgICB0aGlzLnRvd24uc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICBnZXQgdG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1sndG93biddO1xuICB9XG5cbiAgZ2V0IGNvdW50eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snY291bnR5J107XG4gIH1cblxuICBnZXQgY2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snY2l0eSddO1xuICB9XG5cbiAgZ2V0IGNvdW50cnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NvdW50cnknXTtcbiAgfVxuXG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snc3RhdGUnXTtcbiAgfVxuXG4gIGdldCB6aXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3ppcCddO1xuICB9XG5cbiAgZ2V0IHN0cmVldEFkZHJlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3N0cmVldEFkZHJlc3MnXTtcbiAgfVxuXG4gIGdldCBvcHRpb25hbEFkZHJlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ29wdGlvbmFsQWRkcmVzcyddO1xuICB9XG5cbiAgZ2V0QWRkcmVzc0RhdGEoZXZlbnQpIHtcbiAgICBpZiAodGhpcy56aXAgJiYgdGhpcy56aXAudmFsdWUpIHtcbiAgICAgIHRoaXMuZG1zXG4gICAgICAgIC5nZXRBZGRyZXNzKHRoaXMuemlwLnZhbHVlKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc3NEYXRhID0gcmVzO1xuICAgICAgICAgICAgdGhpcy5jaXR5LnNldFZhbHVlKHRoaXMuYWRkcmVzc0RhdGEuY2l0eSk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLnNldFZhbHVlKHRoaXMuYWRkcmVzc0RhdGEuc3RhdGUpO1xuICAgICAgICAgICAgLy90aGlzLmNvdW50cnkuc2V0VmFsdWUodGhpcy5hZGRyZXNzRGF0YS5jb3VudHJ5KTtcbiAgICAgICAgICAgIHRoaXMuY291bnR5LnNldFZhbHVlKHRoaXMuYWRkcmVzc0RhdGEuY291bnR5KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlcnIpO1xuICAgICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckNvdW50cnkoZXZlbnQpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZXZlbnQnLCBldmVudClcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XG4gICAgbGV0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeU9wdGlvbnNbaV07XG4gICAgICBpZiAoY291bnRyeS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XG4gICAgICAgIHRoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcblxuICB9XG5cbiAgZmlsdGVyQ291bnR5KGV2ZW50KSB7XG4gICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRDb3VudHkodGhpcy5zdGF0ZS52YWx1ZVsndmFsdWUnXSwgdGhpcy56aXAudmFsdWUpLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIC8qdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzWydjaG9pY2VzJ10ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBsZXQgY2hvaWNlID0gcmVzWydjaG9pY2VzJ11baV07XG4gICAgICAgICAgaWYgKGNob2ljZS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvd2VyQ2FzZSgpKSA9PSAwKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9Ki9cbiAgICAgICAgdGhpcy5jb3VudHlPcHRpb25zID0gcmVzWydjaG9pY2VzJ107XG4gICAgICB9KTtcbiAgfVxuXG4gIGZpbHRlclRvd24oZXZlbnQpIHtcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLmdldENvdW50eSh0aGlzLnN0YXRlLnZhbHVlWyd2YWx1ZSddLCB0aGlzLnppcC52YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy50b3duT3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xuICAgICAgfSk7XG4gIH1cblxuICBmaWx0ZXJTdGF0ZShldmVudCkge1xuICAgIGxldCBjaG9pY2U6IGFueTtcbiAgICBpZiAodGhpcy5jb3VudHJ5Py52YWx1ZT8udmFsdWUgPT09ICdVUycpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUy5maW5kKHN0YXRlID0+IHN0YXRlLnZhbHVlID09IHRoaXMudXRpbC5nZXRTdGF0ZSgpKVxuICAgICAgY2hvaWNlID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvdW50cnk/LnZhbHVlPy52YWx1ZSA9PT0gJ0NBJykge1xuICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTO1xuICAgIH1cblxuICAgIC8qZm9yIChsZXQgaSA9IDA7IGkgPCBjaG9pY2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChjaG9pY2VbaV0udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZVtpXSk7XG4gICAgICB9XG4gICAgfSovXG4gICAgdGhpcy5zdGF0ZU9wdGlvbnMgPSBjaG9pY2U7XG5cbiAgfVxuXG4gIHNldFdpZHRoU3R5bGUoKTogb2JqZWN0IHtcbiAgICBpZiAodGhpcy5mcm9tUG9wdXApIHtcbiAgICAgIGxldCBzdHlsZU9iaiA9IHtcbiAgICAgICAgJ21heC13aWR0aCc6ICdpbml0aWFsJ1xuICAgICAgfTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHN0eWxlT2JqID0ge1xuICAgICAgICAnbWF4LXdpZHRoJzogJ2ZpdC1jb250ZW50J1xuICAgICAgfTtcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcbiAgICB9XG4gIH1cblxuICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IGFueSkge1xuICAgIGNvbnN0IHN1YiA9IHRoaXMuYWRkcmVzc0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShvbkNoYW5nZSk7XG4gICAgdGhpcy5vbkNoYW5nZVN1YnMucHVzaChzdWIpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBGdW5jdGlvbikge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5kaXNhYmxlKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGxldCBmb3JtVmFsdWUgOiBBZGRyZXNzQ29tcG9uZW50TW9kZWw7XG4gICAgaWYodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKXtcbiAgICAgIGZvcm1WYWx1ZSA9IEpTT04ucGFyc2UodmFsdWUudG9TdHJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1WYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBpZiAoZm9ybVZhbHVlKSB7XG4gICAgICBpZiAoZm9ybVZhbHVlLmNvdW50cnkgJiYgIWZvcm1WYWx1ZS5jb3VudHJ5LnRleHQgJiYgZm9ybVZhbHVlLmNvdW50cnkudmFsdWUpIHtcbiAgICAgICAgbGV0IGNvdW50cnkgPSB0aGlzLmdldENvdW50cnkoZm9ybVZhbHVlLmNvdW50cnk/LnZhbHVlKVxuICAgICAgICBmb3JtVmFsdWUuY291bnRyeSA9IGNvdW50cnk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3JtVmFsdWUuc3RhdGUgJiYgIWZvcm1WYWx1ZS5zdGF0ZS50ZXh0ICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSkge1xuICAgICAgICBsZXQgc3RhdGUgPSB0aGlzLmdldFN0YXRlKGZvcm1WYWx1ZS5jb3VudHJ5Py52YWx1ZSwgZm9ybVZhbHVlLnN0YXRlLnZhbHVlLnRyaW0oKSlcbiAgICAgICAgZm9ybVZhbHVlLnN0YXRlID0gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3JtVmFsdWUuY291bnR5ICYmICFmb3JtVmFsdWUuY291bnR5LnRleHQgJiYgZm9ybVZhbHVlLmNvdW50eS52YWx1ZSAmJiBmb3JtVmFsdWUuc3RhdGUudmFsdWUgPT09ICdNUycpIHtcbiAgICAgICAgdGhpcy5zZXRNU0NvdW50eShmb3JtVmFsdWUuY291bnR5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZvcm1WYWx1ZS50b3duICYmICFmb3JtVmFsdWUudG93bi50ZXh0ICYmIGZvcm1WYWx1ZS50b3duLnZhbHVlICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSA9PT0gJ01FJykge1xuICAgICAgICB0aGlzLnNldE1FVG93bihmb3JtVmFsdWUudG93bik7XG4gICAgICB9XG4gICAgICB0aGlzLmFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoZm9ybVZhbHVlKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgZ2V0Q291bnRyeShjb3VudHJ5KSB7XG4gICAgaWYgKGNvdW50cnkgPT0gbnVsbCB8fCBjb3VudHJ5ID09ICdVUycpIHtcbiAgICAgIHJldHVybiB7IHZhbHVlOiBcIlVTXCIsIHRleHQ6IFwiVW5pdGVkIFN0YXRlc1wiIH07XG4gICAgfSBlbHNlIGlmIChjb3VudHJ5ID09ICdDQScpIHtcbiAgICAgIHJldHVybiB7IHZhbHVlOiBcIkNBXCIsIHRleHQ6IFwiQ2FuYWRhXCIgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignTm8gQ291bnRyeSBjb25maWd1cmVkICcsIGNvdW50cnkpO1xuICAgIH1cblxuICB9XG5cbiAgZ2V0U3RhdGUoY291bnRyeSwgc3RhdGUpIHtcbiAgICBpZiAoY291bnRyeSA9PSBudWxsIHx8IGNvdW50cnkgPT0gJ1VTJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVWYWx1ZShDb21ib09wdGlvbi5VU19TVEFURVMsIHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKGNvdW50cnkgPT0gJ0NBJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVWYWx1ZShDb21ib09wdGlvbi5DQV9TVEFURVMsIHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignTm8gQ291bnRyeSBjb25maWd1cmVkICcsIGNvdW50cnkpO1xuICAgIH1cbiAgfVxuXG5cbiAgZ2V0U3RhdGVWYWx1ZShzdGF0ZXM6IENvbWJvT3B0aW9uW10sIG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBzdGF0ZXMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlID09IG5hbWUpWzBdO1xuICB9XG5cbiAgc2V0TUVUb3duKHRvd246IENvbWJvT3B0aW9uKSB7XG4gICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRDb3VudHkoJ01FJywgdGhpcy56aXAudmFsdWUpLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIHRoaXMudG93bk9wdGlvbnMgPSByZXNbJ2Nob2ljZXMnXTtcbiAgICAgICAgbGV0IHNlbGVjdGVkQ291bnR5ID0gdGhpcy50b3duT3B0aW9ucy5maWx0ZXIoYyA9PiB7XG4gICAgICAgICAgcmV0dXJuIGMudmFsdWUgPT0gdG93bi52YWx1ZTtcbiAgICAgICAgfSlbMF07XG4gICAgICAgIHRoaXMudG93bi5wYXRjaFZhbHVlKHNlbGVjdGVkQ291bnR5KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0TVNDb3VudHkoY291bnR5OiBDb21ib09wdGlvbikge1xuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KCdNUycsIHRoaXMuemlwLnZhbHVlKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLmNvdW50eU9wdGlvbnMgPSByZXNbJ2Nob2ljZXMnXTtcbiAgICAgICAgbGV0IHNlbGVjdGVkQ291bnR5ID0gdGhpcy5jb3VudHlPcHRpb25zLmZpbHRlcihjID0+IHtcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSBjb3VudHkudmFsdWU7XG4gICAgICAgIH0pWzBdO1xuICAgICAgICB0aGlzLmNvdW50eS5wYXRjaFZhbHVlKHNlbGVjdGVkQ291bnR5KTtcbiAgICAgIH0pO1xuICB9XG5cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAodGhpcy5hZGRyZXNzRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3VibWl0KCl7XG4gICAgdGhpcy5hZGRyZXNzRm9ybURpcmVjdGl2ZS5vblN1Ym1pdCh1bmRlZmluZWQpO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtXCIgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IG1hcmdpbi1sZWZ0OiAwcHg7XCI+XG4gIDwhLS0gPGRpdiBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtXCIgICNhZGRyZXNzRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiID4gLS0+XG5cbiAgPGRpdiBjbGFzcz1cInAtZm9ybWdyaWRcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgOiAnYWRkcmVzcy1kaXYnXCI+XG4gICAgPGlvbi1yb3c+XG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHJ5JyA6ICdjb3VudHJ5J1wiPnt7J0NvdW50cnknIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJjb3VudHJ5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjb3VudHJ5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgW2lucHV0SWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNvdW50cnknIDogJ2NvdW50cnknXCIgPjwvYXBwLWRyb3Bkb3duPlxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50cnknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wgYXBwLWNvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctemlwJyA6ICd6aXAnXCI+e3snWmlwY29kZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XG4gICAgICAgICAgICA8aW5wdXQgW2lkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy16aXAnIDogJ3ppcCdcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ6aXBcIiBtaW5sZW5ndGg9XCI1XCIgbWF4bGVuZ3RoPVwiOVwiXG4gICAgICAgICAgICAgIChibHVyKT1cImdldEFkZHJlc3NEYXRhKCRldmVudClcIiAvPjxiciAvPlxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ppcCcgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgICAgICAgaW52YWxpZExlbmd0aDogJ1ppcCBjb2RlIHNob3VsZCBiZSBvZiA1IG9yIDkgZGlnaXRzLicsXG4gICAgICAgICAgICAgICAgaW52YWxpZE51bWJlcjogJ1ppcCBjb2RlIHNob3VsZCBvbmx5IGhhdmUgbnVtYmVycy4nXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gIFxuXG4gICAgPGlvbi1yb3c+XG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMHB4O1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgcC1mbHVpZFwiPlxuICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdHJlZXRBZGRyZXNzJyA6ICdzdHJlZXRBZGRyZXNzJ1wiPnt7J1N0cmVldCBBZGRyZXNzJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICA8aW5wdXQgW2lkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdHJlZXRBZGRyZXNzJyA6ICdzdHJlZXRBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInN0cmVldEFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIC8+PGJyIC8+XG4gICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0cmVldEFkZHJlc3MnIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cblxuICAgIDxpb24tcm93PlxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIHAtZmx1aWRcIj5cbiAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLW9wdGlvbmFsQWRkcmVzcycgOiAnb3B0aW9uYWxBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm9wdGlvbmFsQWRkcmVzc1wiIHBsYWNlaG9sZGVyPVwiT3B0aW9uYWxcIlxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNDBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cblxuXG4gICAgPGlvbi1yb3c+XG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7XCI+XG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctY2l0eScgOiAnY2l0eSdcIj57eydDaXR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICAgIDxpbnB1dCBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNpdHknIDogJ2NpdHknXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgLz48YnIgLz5cbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjaXR5JyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wgYXBwLWNvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAgc3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMHB4O1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIj57eydTdGF0ZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdGF0ZScgOiAnc3RhdGUnXCI+PC9hcHAtZHJvcGRvd24+PGJyIC8+XG4gICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXRlJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAqbmdJZj1cInN0YXRlLnZhbHVlICYmIChzdGF0ZS52YWx1ZS52YWx1ZT09PSdNUycgJiYgZm9yU3RhdGU9PT0nTVMnIFxuICAgICAgICB8fCAoc3RhdGUudmFsdWUudmFsdWU9PT0nQ1QnICAmJiBmb3JTdGF0ZT09PSdNUycpKSAgJiYgY291bnR5UmVxdWlyZWQ9PT10cnVlXCIgc2l6ZT1cIjEyXCJzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7XCI+XG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctY291bnR5JyA6ICdjb3VudHknXCI+e3snQ291bnR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiY291bnR5T3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjb3VudHlcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxuICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHknIDogJ2NvdW50eSdcIj48L2FwcC1kcm9wZG93bj48YnIvPlxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50eScgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAqbmdJZj1cInN0YXRlLnZhbHVlICYmIHN0YXRlLnZhbHVlLnZhbHVlPT09J01FJyAmJiBmb3JTdGF0ZT09PSdNRScgJiYgY291bnR5UmVxdWlyZWQ9PT10cnVlXCIgc2l6ZT1cIjEyXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDtcIj5cbiAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy10b3duJyA6ICd0b3duJ1wiPnt7J1Rvd24nIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ0b3duT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ0b3duXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbaW5wdXRJZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctdG93bicgOiAndG93bidcIj48L2FwcC1kcm9wZG93bj48YnIvPlxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3Rvd24nIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gIDwvZGl2PlxuICA8IS0tIDwvZGl2PiAtLT5cbjwvZm9ybT4iXX0=