@reusa/ngx-reusa-app-lib 0.0.1373 → 0.0.1374

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 (545) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1324 -2394
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +152 -287
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -32
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +574 -422
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +101 -112
  19. package/esm2022/lib/components/header/header.component.mjs +174 -440
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -68
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +288 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +353 -749
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1153 -877
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +699 -208
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +41 -128
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +360 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +387 -655
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +61 -125
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  66. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  67. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  68. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  69. package/esm2022/lib/models/UserModel.mjs +1 -1
  70. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  71. package/esm2022/lib/models/dependent.model.mjs +1 -1
  72. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  74. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  76. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  77. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  78. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  79. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  80. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  81. package/esm2022/lib/pages/BasePage.mjs +23 -4
  82. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  83. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  84. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  85. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  86. package/esm2022/lib/pages/common/login/login.component.mjs +13 -7
  87. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  88. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  89. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  90. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  91. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  92. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  93. package/esm2022/lib/services/base-service.mjs +1 -4
  94. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  95. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  96. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  97. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  98. package/esm2022/lib/services/help/help.service.mjs +1 -1
  99. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  100. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  101. package/esm2022/lib/services/login/login.service.mjs +14 -29
  102. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  103. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  104. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  105. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  106. package/esm2022/lib/services/util/util.service.mjs +5 -61
  107. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  108. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  109. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  110. package/esm2022/public-api.mjs +5 -47
  111. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26939 -44815
  112. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  113. package/lib/components/add-employer/add-employer.component.d.ts +53 -137
  114. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  115. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  116. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  117. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  118. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  119. package/lib/components/address/address.component.d.ts +15 -42
  120. package/lib/components/address/address.component.d.ts.map +1 -1
  121. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  122. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  123. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  124. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  125. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  126. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  127. package/lib/components/email-update/email-update.component.d.ts +12 -1
  128. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  129. package/lib/components/employer-grid/employer-grid.component.d.ts +15 -25
  130. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  131. package/lib/components/error/error.component.d.ts +2 -3
  132. package/lib/components/error/error.component.d.ts.map +1 -1
  133. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  134. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  135. package/lib/components/footer/footer.component.d.ts.map +1 -1
  136. package/lib/components/header/header.component.d.ts +5 -17
  137. package/lib/components/header/header.component.d.ts.map +1 -1
  138. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  139. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  140. package/lib/components/job-title/job-title.component.d.ts +23 -22
  141. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  142. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  143. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  144. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  145. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  146. package/lib/components/menu/menu.component.d.ts +12 -3
  147. package/lib/components/menu/menu.component.d.ts.map +1 -1
  148. package/lib/components/mfa/mfa.component.d.ts +19 -7
  149. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  150. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  151. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  152. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  153. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  154. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  155. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  156. package/lib/components/profile/profile.component.d.ts +49 -82
  157. package/lib/components/profile/profile.component.d.ts.map +1 -1
  158. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  159. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  160. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  161. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  162. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  163. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  164. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  165. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  166. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  167. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  168. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +35 -33
  169. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  170. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  171. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  172. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  173. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  174. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  175. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  176. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  177. package/lib/components/questionnaire/question.service.d.ts +1 -0
  178. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  179. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  180. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  181. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  182. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  183. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  184. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  185. package/lib/components/security-question/security-question.component.d.ts +37 -0
  186. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  187. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  188. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  189. package/lib/components/user-login/user-login.component.d.ts +38 -5
  190. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  191. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  192. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  193. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  194. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  195. package/lib/guards/auth.guard.d.ts.map +1 -1
  196. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  197. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  198. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  199. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  200. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  201. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  202. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  203. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  204. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  205. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  206. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  207. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  208. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  209. package/lib/models/LibConstants.d.ts +1 -40
  210. package/lib/models/LibConstants.d.ts.map +1 -1
  211. package/lib/models/OtpAuthModel.d.ts +1 -0
  212. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  213. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  214. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  215. package/lib/models/PaymentComponentModel.d.ts +1 -1
  216. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  217. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  218. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  219. package/lib/models/UserModel.d.ts +1 -0
  220. package/lib/models/UserModel.d.ts.map +1 -1
  221. package/lib/models/dashboard-model.d.ts +0 -22
  222. package/lib/models/dashboard-model.d.ts.map +1 -1
  223. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  224. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  225. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -15
  226. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  227. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  228. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  229. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  230. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  231. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  232. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  233. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  234. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  235. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +1 -0
  236. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  237. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  238. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  239. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  240. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  241. package/lib/pages/BasePage.d.ts +6 -3
  242. package/lib/pages/BasePage.d.ts.map +1 -1
  243. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  244. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  245. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  246. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  247. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  248. package/lib/services/base-service.d.ts +0 -12
  249. package/lib/services/base-service.d.ts.map +1 -1
  250. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  251. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  252. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  253. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  254. package/lib/services/claims/claims.service.d.ts +5 -39
  255. package/lib/services/claims/claims.service.d.ts.map +1 -1
  256. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  257. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  258. package/lib/services/login/login.service.d.ts +3 -5
  259. package/lib/services/login/login.service.d.ts.map +1 -1
  260. package/lib/services/ovp/ovp.service.d.ts +17 -0
  261. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  262. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  263. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  264. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  265. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  266. package/lib/services/security-service/security.service.d.ts +4 -12
  267. package/lib/services/security-service/security.service.d.ts.map +1 -1
  268. package/lib/services/util/util.service.d.ts +0 -6
  269. package/lib/services/util/util.service.d.ts.map +1 -1
  270. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  271. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  272. package/lib/validations/AppRegex.d.ts +2 -0
  273. package/lib/validations/AppRegex.d.ts.map +1 -1
  274. package/lib/validations/AppValidators.d.ts +24 -20
  275. package/lib/validations/AppValidators.d.ts.map +1 -1
  276. package/package.json +2 -2
  277. package/public-api.d.ts +4 -46
  278. package/public-api.d.ts.map +1 -1
  279. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  280. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  281. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  282. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  283. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  284. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  285. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  286. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  287. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  288. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  289. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  290. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  291. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  292. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  293. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  294. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  295. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  296. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  297. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  298. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  299. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  300. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  301. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  302. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  303. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  304. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  305. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  306. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -828
  307. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  308. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  309. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  310. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  311. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  312. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  313. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -690
  314. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  315. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  316. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  317. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  318. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  319. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  320. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  321. package/esm2022/lib/models/CountyModel.mjs +0 -3
  322. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  323. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  324. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  325. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  326. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  327. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  328. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  329. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  330. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  331. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  332. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  333. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  334. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  335. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  336. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  337. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  338. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  339. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  340. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  341. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  342. package/esm2022/lib/models/combo-model.mjs +0 -343
  343. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  344. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  345. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  346. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  347. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  348. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  349. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  350. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  351. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  352. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  353. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  354. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  355. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  356. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  357. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  358. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  359. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  360. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  361. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  362. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  363. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  364. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  365. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  366. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  367. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  368. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  369. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  370. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  371. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  372. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  373. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  374. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  375. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  376. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  377. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  378. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  379. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  380. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  381. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  382. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  383. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  384. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  385. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  386. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  387. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  388. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  389. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  390. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  391. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  392. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  393. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  394. package/lib/components/history-page/history-page.component.d.ts +0 -80
  395. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  396. package/lib/components/idme/idme.component.d.ts +0 -19
  397. package/lib/components/idme/idme.component.d.ts.map +0 -1
  398. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  399. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  400. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  401. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  402. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  403. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  404. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  405. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  406. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  407. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  408. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  409. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  410. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  411. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  412. package/lib/components/sms/sms.component.d.ts +0 -63
  413. package/lib/components/sms/sms.component.d.ts.map +0 -1
  414. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  415. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  416. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  417. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  418. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  419. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  420. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  421. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  422. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  423. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  424. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  425. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  426. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  427. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  428. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  429. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  430. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  431. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  432. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  433. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  434. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  435. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  436. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  437. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  438. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  439. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  440. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  441. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  442. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  443. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  444. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  445. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  446. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  447. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  448. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  449. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  450. package/lib/models/ActiveClaimModel.d.ts +0 -8
  451. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  452. package/lib/models/CountyModel.d.ts +0 -8
  453. package/lib/models/CountyModel.d.ts.map +0 -1
  454. package/lib/models/DuaAppDataModel.d.ts +0 -5
  455. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  456. package/lib/models/DuaRequestModel.d.ts +0 -10
  457. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  458. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  459. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  460. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  461. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  462. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  463. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  464. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  465. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  466. package/lib/models/GrossEarningsModel.d.ts +0 -6
  467. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  468. package/lib/models/HelpConstants.d.ts +0 -5
  469. package/lib/models/HelpConstants.d.ts.map +0 -1
  470. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  471. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  472. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  473. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  474. package/lib/models/RetroWeeksModel.d.ts +0 -11
  475. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  476. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  477. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  478. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  479. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  480. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  481. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  482. package/lib/models/WageCalculatorModel.d.ts +0 -15
  483. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  484. package/lib/models/WageInfoModel.d.ts +0 -9
  485. package/lib/models/WageInfoModel.d.ts.map +0 -1
  486. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  487. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  488. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  489. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  490. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  491. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  492. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  493. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  494. package/lib/models/combo-model.d.ts +0 -42
  495. package/lib/models/combo-model.d.ts.map +0 -1
  496. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  497. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  498. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  499. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  500. package/lib/models/fileupload/FileObject.d.ts +0 -8
  501. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  502. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  503. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  504. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  505. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  506. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  507. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  508. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  509. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  510. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  511. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  512. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  513. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  514. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  515. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  516. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  517. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  518. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  519. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  520. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  521. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  522. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  523. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  524. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  525. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  526. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  527. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  528. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  529. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  530. package/lib/services/appeal/appeal.service.d.ts +0 -16
  531. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  532. package/lib/services/birt-service/birt.service.d.ts +0 -17
  533. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  534. package/lib/services/employer/employer-service.d.ts +0 -16
  535. package/lib/services/employer/employer-service.d.ts.map +0 -1
  536. package/lib/services/event-service/event-service.d.ts +0 -20
  537. package/lib/services/event-service/event-service.d.ts.map +0 -1
  538. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  539. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  540. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  541. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  542. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  543. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  544. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  545. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { HttpParams } from '@angular/common/http';
1
2
  import { Injectable } from '@angular/core';
2
3
  import { LibConstants } from '../../models/LibConstants';
3
4
  import { BaseService } from '../base-service';
@@ -9,13 +10,9 @@ export class ClaimService extends BaseService {
9
10
  super(http);
10
11
  this.http = http;
11
12
  this.reasonSeparation = new BehaviorSubject([]);
12
- this.filteredReasonSeparation = new BehaviorSubject([]);
13
13
  this.dischargeReasons = new BehaviorSubject([]);
14
14
  this.quitReasons = new BehaviorSubject([]);
15
15
  this.actionsList = new BehaviorSubject([]);
16
- this.disastersList = new BehaviorSubject([]);
17
- this.countyList = new BehaviorSubject([]);
18
- this.countyListIncludingOutOfState = new BehaviorSubject([]);
19
16
  }
20
17
  setServiceContext() {
21
18
  this.serviceContext = LibConstants.claims_service.context;
@@ -37,17 +34,6 @@ export class ClaimService extends BaseService {
37
34
  this.get('claims-master/reason-separation')
38
35
  .subscribe(res => this.reasonSeparation.next(res));
39
36
  }
40
- clearFilteredReasonSeparation() {
41
- this.filteredReasonSeparation.value.length = 0;
42
- }
43
- getFilteredReasonSeparation() {
44
- return this.filteredReasonSeparation;
45
- }
46
- loadFilteredReasonSeparation(model) {
47
- if (this.filteredReasonSeparation.getValue().length < 1)
48
- this.post('claims-master/reason-separation/filtered', model)
49
- .subscribe(res => this.filteredReasonSeparation.next(res));
50
- }
51
37
  getDischargeReasons() {
52
38
  return this.dischargeReasons;
53
39
  }
@@ -74,11 +60,13 @@ export class ClaimService extends BaseService {
74
60
  loadBasePeriodWages(clmEmpRequestModel) {
75
61
  return this.post('claim/app/bpemployers', clmEmpRequestModel);
76
62
  }
77
- getAllowSepPreviousIssuesForSSN() {
78
- return this.get('claim/csr/allow-sep-prev-issue');
63
+ getAllowSepPreviousIssuesForSSN(ssnInput) {
64
+ let paramsVal = new HttpParams().set("ssn", ssnInput);
65
+ return this.get('claim/csr/allow-sep-prev-issue', { params: paramsVal });
79
66
  }
80
- getRequalifyLiftIssuesForSSN() {
81
- return this.get('claim/csr/requalify-lift');
67
+ getRequalifyLiftIssuesForSSN(ssnInput) {
68
+ let paramsVal = new HttpParams().set("ssn", ssnInput);
69
+ return this.get('claim/csr/requalify-lift', { params: paramsVal });
82
70
  }
83
71
  getRequalifyCriteriaEnum() {
84
72
  if (this.actionsList.getValue().length < 1) {
@@ -86,9 +74,9 @@ export class ClaimService extends BaseService {
86
74
  .subscribe(res => this.actionsList.next(res));
87
75
  }
88
76
  }
89
- getUI512AResponses() {
90
- //let paramsVal = new HttpParams().set("ssn",ssnInput)
91
- return this.get('claim/csr/ui512a-response');
77
+ getUI512AResponses(ssnInput) {
78
+ let paramsVal = new HttpParams().set("ssn", ssnInput);
79
+ return this.get('claim/csr/ui512a-response', { params: paramsVal });
92
80
  }
93
81
  fetchSSAStatusForClaimApplication(claimIdentifier) {
94
82
  return this.get(`claim/app/${claimIdentifier}/ssa_status`);
@@ -96,91 +84,12 @@ export class ClaimService extends BaseService {
96
84
  reVerifySSAStatusForClaimApplication(data, claimIdentifier) {
97
85
  return this.post(`claim/app/${claimIdentifier}/ssa_status/re-verify`, data);
98
86
  }
87
+ getJobTileOrPosition(query) {
88
+ return this.get(`claim/jobtitle/` + `${query}`);
89
+ }
99
90
  getActionsList() {
100
91
  return this.actionsList;
101
92
  }
102
- getPhoneNumbersForOtpByUuid(uuid) {
103
- return this.get(`ln/phone-email-for-claimant/${uuid}`);
104
- }
105
- fetchRetroWeeks() {
106
- return this.get(`claim/dua-app/retro-weeks`, null);
107
- }
108
- fetchListOfDisaters() {
109
- return this.get('claim-utility/declaration');
110
- }
111
- getDisastersList() {
112
- return this.disastersList;
113
- }
114
- loadDisastersList() {
115
- if (this.disastersList.getValue().length < 1)
116
- this.get('claim-utility/declaration')
117
- .subscribe(res => this.disastersList.next(res));
118
- }
119
- getCountyList() {
120
- return this.countyList;
121
- }
122
- getCountyIncludingOutOfStateList() {
123
- return this.countyListIncludingOutOfState;
124
- }
125
- loadCountyList() {
126
- if (this.countyList.getValue().length < 1)
127
- this.get('claims-master/counties')
128
- .subscribe(res => this.countyList.next(res));
129
- }
130
- loadCountyIncludingOutOfStateList() {
131
- if (this.countyListIncludingOutOfState.getValue().length < 1)
132
- this.get('claim/county-with-oos')
133
- .subscribe(res => this.countyListIncludingOutOfState.next(res));
134
- }
135
- loadDisasterData() {
136
- this.loadDisastersList();
137
- this.loadCountyList();
138
- this.loadCountyIncludingOutOfStateList();
139
- }
140
- createAndInitiateDuaRequest(model) {
141
- return this.post('claim/dua-request', model);
142
- }
143
- saveDiasterImpactOnExistingClaimApp(model) {
144
- return this.post('claim/new-application/dua-request', model);
145
- }
146
- getListOfActiveClaim() {
147
- return this.get('claim/list-of-active-claims');
148
- }
149
- fetchBasePeriod() {
150
- return this.get('claim-utility/baseperiod/format');
151
- }
152
- determineNewClaimEligibility() {
153
- return this.get('claim/check-eligibility');
154
- }
155
- determineNewClaimEligibilityForCsr() {
156
- return this.get('claim/csr/check-eligibility');
157
- }
158
- determineInitialClaimEligibilityForCsr() {
159
- return this.get('claim/csr/check-initial-eligibility');
160
- }
161
- /*createAndInitiateClaimApplicationWithBackDateForCSR(model: BackDateRequestModel) {
162
- return this.post<BackDateRequestModel[]>('claim/csr/new-application/backdate', model)
163
- }
164
-
165
- fetchPreviousFilledBackdateResponse() {
166
- return this.get<BackDateRequestModel[]>('claim/csr/backdate-response');
167
- }
168
-
169
- fetchMaxMinForCSRBackdating() {
170
- return this.get<any>('claim-utility/min-max-csr-backdate')
171
- }*/
172
- fetchPreviousFilledDuaResponse() {
173
- return this.get('claim/dua-response');
174
- }
175
- saveDisasterRequestPostClaim(model) {
176
- return this.post('claim/dua-request-post-claim', model);
177
- }
178
- createAndInitiateDuaRequestAndCheckEligibility(model) {
179
- return this.post('claim/dua-request/check-eligibility', model);
180
- }
181
- processDuaAppPostClaim(model) {
182
- return this.post('claim/apply-dua-post-claim/submit', model);
183
- }
184
93
  static { this.ɵfac = function ClaimService_Factory(t) { return new (t || ClaimService)(i0.ɵɵinject(i1.HttpClient)); }; }
185
94
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ClaimService, factory: ClaimService.ɵfac, providedIn: 'root' }); }
186
95
  }
@@ -190,4 +99,4 @@ export class ClaimService extends BaseService {
190
99
  providedIn: 'root'
191
100
  }]
192
101
  }], () => [{ type: i1.HttpClient }], null); })();
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBbUJyQyxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFhM0MsWUFBbUIsSUFBaUI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssU0FBSSxHQUFKLElBQUksQ0FBYTtRQVg1QixxQkFBZ0IsR0FBcUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UsNkJBQXdCLEdBQXFDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLHFCQUFnQixHQUFxQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RSxnQkFBVyxHQUFxQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RSxnQkFBVyxHQUFzQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxrQkFBYSxHQUFxQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxlQUFVLEdBQW9DLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLGtDQUE2QixHQUFvQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUtqRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMs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Q1IsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvS2V5VmFsdWVNb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9SZXF1YWxpZnlMaWZ0UGFnZU1vZGVsJztcclxuaW1wb3J0IHsgU3NhVmVyaWZpY2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvU3NhVmVyaWZpY2F0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBMZXhpc05leGlzT3RwRGV0YWlsc1Jlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGV4aXNOZXhpc090cERldGFpbHNSZXNwb25zZU1vZGVsJztcclxuaW1wb3J0IHsgRHVhUmV0cm9XZWVrc0NvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0R1YVJldHJvV2Vla3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IFJlYXNvblNlcGFyYXRpb25SZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvUmVhc29uU2VwYXJhdGlvblJlcXVlc3RNb2RlbCc7XHJcbmltcG9ydCB7IENvdW50eU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0NvdW50eU1vZGVsJztcclxuaW1wb3J0IHsgRHVhUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0R1YVJlcXVlc3RNb2RlbCc7XHJcbmltcG9ydCB7IEFjdGl2ZUNsYWltTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWN0aXZlQ2xhaW1Nb2RlbCc7IFxyXG5pbXBvcnQgeyBTdGF0dXNNb2RlbCB9ICBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9TdGF0dXNNb2RlbCc7XHJcbmltcG9ydCB7IER1YUFwcERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9EdWFBcHBEYXRhTW9kZWwnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG4gIH0pXHJcbiAgZXhwb3J0IGNsYXNzIENsYWltU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNle1xyXG5cclxuICAgIHByaXZhdGUgcmVhc29uU2VwYXJhdGlvbiA6IEJlaGF2aW9yU3ViamVjdDxDaG9pY2VzTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuICAgIHByaXZhdGUgZmlsdGVyZWRSZWFzb25TZXBhcmF0aW9uIDogQmVoYXZpb3JTdWJqZWN0PENob2ljZXNNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgcHJpdmF0ZSBkaXNjaGFyZ2VSZWFzb25zIDogQmVoYXZpb3JTdWJqZWN0PENob2ljZXNNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgcHJpdmF0ZSBxdWl0UmVhc29ucyA6IEJlaGF2aW9yU3ViamVjdDxDaG9pY2VzTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuICAgIHByaXZhdGUgYWN0aW9uc0xpc3QgOiBCZWhhdmlvclN1YmplY3Q8S2V5VmFsdWVNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG5cclxuICAgIHByaXZhdGUgZGlzYXN0ZXJzTGlzdCA6IEJlaGF2aW9yU3ViamVjdDxDaG9pY2VzTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuICAgIHByaXZhdGUgY291bnR5TGlzdCA6IEJlaGF2aW9yU3ViamVjdDxDb3VudHlNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgcHJpdmF0ZSBjb3VudHlMaXN0SW5jbHVkaW5nT3V0T2ZTdGF0ZSA6IEJlaGF2aW9yU3ViamVjdDxDb3VudHlNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cCA6IEh0dHBDbGllbnQpIHsgXHJcbiAgICAgIHN1cGVyKGh0dHApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgc2V0U2VydmljZUNvbnRleHQoKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZUNvbnRleHQgPSBMaWJDb25zdGFudHMuY2xhaW1zX3NlcnZpY2UuY29udGV4dFxyXG4gICAgfVxyXG4gICAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVBvcnQgPSBMaWJDb25zdGFudHMuY2xhaW1zX3NlcnZpY2UucG9ydDtcclxuICAgIH1cclxuICAgIHNldFNlcnZpY2VQcm90b2NvbCgpIHtcclxuICAgICAgdGhpcy5wcm90b2NvbCA9IExpYkNvbnN0YW50cy5jbGFpbXNfc2VydmljZS5wcm90b2NvbDtcclxuICAgIH1cclxuICAgIHNldFNlcnZpY2VIb3N0KCkge1xyXG4gICAgICB0aGlzLmhvc3QgPSBMaWJDb25zdGFudHMuY2xhaW1zX3NlcnZpY2UuaG9zdDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRSZWFzb25TZXBhcmF0aW9uKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhc29uU2VwYXJhdGlvbjtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIGxvYWRSZWFzb25TZXBhcmF0aW9uKCl7XHJcbiAgICAgICBpZih0aGlzLnJlYXNvblNlcGFyYXRpb24uZ2V0VmFsdWUoKS5sZW5ndGggPCAxKVxyXG4gICAgICAgICB0aGlzLmdldDxDaG9pY2VzTW9kZWxbXT4oJ2NsYWltcy1tYXN0ZXIvcmVhc29uLXNlcGFyYXRpb24nKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnJlYXNvblNlcGFyYXRpb24ubmV4dChyZXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhckZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbigpe1xyXG4gICAgICB0aGlzLmZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbi52YWx1ZS5sZW5ndGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbigpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkRmlsdGVyZWRSZWFzb25TZXBhcmF0aW9uKG1vZGVsOiBSZWFzb25TZXBhcmF0aW9uUmVxdWVzdE1vZGVsKXtcclxuICAgICAgaWYodGhpcy5maWx0ZXJlZFJlYXNvblNlcGFyYXRpb24uZ2V0VmFsdWUoKS5sZW5ndGggPCAxKVxyXG4gICAgICAgIHRoaXMucG9zdDxDaG9pY2VzTW9kZWxbXT4oJ2NsYWltcy1tYXN0ZXIvcmVhc29uLXNlcGFyYXRpb24vZmlsdGVyZWQnLCBtb2RlbClcclxuICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmZpbHRlcmVkUmVhc29uU2VwYXJhdGlvbi5uZXh0KHJlcykpO1xyXG4gICB9XHJcblxyXG4gICAgZ2V0RGlzY2hhcmdlUmVhc29ucygpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2NoYXJnZVJlYXNvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZERpc2NoYXJnZVJlYXNvbnMoKXtcclxuICAgICAgICBpZih0aGlzLmRpc2NoYXJnZVJlYXNvbnMuZ2V0VmFsdWUoKS5sZW5ndGggPCAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXQ8Q2hvaWNlc01vZGVsW10+KCdjbGFpbXMtbWFzdGVyL2Rpc2NoYXJnZS1yZWFzb25zJylcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuZGlzY2hhcmdlUmVhc29ucy5uZXh0KHJlcykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRRdWl0UmVhc29ucygpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnF1aXRSZWFzb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRRdWl0UmVhc29ucygpe1xyXG4gICAgICAgIGlmKHRoaXMucXVpdFJlYXNvbnMuZ2V0VmFsdWUoKS5sZW5ndGggPCAxKXtcclxuICAgICAgICAgICAgdGhpcy5nZXQ8Q2hvaWNlc01vZGVsW10+KCdjbGFpbXMtbWFzdGVyL3ZvbC1xdWl0LXJlYXNvbnMnKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5xdWl0UmVhc29ucy5uZXh0KHJlcykpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsb2FkTWFzdGVyRGF0YSgpe1xyXG4gICAgICAgIHRoaXMubG9hZFJlYXNvblNlcGFyYXRpb24oKTtcclxuICAgICAgICB0aGlzLmxvYWREaXNjaGFyZ2VSZWFzb25zKCk7XHJcbiAgICAgICAgdGhpcy5sb2FkUXVpdFJlYXNvbnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkQmFzZVBlcmlvZFdhZ2VzKGNsbUVtcFJlcXVlc3RNb2RlbDogQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsPignY2xhaW0vYXBwL2JwZW1wbG95ZXJzJywgY2xtRW1wUmVxdWVzdE1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXQ8UmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD4oJ2NsYWltL2Nzci9hbGxvdy1zZXAtcHJldi1pc3N1ZScpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0PFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw+KCdjbGFpbS9jc3IvcmVxdWFsaWZ5LWxpZnQnKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRSZXF1YWxpZnlDcml0ZXJpYUVudW0oKSB7XHJcbiAgICAgIGlmKHRoaXMuYWN0aW9uc0xpc3QuZ2V0VmFsdWUoKS5sZW5ndGggPCAxKXtcclxuICAgICAgICB0aGlzLmdldDxDaG9pY2VzTW9kZWxbXT4oJ2NsYWltcy1tYXN0ZXIvcmVxdWFsaWZ5LWNyaXRlcmlhJylcclxuICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmFjdGlvbnNMaXN0Lm5leHQocmVzKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRVSTUxMkFSZXNwb25zZXMoKXtcclxuICAgICAgLy9sZXQgcGFyYW1zVmFsID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJzc25cIixzc25JbnB1dClcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0PFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw+KCdjbGFpbS9jc3IvdWk1MTJhLXJlc3BvbnNlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZmV0Y2hTU0FTdGF0dXNGb3JDbGFpbUFwcGxpY2F0aW9uKGNsYWltSWRlbnRpZmllciA6IHN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldDxTc2FWZXJpZmljYXRpb25Nb2RlbD4oYGNsYWltL2FwcC8ke2NsYWltSWRlbnRpZmllcn0vc3NhX3N0YXR1c2ApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlVmVyaWZ5U1NBU3RhdHVzRm9yQ2xhaW1BcHBsaWNhdGlvbihkYXRhIDogU3NhVmVyaWZpY2F0aW9uTW9kZWwsIGNsYWltSWRlbnRpZmllciA6IHN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0aGlzLnBvc3Q8U3NhVmVyaWZpY2F0aW9uTW9kZWw+KGBjbGFpbS9hcHAvJHtjbGFpbUlkZW50aWZpZXJ9L3NzYV9zdGF0dXMvcmUtdmVyaWZ5YCwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWN0aW9uc0xpc3QoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9uc0xpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGhvbmVOdW1iZXJzRm9yT3RwQnlVdWlkKHV1aWQ6IHN0cmluZykge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXQ8TGV4aXNOZXhpc090cERldGFpbHNSZXNwb25zZU1vZGVsPihgbG4vcGhvbmUtZW1haWwtZm9yLWNsYWltYW50LyR7dXVpZH1gKTtcclxuICAgIH1cclxuXHJcbiAgICBmZXRjaFJldHJvV2Vla3MoKXtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0PER1YVJldHJvV2Vla3NDb21wb25lbnRNb2RlbD4oYGNsYWltL2R1YS1hcHAvcmV0cm8td2Vla3NgLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBmZXRjaExpc3RPZkRpc2F0ZXJzKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldDxhbnk+KCdjbGFpbS11dGlsaXR5L2RlY2xhcmF0aW9uJyk7XHJcbiAgIH1cclxuXHJcbiAgICBnZXREaXNhc3RlcnNMaXN0KCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FzdGVyc0xpc3Q7XHJcbiAgICB9IFxyXG4gIFxyXG4gICAgbG9hZERpc2FzdGVyc0xpc3QoKXtcclxuICAgICAgaWYodGhpcy5kaXNhc3RlcnNMaXN0LmdldFZhbHVlKCkubGVuZ3RoIDwgMSlcclxuICAgICAgICB0aGlzLmdldDxDaG9pY2VzTW9kZWxbXT4oJ2NsYWltLXV0aWxpdHkvZGVjbGFyYXRpb24nKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmRpc2FzdGVyc0xpc3QubmV4dChyZXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb3VudHlMaXN0KCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnR5TGlzdDtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIGdldENvdW50eUluY2x1ZGluZ091dE9mU3RhdGVMaXN0KCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvdW50eUxpc3RJbmNsdWRpbmdPdXRPZlN0YXRlO1xyXG4gICAgfSBcclxuIFxyXG4gICAgbG9hZENvdW50eUxpc3QoKXtcclxuICAgICAgaWYodGhpcy5jb3VudHlMaXN0LmdldFZhbHVlKCkubGVuZ3RoIDwgMSlcclxuICAgICAgICB0aGlzLmdldDxDb3VudHlNb2RlbFtdPignY2xhaW1zLW1hc3Rlci9jb3VudGllcycpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuY291bnR5TGlzdC5uZXh0KHJlcykpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRDb3VudHlJbmNsdWRpbmdPdXRPZlN0YXRlTGlzdCgpe1xyXG4gICAgICBpZih0aGlzLmNvdW50eUxpc3RJbmNsdWRpbmdPdXRPZlN0YXRlLmdldFZhbHVlKCkubGVuZ3RoIDwgMSlcclxuICAgICAgICB0aGlzLmdldDxDb3VudHlNb2RlbFtdPignY2xhaW0vY291bnR5LXdpdGgtb29zJylcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5jb3VudHlMaXN0SW5jbHVkaW5nT3V0T2ZTdGF0ZS5uZXh0KHJlcykpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWREaXNhc3RlckRhdGEoKXtcclxuICAgICAgICB0aGlzLmxvYWREaXNhc3RlcnNMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5sb2FkQ291bnR5TGlzdCgpO1xyXG4gICAgICAgIHRoaXMubG9hZENvdW50eUluY2x1ZGluZ091dE9mU3RhdGVMaXN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlQW5kSW5pdGlhdGVEdWFSZXF1ZXN0KG1vZGVsOiBEdWFSZXF1ZXN0TW9kZWwpe1xyXG4gICAgICByZXR1cm4gdGhpcy5wb3N0PER1YVJlcXVlc3RNb2RlbFtdPignY2xhaW0vZHVhLXJlcXVlc3QnLG1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBzYXZlRGlhc3RlckltcGFjdE9uRXhpc3RpbmdDbGFpbUFwcChtb2RlbDogRHVhUmVxdWVzdE1vZGVsKXtcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdDxEdWFSZXF1ZXN0TW9kZWxbXT4oJ2NsYWltL25ldy1hcHBsaWNhdGlvbi9kdWEtcmVxdWVzdCcsbW9kZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldExpc3RPZkFjdGl2ZUNsYWltKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldDxBY3RpdmVDbGFpbU1vZGVsW10+KCdjbGFpbS9saXN0LW9mLWFjdGl2ZS1jbGFpbXMnKVxyXG4gICAgfVxyXG5cclxuICAgIGZldGNoQmFzZVBlcmlvZCgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXQ8c3RyaW5nPignY2xhaW0tdXRpbGl0eS9iYXNlcGVyaW9kL2Zvcm1hdCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGRldGVybWluZU5ld0NsYWltRWxpZ2liaWxpdHkoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQ8Ym9vbGVhbj4oJ2NsYWltL2NoZWNrLWVsaWdpYmlsaXR5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgZGV0ZXJtaW5lTmV3Q2xhaW1FbGlnaWJpbGl0eUZvckNzcigpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0PGFueT4oJ2NsYWltL2Nzci9jaGVjay1lbGlnaWJpbGl0eScpO1xyXG4gICAgfVxyXG5cclxuICAgIGRldGVybWluZUluaXRpYWxDbGFpbUVsaWdpYmlsaXR5Rm9yQ3NyKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldDxhbnk+KCdjbGFpbS9jc3IvY2hlY2staW5pdGlhbC1lbGlnaWJpbGl0eScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qY3JlYXRlQW5kSW5pdGlhdGVDbGFpbUFwcGxpY2F0aW9uV2l0aEJhY2tEYXRlRm9yQ1NSKG1vZGVsOiBCYWNrRGF0ZVJlcXVlc3RNb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3Q8QmFja0RhdGVSZXF1ZXN0TW9kZWxbXT4oJ2NsYWltL2Nzci9uZXctYXBwbGljYXRpb24vYmFja2RhdGUnLCBtb2RlbClcclxuICAgIH1cclxuXHJcbiAgICBmZXRjaFByZXZpb3VzRmlsbGVkQmFja2RhdGVSZXNwb25zZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQ8QmFja0RhdGVSZXF1ZXN0TW9kZWxbXT4oJ2NsYWltL2Nzci9iYWNrZGF0ZS1yZXNwb25zZScpO1xyXG4gICAgfVxyXG5cclxuICAgIGZldGNoTWF4TWluRm9yQ1NSQmFja2RhdGluZygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQ8YW55PignY2xhaW0tdXRpbGl0eS9taW4tbWF4LWNzci1iYWNrZGF0ZScpXHJcbiAgICB9Ki9cclxuXHJcbiAgICBmZXRjaFByZXZpb3VzRmlsbGVkRHVhUmVzcG9uc2UoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQ8RHVhUmVxdWVzdE1vZGVsW10+KCdjbGFpbS9kdWEtcmVzcG9uc2UnKVxyXG4gICAgfVxyXG5cclxuICAgIHNhdmVEaXNhc3RlclJlcXVlc3RQb3N0Q2xhaW0obW9kZWwgOiBEdWFSZXF1ZXN0TW9kZWwpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3Q8U3RhdHVzTW9kZWw+KCdjbGFpbS9kdWEtcmVxdWVzdC1wb3N0LWNsYWltJyxtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgIGNyZWF0ZUFuZEluaXRpYXRlRHVhUmVxdWVzdEFuZENoZWNrRWxpZ2liaWxpdHkobW9kZWw6IER1YVJlcXVlc3RNb2RlbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3Q8U3RhdHVzTW9kZWw+KCdjbGFpbS9kdWEtcmVxdWVzdC9jaGVjay1lbGlnaWJpbGl0eScsIG1vZGVsKVxyXG4gICAgfVxyXG5cclxuICAgIHByb2Nlc3NEdWFBcHBQb3N0Q2xhaW0obW9kZWwgOiBEdWFBcHBEYXRhTW9kZWwpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3Q8U3RhdHVzTW9kZWw+KCdjbGFpbS9hcHBseS1kdWEtcG9zdC1jbGFpbS9zdWJtaXQnLCBtb2RlbCk7XHJcbiAgICB9XHJcbn0iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVdyQyxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFPM0MsWUFBbUIsSUFBaUI7UUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBREssU0FBSSxHQUFKLElBQUksQ0FBYTtRQUw1QixxQkFBZ0IsR0FBcUMsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UscUJBQWdCLEdBQXFDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLGdCQUFXLEdBQXFDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLGdCQUFXLEdBQXNDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBSWpGLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFBO0lBQzNELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxD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QyxHQUFHLENBQUMsS0FBSyxFQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBeUIsMkJBQTJCLEVBQUUsRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsaUNBQWlDLENBQUMsZUFBd0I7UUFDeEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUF1QixhQUFhLGVBQWUsYUFBYSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELG9DQUFvQyxDQUFDLElBQTJCLEVBQUUsZUFBd0I7UUFDeEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUF1QixhQUFhLGVBQWUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFpQixpQkFBaUIsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs2RUF0R1UsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSDFCLFVBQVU7ZUFBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEtleVZhbHVlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9LZXlWYWx1ZU1vZGVsJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwnO1xyXG5pbXBvcnQgeyBSZXF1YWxpZnlMaWZ0UGFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1JlcXVhbGlmeUxpZnRQYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBTc2FWZXJpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Tc2FWZXJpZmljYXRpb25Nb2RlbCc7XHJcbmltcG9ydCB7QXV0b2NvZGVyTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0F1dG9jb2Rlck1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG4gIH0pXHJcbiAgZXhwb3J0IGNsYXNzIENsYWltU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNle1xyXG4gIFxyXG4gICAgcHJpdmF0ZSByZWFzb25TZXBhcmF0aW9uIDogQmVoYXZpb3JTdWJqZWN0PENob2ljZXNNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgcHJpdmF0ZSBkaXNjaGFyZ2VSZWFzb25zIDogQmVoYXZpb3JTdWJqZWN0PENob2ljZXNNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gICAgcHJpdmF0ZSBxdWl0UmVhc29ucyA6IEJlaGF2aW9yU3ViamVjdDxDaG9pY2VzTW9kZWxbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcclxuICAgIHByaXZhdGUgYWN0aW9uc0xpc3QgOiBCZWhhdmlvclN1YmplY3Q8S2V5VmFsdWVNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwIDogSHR0cENsaWVudCkgeyBcclxuICAgICAgc3VwZXIoaHR0cCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzZXRTZXJ2aWNlQ29udGV4dCgpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlQ29udGV4dCA9IExpYkNvbnN0YW50cy5jbGFpbXNfc2VydmljZS5jb250ZXh0XHJcbiAgICB9XHJcbiAgICBzZXRTZXJ2aWNlUG9ydCgpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlUG9ydCA9IExpYkNvbnN0YW50cy5jbGFpbXNfc2VydmljZS5wb3J0O1xyXG4gICAgfVxyXG4gICAgc2V0U2VydmljZVByb3RvY29sKCkge1xyXG4gICAgICB0aGlzLnByb3RvY29sID0gTGliQ29uc3RhbnRzLmNsYWltc19zZXJ2aWNlLnByb3RvY29sO1xyXG4gICAgfVxyXG4gICAgc2V0U2VydmljZUhvc3QoKSB7XHJcbiAgICAgIHRoaXMuaG9zdCA9IExpYkNvbnN0YW50cy5jbGFpbXNfc2VydmljZS5ob3N0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJlYXNvblNlcGFyYXRpb24oKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZWFzb25TZXBhcmF0aW9uO1xyXG4gICAgfSBcclxuICAgIFxyXG4gICAgbG9hZFJlYXNvblNlcGFyYXRpb24oKXtcclxuICAgICAgIGlmKHRoaXMucmVhc29uU2VwYXJhdGlvbi5nZXRWYWx1ZSgpLmxlbmd0aCA8IDEpXHJcbiAgICAgICAgIHRoaXMuZ2V0PENob2ljZXNNb2RlbFtdPignY2xhaW1zLW1hc3Rlci9yZWFzb24tc2VwYXJhdGlvbicpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMucmVhc29uU2VwYXJhdGlvbi5uZXh0KHJlcykpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldERpc2NoYXJnZVJlYXNvbnMoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaXNjaGFyZ2VSZWFzb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWREaXNjaGFyZ2VSZWFzb25zKCl7XHJcbiAgICAgICAgaWYodGhpcy5kaXNjaGFyZ2VSZWFzb25zLmdldFZhbHVlKCkubGVuZ3RoIDwgMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0PENob2ljZXNNb2RlbFtdPignY2xhaW1zLW1hc3Rlci9kaXNjaGFyZ2UtcmVhc29ucycpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLmRpc2NoYXJnZVJlYXNvbnMubmV4dChyZXMpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UXVpdFJlYXNvbnMoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5xdWl0UmVhc29ucztcclxuICAgIH1cclxuXHJcbiAgICBsb2FkUXVpdFJlYXNvbnMoKXtcclxuICAgICAgICBpZih0aGlzLnF1aXRSZWFzb25zLmdldFZhbHVlKCkubGVuZ3RoIDwgMSl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0PENob2ljZXNNb2RlbFtdPignY2xhaW1zLW1hc3Rlci92b2wtcXVpdC1yZWFzb25zJylcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMucXVpdFJlYXNvbnMubmV4dChyZXMpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZE1hc3RlckRhdGEoKXtcclxuICAgICAgICB0aGlzLmxvYWRSZWFzb25TZXBhcmF0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5sb2FkRGlzY2hhcmdlUmVhc29ucygpO1xyXG4gICAgICAgIHRoaXMubG9hZFF1aXRSZWFzb25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEJhc2VQZXJpb2RXYWdlcyhjbG1FbXBSZXF1ZXN0TW9kZWw6IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb3N0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbD4oJ2NsYWltL2FwcC9icGVtcGxveWVycycsIGNsbUVtcFJlcXVlc3RNb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QWxsb3dTZXBQcmV2aW91c0lzc3Vlc0ZvclNTTihzc25JbnB1dDogc3RyaW5nKSB7XHJcbiAgICAgIGxldCBwYXJhbXNWYWwgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcInNzblwiLHNzbklucHV0KVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXQ8UmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD4oJ2NsYWltL2Nzci9hbGxvdy1zZXAtcHJldi1pc3N1ZScsIHtwYXJhbXM6IHBhcmFtc1ZhbH0pO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBnZXRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKHNzbklucHV0IDogc3RyaW5nKXtcclxuICAgICAgICBsZXQgcGFyYW1zVmFsID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoXCJzc25cIixzc25JbnB1dClcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXQ8UmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD4oJ2NsYWltL2Nzci9yZXF1YWxpZnktbGlmdCcsIHtwYXJhbXM6IHBhcmFtc1ZhbH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFJlcXVhbGlmeUNyaXRlcmlhRW51bSgpIHtcclxuICAgICAgaWYodGhpcy5hY3Rpb25zTGlzdC5nZXRWYWx1ZSgpLmxlbmd0aCA8IDEpe1xyXG4gICAgICAgIHRoaXMuZ2V0PENob2ljZXNNb2RlbFtdPignY2xhaW1zLW1hc3Rlci9yZXF1YWxpZnktY3JpdGVyaWEnKVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMuYWN0aW9uc0xpc3QubmV4dChyZXMpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldFVJNTEyQVJlc3BvbnNlcyhzc25JbnB1dCA6IHN0cmluZyl7XHJcbiAgICAgIGxldCBwYXJhbXNWYWwgPSBuZXcgSHR0cFBhcmFtcygpLnNldChcInNzblwiLHNzbklucHV0KVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXQ8UmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbD4oJ2NsYWltL2Nzci91aTUxMmEtcmVzcG9uc2UnLCB7cGFyYW1zOiBwYXJhbXNWYWx9KTtcclxuICAgIH1cclxuXHJcbiAgICBmZXRjaFNTQVN0YXR1c0ZvckNsYWltQXBwbGljYXRpb24oY2xhaW1JZGVudGlmaWVyIDogc3RyaW5nKXtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0PFNzYVZlcmlmaWNhdGlvbk1vZGVsPihgY2xhaW0vYXBwLyR7Y2xhaW1JZGVudGlmaWVyfS9zc2Ffc3RhdHVzYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVWZXJpZnlTU0FTdGF0dXNGb3JDbGFpbUFwcGxpY2F0aW9uKGRhdGEgOiBTc2FWZXJpZmljYXRpb25Nb2RlbCwgY2xhaW1JZGVudGlmaWVyIDogc3RyaW5nKXtcclxuICAgICAgcmV0dXJuIHRoaXMucG9zdDxTc2FWZXJpZmljYXRpb25Nb2RlbD4oYGNsYWltL2FwcC8ke2NsYWltSWRlbnRpZmllcn0vc3NhX3N0YXR1cy9yZS12ZXJpZnlgLCBkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRKb2JUaWxlT3JQb3NpdGlvbihxdWVyeTogc3RyaW5nKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldDxBdXRvY29kZXJNb2RlbD4oYGNsYWltL2pvYnRpdGxlL2AgKyBgJHtxdWVyeX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3Rpb25zTGlzdCgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb25zTGlzdDtcclxuICAgIH1cclxuXHJcbiAgfSJdfQ==
@@ -60,4 +60,4 @@ export class HelpService {
60
60
  providedIn: 'root'
61
61
  }]
62
62
  }], () => [{ type: i1.Storage }], null); })();
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFtQixPQUFpQjtRQUFqQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBSjVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEQsQ0FBQztJQUV6Qyx5QkFBeUIsQ0FBQyxXQUFxRDtRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sb0NBQW9DO1FBQzFDLElBQUksQ0FBQyxlQUFlO2FBQ2YsT0FBTyxDQUFDLEtBQUssRUFBQyxVQUFVLEVBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBQztnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDekQ7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBcUI7UUFDdkMsSUFBRyxDQUFDLFdBQVcsRUFBQztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhLEVBQUUsS0FBZTtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxJQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxJQUFHLElBQUksRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs0RUEvRFUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZWxwU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBoZWxwUHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W107XG5cbiAgcHJpdmF0ZSBzaG93aW5nIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2hvd0hlbHBCdXR0b24gOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmFnZSA6IFN0b3JhZ2UpIHsgfVxuXG4gIHNldHVwRGVmYXVsdEhlbHBCZWhhdmlvdXIocHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W10pe1xuICAgIHRoaXMuaGVscFByZWZlcmVuY2VzID0gcHJlZmVyZW5jZXM7XG5cbiAgICB0aGlzLnNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpO1xuICB9XG4gIFxuICBwcml2YXRlIHNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpIHtcbiAgICB0aGlzLmhlbHBQcmVmZXJlbmNlc1xuICAgICAgICAuZm9yRWFjaChhc3luYyBwcmVmZXJlbmNlID0+IHtcbiAgICAgICAgICBsZXQgcHJlZiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQocHJlZmVyZW5jZS5uYW1lKTtcbiAgICAgICAgICBpZihwcmVmID09IG51bGwgfHwgcHJlZiA9PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldChwcmVmZXJlbmNlLm5hbWUsIHByZWZlcmVuY2Uuc2hvd09uTG9hZClcbiAgICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzaG93KCl7XG4gICAgdGhpcy5zaG93aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGUoKXtcbiAgICB0aGlzLnNob3dpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGlzU2hvd2luZygpe1xuICAgIHJldHVybiB0aGlzLnNob3dpbmc7XG4gIH1cblxuICBzZXRIZWxwQXZhaWxhYmlsaXR5KGlzQXZhaWxhYmxlIDogYm9vbGVhbil7XG4gICAgaWYoIWlzQXZhaWxhYmxlKXtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICB0aGlzLnNob3dIZWxwQnV0dG9uLm5leHQoaXNBdmFpbGFibGUpO1xuICB9XG5cbiAgc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKXtcbiAgICByZXR1cm4gdGhpcy5zaG93SGVscEJ1dHRvbjtcbiAgfVxuXG4gIHNldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZywgdmFsdWUgOiBib29sZWFuKXtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0KG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIGdldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXQobmFtZSk7XG4gIH1cblxuICBhc3luYyBzaG93RGlhbG9nSWZQcmVmZXJlbmNlQWxsb3cobmFtZSA6IHN0cmluZyl7XG4gICAgbGV0IHByZWYgPSBhd2FpdCB0aGlzLmdldFByZWZlcmVuY2UobmFtZSk7XG5cbiAgICBpZihwcmVmKSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFtQixPQUFpQjtRQUFqQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBSjVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEQsQ0FBQztJQUV6Qyx5QkFBeUIsQ0FBQyxXQUFxRDtRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sb0NBQW9DO1FBQzFDLElBQUksQ0FBQyxlQUFlO2FBQ2YsT0FBTyxDQUFDLEtBQUssRUFBQyxVQUFVLEVBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBQztnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDekQ7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBcUI7UUFDdkMsSUFBRyxDQUFDLFdBQVcsRUFBQztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhLEVBQUUsS0FBZTtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxJQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxJQUFHLElBQUksRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs0RUEvRFUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gJ0Bpb25pYy9zdG9yYWdlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlbHBTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBoZWxwUHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W107XHJcblxyXG4gIHByaXZhdGUgc2hvd2luZyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBzaG93SGVscEJ1dHRvbiA6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmFnZSA6IFN0b3JhZ2UpIHsgfVxyXG5cclxuICBzZXR1cERlZmF1bHRIZWxwQmVoYXZpb3VyKHByZWZlcmVuY2VzIDoge25hbWUgOiBzdHJpbmcsIHNob3dPbkxvYWQgOiBib29sZWFufVtdKXtcclxuICAgIHRoaXMuaGVscFByZWZlcmVuY2VzID0gcHJlZmVyZW5jZXM7XHJcblxyXG4gICAgdGhpcy5zZXR1cFByZWZlcmVuY2VJblN0b3JhZ2VJZk5vdFByZXNlbnQoKTtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBzZXR1cFByZWZlcmVuY2VJblN0b3JhZ2VJZk5vdFByZXNlbnQoKSB7XHJcbiAgICB0aGlzLmhlbHBQcmVmZXJlbmNlc1xyXG4gICAgICAgIC5mb3JFYWNoKGFzeW5jIHByZWZlcmVuY2UgPT4ge1xyXG4gICAgICAgICAgbGV0IHByZWYgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KHByZWZlcmVuY2UubmFtZSk7XHJcbiAgICAgICAgICBpZihwcmVmID09IG51bGwgfHwgcHJlZiA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KHByZWZlcmVuY2UubmFtZSwgcHJlZmVyZW5jZS5zaG93T25Mb2FkKVxyXG4gICAgICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93KCl7XHJcbiAgICB0aGlzLnNob3dpbmcgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaGlkZSgpe1xyXG4gICAgdGhpcy5zaG93aW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc1Nob3dpbmcoKXtcclxuICAgIHJldHVybiB0aGlzLnNob3dpbmc7XHJcbiAgfVxyXG5cclxuICBzZXRIZWxwQXZhaWxhYmlsaXR5KGlzQXZhaWxhYmxlIDogYm9vbGVhbil7XHJcbiAgICBpZighaXNBdmFpbGFibGUpe1xyXG4gICAgICB0aGlzLmhpZGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0hlbHBCdXR0b24ubmV4dChpc0F2YWlsYWJsZSk7XHJcbiAgfVxyXG5cclxuICBzaG91bGREaXNwbGF5SGVscEJ1dHRvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0hlbHBCdXR0b247XHJcbiAgfVxyXG5cclxuICBzZXRQcmVmZXJlbmNlKG5hbWUgOiBzdHJpbmcsIHZhbHVlIDogYm9vbGVhbil7XHJcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0KG5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldChuYW1lKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHNob3dEaWFsb2dJZlByZWZlcmVuY2VBbGxvdyhuYW1lIDogc3RyaW5nKXtcclxuICAgIGxldCBwcmVmID0gYXdhaXQgdGhpcy5nZXRQcmVmZXJlbmNlKG5hbWUpO1xyXG5cclxuICAgIGlmKHByZWYpIHtcclxuICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LibConstants } from '../../models/LibConstants';
3
+ import { BaseService } from '../base-service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class LexisNexisService extends BaseService {
7
+ constructor(http) {
8
+ super(http);
9
+ this.http = http;
10
+ }
11
+ setServiceContext() {
12
+ this.serviceContext = LibConstants.claims_service.context;
13
+ }
14
+ setServicePort() {
15
+ this.servicePort = LibConstants.claims_service.port;
16
+ }
17
+ setServiceProtocol() {
18
+ this.protocol = LibConstants.claims_service.protocol;
19
+ }
20
+ setServiceHost() {
21
+ this.host = LibConstants.claims_service.host;
22
+ }
23
+ isLexisNexisIdProofingEnabled(ssn) {
24
+ return this.post(`ln/enabled`, ssn);
25
+ }
26
+ isLexisNexisIdProofingEnabledWithUserId(userId) {
27
+ return this.get(`ln/enabled/${userId}`);
28
+ }
29
+ isLexisNexisProofedWithin24Hours(userId) {
30
+ return this.get(`ln/proofed-today/${userId}`);
31
+ }
32
+ getLnQueryApiResponse(userName, customerEventType) {
33
+ const sessionId = window['sessionId'];
34
+ if (!sessionId) {
35
+ console.error('Session ID not found in window object.');
36
+ return; // handle accordingly
37
+ }
38
+ const query = {
39
+ sessionId: sessionId,
40
+ userId: userName,
41
+ customerEventType: customerEventType
42
+ };
43
+ return this.post(`ln/query-api/`, query);
44
+ }
45
+ getLnQueryApiPIResponse(accountCreationData) {
46
+ return this.post(`ln/query-api-pi/`, accountCreationData);
47
+ }
48
+ lnAuthenticationQA(authSelection) {
49
+ return this.post(`ln/authenticate/`, authSelection);
50
+ }
51
+ static { this.ɵfac = function LexisNexisService_Factory(t) { return new (t || LexisNexisService)(i0.ɵɵinject(i1.HttpClient)); }; }
52
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LexisNexisService, factory: LexisNexisService.ɵfac, providedIn: 'root' }); }
53
+ }
54
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LexisNexisService, [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: 'root',
58
+ }]
59
+ }], () => [{ type: i1.HttpClient }], null); })();
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4aXMubmV4aXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbGV4aXMtbmV4aXMvbGV4aXMubmV4aXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVc5QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBVztJQUNoRCxZQUFtQixJQUFnQjtRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFESyxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRW5DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQzVELENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDdkQsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxHQUFXO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBaUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCx1Q0FBdUMsQ0FBQyxNQUFjO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBVSxjQUFjLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGdDQUFnQyxDQUFDLE1BQWM7UUFDN0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFVLG9CQUFvQixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxRQUFpQixFQUFFLGlCQUEwQjtRQUNqRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMscUJBQXFCO1NBQzlCO1FBQ0QsTUFBTSxLQUFLLEdBQUc7WUFDWixTQUFTLEVBQUcsU0FBUztZQUNyQixNQUFNLEVBQUcsUUFBUTtZQUNqQixpQkFBaUIsRUFBRyxpQkFBaUI7U0FDdEMsQ0FBQTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBMEIsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxtQkFBbUQ7UUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUEwQixrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxhQUFrRDtRQUNuRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQXVDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVGLENBQUM7a0ZBbERVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFGaEIsTUFBTTs7aUZBRVAsaUJBQWlCO2NBSDdCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGV4aXNOZXhpc1Jlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGV4aXNOZXhpc1Jlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBMZXhpc05leGlzQXV0aFNlbGVjdGlvblJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9MZXhpc05leGlzQXV0aFNlbGVjdGlvblJlcXVlc3RNb2RlbCc7XHJcbmltcG9ydCB7IExleGlzTmV4aXNBdXRoU2VsZWN0aW9uUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9MZXhpc05leGlzQXV0aFNlbGVjdGlvblJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExleGlzTmV4aXNBY2NvdW50Q3JlYXRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9MZXhpc05leGlzQWNjb3VudENyZWF0aW9uTW9kZWwnO1xyXG5pbXBvcnQgeyBMZXhpc05leGlzRW5hYmxlZFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGV4aXNOZXhpc0VuYWJsZWRSZXNwb25zZU1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMZXhpc05leGlzU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZXJ2aWNlQ29udGV4dCgpIHtcclxuICAgIHRoaXMuc2VydmljZUNvbnRleHQgPSBMaWJDb25zdGFudHMuY2xhaW1zX3NlcnZpY2UuY29udGV4dDtcclxuICB9XHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLmNsYWltc19zZXJ2aWNlLnBvcnQ7XHJcbiAgfVxyXG4gIHNldFNlcnZpY2VQcm90b2NvbCgpIHtcclxuICAgIHRoaXMucHJvdG9jb2wgPSBMaWJDb25zdGFudHMuY2xhaW1zX3NlcnZpY2UucHJvdG9jb2w7XHJcbiAgfVxyXG4gIHNldFNlcnZpY2VIb3N0KCkge1xyXG4gICAgdGhpcy5ob3N0ID0gTGliQ29uc3RhbnRzLmNsYWltc19zZXJ2aWNlLmhvc3Q7XHJcbiAgfVxyXG5cclxuICBpc0xleGlzTmV4aXNJZFByb29maW5nRW5hYmxlZChzc246IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5wb3N0PExleGlzTmV4aXNFbmFibGVkUmVzcG9uc2VNb2RlbD4oYGxuL2VuYWJsZWRgLCBzc24pO1xyXG4gIH1cclxuXHJcbiAgaXNMZXhpc05leGlzSWRQcm9vZmluZ0VuYWJsZWRXaXRoVXNlcklkKHVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQ8Qm9vbGVhbj4oYGxuL2VuYWJsZWQvJHt1c2VySWR9YCk7XHJcbiAgfVxyXG5cclxuICBpc0xleGlzTmV4aXNQcm9vZmVkV2l0aGluMjRIb3Vycyh1c2VySWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0PEJvb2xlYW4+KGBsbi9wcm9vZmVkLXRvZGF5LyR7dXNlcklkfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG5RdWVyeUFwaVJlc3BvbnNlKHVzZXJOYW1lIDogc3RyaW5nLCBjdXN0b21lckV2ZW50VHlwZSA6IHN0cmluZykgOiBPYnNlcnZhYmxlPExleGlzTmV4aXNSZXNwb25zZU1vZGVsPiB7XHJcbiAgICBjb25zdCBzZXNzaW9uSWQgPSB3aW5kb3dbJ3Nlc3Npb25JZCddOyBcclxuICAgIGlmICghc2Vzc2lvbklkKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1Nlc3Npb24gSUQgbm90IGZvdW5kIGluIHdpbmRvdyBvYmplY3QuJyk7XHJcbiAgICAgIHJldHVybjsgLy8gaGFuZGxlIGFjY29yZGluZ2x5XHJcbiAgICB9XHJcbiAgICBjb25zdCBxdWVyeSA9IHtcclxuICAgICAgc2Vzc2lvbklkIDogc2Vzc2lvbklkLFxyXG4gICAgICB1c2VySWQgOiB1c2VyTmFtZSxcclxuICAgICAgY3VzdG9tZXJFdmVudFR5cGUgOiBjdXN0b21lckV2ZW50VHlwZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxMZXhpc05leGlzUmVzcG9uc2VNb2RlbD4oYGxuL3F1ZXJ5LWFwaS9gLCBxdWVyeSk7XHJcbiAgfVxyXG5cclxuICBnZXRMblF1ZXJ5QXBpUElSZXNwb25zZShhY2NvdW50Q3JlYXRpb25EYXRhOiBMZXhpc05leGlzQWNjb3VudENyZWF0aW9uTW9kZWwpIDogT2JzZXJ2YWJsZTxMZXhpc05leGlzUmVzcG9uc2VNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxMZXhpc05leGlzUmVzcG9uc2VNb2RlbD4oYGxuL3F1ZXJ5LWFwaS1waS9gLCBhY2NvdW50Q3JlYXRpb25EYXRhKTtcclxuICB9XHJcblxyXG4gIGxuQXV0aGVudGljYXRpb25RQShhdXRoU2VsZWN0aW9uOiBMZXhpc05leGlzQXV0aFNlbGVjdGlvblJlcXVlc3RNb2RlbCkgOiBPYnNlcnZhYmxlPExleGlzTmV4aXNBdXRoU2VsZWN0aW9uUmVzcG9uc2VNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMucG9zdDxMZXhpc05leGlzQXV0aFNlbGVjdGlvblJlc3BvbnNlTW9kZWw+KGBsbi9hdXRoZW50aWNhdGUvYCwgYXV0aFNlbGVjdGlvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -64,4 +64,4 @@ export class LoggerService {
64
64
  providedIn: 'root'
65
65
  }]
66
66
  }], () => [{ type: i1.NGXLogger }], null); })();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0M7Ozs7Ozs7O0tBUUs7QUFLTCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3BDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFrQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNkJBQTZCLENBQUMsZUFBd0I7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQTBCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBd0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEVBekRVLGFBQWE7dUVBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTs7aUZBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElOR1hMb2dnZXJDb25maWcsIElOR1hMb2dnZXJNb25pdG9yLCBOR1hMb2dnZXIgfSBmcm9tICduZ3gtbG9nZ2VyJztcblxuLyoqXG4gKiBMb2dnZXIgc2VydmljZXMgcmVzcG9uc2libGUgZm9yIGxvZ2dpbmcgdmFyaW91cyBtZXNzYWdlcyBpbiBicm93c2VyJ3MgY29uc29sZS4gRGV2ZWxvcGVycyBhcmUgYWR2aXNlZCB0byB1c2UgdGhpcyBjbGFzcyBmb3JcbiAqIGFueSBsb2dnaW4gcmVsYXRlZCBhY3Rpdml0eSBpbnN0ZWFkIG9mIGNvbnNvbGUubG9nLiBUaGlzIHNlcnZpY2Ugd2lsbCBhbHNvIHNlbmQgYW55IGVycm9ycyB0byByZW1vdGUgbG9nZ2luIHNlcnZlciBmb3IgZGVidWdnaW5nXG4gKiBwdXJwb3NlLlxuICogXG4gKiBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25neC1sb2dnZXIgZm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgY29uZmlndXJhdGlvbnMuXG4gKiBcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICogKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcikgeyBcbiAgICBsb2dnZXIuaW5mbygnTG9nZ2VyU2VydmljZSBpbml0aWFsaXplZCBTdWNjZXNzZnVsbHkuJyk7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIudHJhY2UobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2U6IGFueSwgLi4uYWRkaXRpb25hbDogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKG1lc3NhZ2UsIGFkZGl0aW9uYWwpO1xuICB9XG5cbiAgbG9nKG1lc3NhZ2U6IGFueSwgLi4uYWRkaXRpb25hbDogYW55W10pOiB2b2lkIHtcbiAgICBsZXQgbXNnID0gbWVzc2FnZTtcbiAgICB0aGlzLmxvZ2dlci5sb2cobXNnLCBhZGRpdGlvbmFsKTtcbiAgfVxuXG4gIHdhcm4obWVzc2FnZTogYW55LCAuLi5hZGRpdGlvbmFsOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLndhcm4obWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBmYXRhbChtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZmF0YWwobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBzZXRDdXN0b21IdHRwSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycyk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnNldEN1c3RvbUh0dHBIZWFkZXJzKGhlYWRlcnMpO1xuICB9XG5cbiAgc2V0Q3VzdG9tUGFyYW1zKHBhcmFtczogSHR0cFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnNldEN1c3RvbVBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgc2V0V2l0aENyZWRlbnRpYWxzT3B0aW9uVmFsdWUod2l0aENyZWRlbnRpYWxzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuc2V0V2l0aENyZWRlbnRpYWxzT3B0aW9uVmFsdWUod2l0aENyZWRlbnRpYWxzKTtcbiAgfVxuICBcbiAgcmVnaXN0ZXJNb25pdG9yKG1vbml0b3I6IElOR1hMb2dnZXJNb25pdG9yKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIucmVnaXN0ZXJNb25pdG9yKG1vbml0b3IpO1xuICB9XG4gIFxuICB1cGRhdGVDb25maWcoY29uZmlnOiBJTkdYTG9nZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIudXBkYXRlQ29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBnZXRDb25maWdTbmFwc2hvdCgpOiBJTkdYTG9nZ2VyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5sb2dnZXIuZ2V0Q29uZmlnU25hcHNob3QoKTtcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0M7Ozs7Ozs7O0tBUUs7QUFLTCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3BDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFrQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNkJBQTZCLENBQUMsZUFBd0I7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQTBCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBd0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEVBekRVLGFBQWE7dUVBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTs7aUZBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJTkdYTG9nZ2VyQ29uZmlnLCBJTkdYTG9nZ2VyTW9uaXRvciwgTkdYTG9nZ2VyIH0gZnJvbSAnbmd4LWxvZ2dlcic7XHJcblxyXG4vKipcclxuICogTG9nZ2VyIHNlcnZpY2VzIHJlc3BvbnNpYmxlIGZvciBsb2dnaW5nIHZhcmlvdXMgbWVzc2FnZXMgaW4gYnJvd3NlcidzIGNvbnNvbGUuIERldmVsb3BlcnMgYXJlIGFkdmlzZWQgdG8gdXNlIHRoaXMgY2xhc3MgZm9yXHJcbiAqIGFueSBsb2dnaW4gcmVsYXRlZCBhY3Rpdml0eSBpbnN0ZWFkIG9mIGNvbnNvbGUubG9nLiBUaGlzIHNlcnZpY2Ugd2lsbCBhbHNvIHNlbmQgYW55IGVycm9ycyB0byByZW1vdGUgbG9nZ2luIHNlcnZlciBmb3IgZGVidWdnaW5nXHJcbiAqIHB1cnBvc2UuXHJcbiAqIFxyXG4gKiBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25neC1sb2dnZXIgZm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgY29uZmlndXJhdGlvbnMuXHJcbiAqIFxyXG4gKiBAYXV0aG9yIFByZXJhayBUaXdhcmlcclxuICogKi9cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2dlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7IFxyXG4gICAgbG9nZ2VyLmluZm8oJ0xvZ2dlclNlcnZpY2UgaW5pdGlhbGl6ZWQgU3VjY2Vzc2Z1bGx5LicpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2UobWVzc2FnZTogYW55LCAuLi5hZGRpdGlvbmFsOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dnZXIudHJhY2UobWVzc2FnZSwgYWRkaXRpb25hbCk7XHJcbiAgfVxyXG5cclxuICBkZWJ1ZyhtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhtZXNzYWdlLCBhZGRpdGlvbmFsKTtcclxuICB9XHJcblxyXG4gIGluZm8obWVzc2FnZTogYW55LCAuLi5hZGRpdGlvbmFsOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlLCBhZGRpdGlvbmFsKTtcclxuICB9XHJcblxyXG4gIGxvZyhtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XHJcbiAgICBsZXQgbXNnID0gbWVzc2FnZTtcclxuICAgIHRoaXMubG9nZ2VyLmxvZyhtc2csIGFkZGl0aW9uYWwpO1xyXG4gIH1cclxuXHJcbiAgd2FybihtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2dlci53YXJuKG1lc3NhZ2UsIGFkZGl0aW9uYWwpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IobWVzc2FnZTogYW55LCAuLi5hZGRpdGlvbmFsOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dnZXIuZXJyb3IobWVzc2FnZSwgYWRkaXRpb25hbCk7XHJcbiAgfVxyXG5cclxuICBmYXRhbChtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2dlci5mYXRhbChtZXNzYWdlLCBhZGRpdGlvbmFsKTtcclxuICB9XHJcblxyXG4gIHNldEN1c3RvbUh0dHBIZWFkZXJzKGhlYWRlcnM6IEh0dHBIZWFkZXJzKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2dlci5zZXRDdXN0b21IdHRwSGVhZGVycyhoZWFkZXJzKTtcclxuICB9XHJcblxyXG4gIHNldEN1c3RvbVBhcmFtcyhwYXJhbXM6IEh0dHBQYXJhbXMpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nZ2VyLnNldEN1c3RvbVBhcmFtcyhwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0V2l0aENyZWRlbnRpYWxzT3B0aW9uVmFsdWUod2l0aENyZWRlbnRpYWxzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ2dlci5zZXRXaXRoQ3JlZGVudGlhbHNPcHRpb25WYWx1ZSh3aXRoQ3JlZGVudGlhbHMpO1xyXG4gIH1cclxuICBcclxuICByZWdpc3Rlck1vbml0b3IobW9uaXRvcjogSU5HWExvZ2dlck1vbml0b3IpOiB2b2lkIHtcclxuICAgIHRoaXMubG9nZ2VyLnJlZ2lzdGVyTW9uaXRvcihtb25pdG9yKTtcclxuICB9XHJcbiAgXHJcbiAgdXBkYXRlQ29uZmlnKGNvbmZpZzogSU5HWExvZ2dlckNvbmZpZyk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dnZXIudXBkYXRlQ29uZmlnKGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBnZXRDb25maWdTbmFwc2hvdCgpOiBJTkdYTG9nZ2VyQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLmxvZ2dlci5nZXRDb25maWdTbmFwc2hvdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -44,6 +44,7 @@ export class LoginService {
44
44
  user.expiration = res.expiration;
45
45
  user.expires_in = res.expires_in;
46
46
  user.ssn = res.ssn;
47
+ user.language = res.language;
47
48
  user.claimantId = res.claimantId;
48
49
  user.employerId = res.employerId;
49
50
  user.cookieName = res.cookieName;
@@ -103,6 +104,16 @@ export class LoginService {
103
104
  generateOtp(userId, type) {
104
105
  return this.util.get(`user/v2/otp/${userId}?type=${type}`);
105
106
  }
107
+ generateOtpForNewUserCreation(phone, type) {
108
+ return this.util.get(`user/otp/phone/${phone}?type=${type}`);
109
+ }
110
+ generateOtpForLoggedInUser() {
111
+ return this.util.get(`user/generate/otp`);
112
+ }
113
+ verifyOtpForPhoneNumber(code, phone, isReturningUser, ssn) {
114
+ const url = `user/otp/phone/verify/${code}?phone=${phone}&isReturningUser=${isReturningUser}&ssn=${ssn ? ssn : ""}`;
115
+ return this.util.get(url);
116
+ }
106
117
  login(auth) {
107
118
  let headers = new HttpHeaders({
108
119
  //"Accept" : "application/x-www-form-urlencoded"
@@ -112,6 +123,7 @@ export class LoginService {
112
123
  authData.set('grant_type', 'password');
113
124
  authData.set('username', auth.userId);
114
125
  authData.set('password', auth.password);
126
+ authData.set('language', auth.language);
115
127
  return this.util.postFormData('oauth/token', authData, this.options);
116
128
  }
117
129
  loginAndCheckForMFA(auth) {
@@ -123,6 +135,7 @@ export class LoginService {
123
135
  authData.set('grant_type', 'mfa');
124
136
  authData.set('username', auth.userId);
125
137
  authData.set('password', auth.password);
138
+ authData.set('language', localStorage.getItem("language"));
126
139
  if (auth.otp) {
127
140
  authData.set('mfa_code', auth.otp);
128
141
  authData.set('is_trusted_device', auth.istrustedDevice);
@@ -141,25 +154,6 @@ export class LoginService {
141
154
  authData.set('refresh_token', refreshToken);
142
155
  return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
143
156
  }
144
- async refreshTokenWings(refreshToken) {
145
- let headers = new HttpHeaders({
146
- "Accept": "application/x-www-form-urlencoded",
147
- 'Authorization': `Basic ` + btoa(`${LibConstants.oauthWingsClientUser}:${LibConstants.oauthWingsClientSecret}`)
148
- });
149
- this.options = { headers: headers };
150
- let authData = new FormData();
151
- authData.set('grant_type', 'refresh_token');
152
- authData.set('client_id', LibConstants.oauthWingsClientUser);
153
- authData.set('refresh_token', refreshToken);
154
- return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
155
- }
156
- async createTokenPostSsoValidation() {
157
- const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
158
- const body = new URLSearchParams({
159
- grant_type: 'custom_sso'
160
- }).toString();
161
- return this.util.postFormData('oauth/token', body, { headers, withCredentials: true }).toPromise();
162
- }
163
157
  async loadUserInfo() {
164
158
  let headers = new HttpHeaders({
165
159
  "Accept": "application/x-www-form-urlencoded"
@@ -287,15 +281,6 @@ export class LoginService {
287
281
  isCsr() {
288
282
  return this.getUser() && this.getUser().userType === 'MDES';
289
283
  }
290
- isTaxAuditSupervisor() {
291
- return this.getUser() && this.hasRole('taxauditsupervisor') && this.getUser().userType === 'MDES';
292
- }
293
- isTaxAuditAuditor() {
294
- return this.getUser() && this.hasRole('taxauditspecialist') && this.getUser().userType === 'MDES';
295
- }
296
- isTaxAuditDirector() {
297
- return this.getUser() && this.hasRole('taxAuditDirector') && this.getUser().userType === 'MDES';
298
- }
299
284
  isEmployer() {
300
285
  return this.getUser() && this.getUser().userType === 'EMPL';
301
286
  }
@@ -355,4 +340,4 @@ export class LoginService {
355
340
  providedIn: 'root'
356
341
  }]
357
342
  }], () => [{ type: i1.UtilService }, { type: i2.Storage }, { type: i3.ClaimantContextService }], null); })();
358
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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QUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUFlO1FBQy9DLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLFlBQVksTUFBTSxFQUFFLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs2RUExWlUsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IE90cEF1dGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9PdHBBdXRoTW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENsYWltYW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1jb250ZXh0L2NsYWltYW50LWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luU2VydmljZSB7XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgdXNlckJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgbWVudUJzIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHJpdmF0ZSBhdXRoQ29kZSA6IHN0cmluZztcblxuICBzZXRBdXRoQ29kZShhdXRoY29kZSA6IHN0cmluZyl7XG4gICAgdGhpcy5hdXRoQ29kZSA9IGF1dGhjb2RlO1xuICB9XG5cbiAgZ2V0QXV0aGNvZGUoKXtcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcbiAgfVxuXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcbiAgICByZXR1cm4gdGhpcy51c2VyQnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldFVzZXJCcygpIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXNlckJzO1xuICB9XG5cbiAgZ2V0TWVudUJzKCkgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT57XG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xuICB9XG5cbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xuICAgIGlmKHJlcyl7XG4gICAgICBsZXQgdXNlciA9IG5ldyBVc2VyTW9kZWwoKTtcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcbiAgICAgIHVzZXIubGFzdE5hbWUgPSByZXMubGFzdE5hbWU7XG4gICAgICB1c2VyLnVzZXJuYW1lID0gcmVzWyd1c2VyX25hbWUnXTtcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xuICAgICAgdXNlci5pc0FjdGl2ZSA9IHJlcy5pc0FjdGl2ZVxuICAgICAgdXNlci5yb2xlcyA9IHJlcy5yb2xlcztcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcbiAgICAgIHVzZXIuZG9iID0gcmVzLmRvYjtcbiAgICAgIHVzZXIudXNlclR5cGUgPSByZXMudXNlclR5cGU7XG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XG4gICAgICB1c2VyLmVtYWlsSWQ9cmVzLmVtYWlsSWQ7XG4gICAgICB1c2VyLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGUgPSByZXMucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZTtcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XG4gICAgICB1c2VyLmlzTG9nZ2VkSW4gPSByZXMuaXNMb2dnZWRJbjtcbiAgICAgIHVzZXIuY2hhbmdlUHdkID0gcmVzLmNoYW5nZVB3ZDtcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xuICAgICAgdXNlci5leHBpcmVzX2luID0gcmVzLmV4cGlyZXNfaW47XG4gICAgICB1c2VyLnNzbiA9IHJlcy5zc247XG4gICAgICB1c2VyLmNsYWltYW50SWQgPSByZXMuY2xhaW1hbnRJZDtcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xuICAgICAgdXNlci5jb29raWVOYW1lID0gcmVzLmNvb2tpZU5hbWU7XG4gICAgICB1c2VyLmNvb2tpZVZhbHVlID0gcmVzLmNvb2tpZVZhbHVlO1xuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcbiAgICAgIHVzZXIuZG9tYWluTmFtZSA9IHJlcy5kb21haW5OYW1lO1xuICAgICAgdXNlci5pczJGQVJlcXVpcmVkID0gcmVzLmlzMkZBUmVxdWlyZWQ7XG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcbiAgICAgIHVzZXIuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkID0gcmVzLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgIHVzZXIuY2VsbHBob25lTm8gPSByZXMuY2VsbHBob25lTm87XG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XG4gICAgICB1c2VyLnN1cHBvcnRlZE1mYVR5cGVzID0gcmVzLnN1cHBvcnRlZE1mYVR5cGVzO1xuICAgICAgaWYocmVzLmFjY2Vzc190b2tlbiAmJiByZXMucmVmcmVzaF90b2tlbil7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gcmVzLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHJlcy5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gdGhpcy51c2VyLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHRoaXMudXNlci5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy51c2VyLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgndXNlcm5hbWUnLCBidG9hKHVzZXIudXNlcm5hbWUpKTtcbiAgICAgIGxldCBzaG93X2Rpc2Nsb3N1cmUgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdzaG93X2Rpc2Nsb3N1cmUnLCAndHJ1ZScpO1xuICAgICAgfVxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMudXNlckJzLm5leHQodGhpcy51c2VyKTtcbiAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdtcycpKXtcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUsIGBcIiR7dXNlci5jb29raWVWYWx1ZX1cImAsIHVzZXIuZXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5maXJzdE5hbWUgKyAodGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSAhPSBudWxsID8gJyAnICsgdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSA6ICcnKSArICcgJyArIHRoaXMuZ2V0VXNlcigpLmxhc3ROYW1lO1xuICB9XG5cbiAgZ2V0SXNVc2VyUHJvZmlsZUNvbXBsZXRlKCl7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcbiAgICBcbiAgfVxuXG4gIGdldFVzZXJQZXJzb25hbERldGFpbHMoKSA6IE9ic2VydmFibGU8VXNlckRldGFpbHNNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlckRldGFpbHNNb2RlbD4oJ3VzZXIvZGV0YWlscy8nICsgdGhpcy51c2VyLnVzZXJuYW1lKTtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwKHVzZXJJZCA6IHN0cmluZywgdHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGxvZ2luKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ21mYScpO1xuICAgIGF1dGhEYXRhLnNldCgndXNlcm5hbWUnLCBhdXRoLnVzZXJJZCk7XG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xuICAgIGlmKGF1dGgub3RwKXtcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XG4gICAgICBhdXRoRGF0YS5zZXQoJ2lzX3RydXN0ZWRfZGV2aWNlJywgYXV0aC5pc3RydXN0ZWREZXZpY2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmFzaWMgYCArIGJ0b2EoYCR7TGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRTZWNyZXR9YClcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2NsaWVudF9pZCcsIExpYkNvbnN0YW50cy5vYXV0aENsaWVudFVzZXIpO1xuICAgIGF1dGhEYXRhLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbik7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuV2luZ3MocmVmcmVzaFRva2VuKXtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgICdBdXRob3JpemF0aW9uJzogYEJhc2ljIGAgKyBidG9hKGAke0xpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhXaW5nc0NsaWVudFNlY3JldH1gKVxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoV2luZ3NDbGllbnRVc2VyKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPihgb2F1dGgvdG9rZW5gLCBhdXRoRGF0YSwgdGhpcy5vcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRva2VuUG9zdFNzb1ZhbGlkYXRpb24oKXtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7XG4gICAgY29uc3QgYm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgZ3JhbnRfdHlwZTogJ2N1c3RvbV9zc28nXG4gICAgfSkudG9TdHJpbmcoKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYm9keSwgeyBoZWFkZXJzLHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRVc2VySW5mbygpe1xuICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgfSk7XG4gICAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcbiAgICAgIGxldCBhdXRoVG9rZW4gPSBhd2FpdCB0aGlzLmdldFN0b3JlZEFjY2Vzc1RvcGVuKCk7XG4gICAgICByZXR1cm4gdGhpcy51dGlsLmdldDxVc2VyTW9kZWw+KGBvYXV0aC9jaGVja190b2tlbj90b2tlbj0ke2F1dGhUb2tlbn1gKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0b3JlZEFjY2Vzc1RvcGVuKCl7XG4gICAgbGV0IGFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldCgnYWNjZXNzX3Rva2VuJykudGhlbihyZXMgPT4gcmVzKTtcbiAgICByZXR1cm4gYWNjZXNzVG9rZW47XG4gIH1cblxuICBnZW5lcmF0ZU90cFVucmVnaXN0ZXJlZChtb2JpbGVObyA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoJ2F1dGgvb3RwL25ld3VzZXIvJyArIG1vYmlsZU5vKTtcbiAgfVxuXG4gIHNpZ25VcCh1c2VyTW9kZWwgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlcicsIHVzZXJNb2RlbCk7XG4gIH1cblxuICB1cGRhdGVQZXJzb25hbERldGFpbHModXNyRHRscyA6IFVzZXJEZXRhaWxzTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9kZXRhaWxzJywgdXNyRHRscyk7XG4gIH1cblxuICByZXNldCgpe1xuICAgIHRoaXMudXNlciA9IG51bGw7XG4gICAgdGhpcy51c2VyQnMubmV4dChudWxsKTtcbiAgICB0aGlzLm1lbnVCcy5uZXh0KG51bGwpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ2FjY2Vzc190b2tlbicpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCd1c2VybmFtZScpO1xuICAgIHRoaXMuY2xhaW1hbnRDb250ZXh0U2VydmljZS5jbGVhckNvbnRleHQoKTtcbiAgICB0aGlzLnJlbW92ZUNvb2tpZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUNvb2tpZXMoKXtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgnYXQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgncnQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSk7XG4gIH1cblxuICBkZWxldGVDb29raWUoY29va2llTmFtZSl7XG4gICAgbGV0IGNvb2tpZSA9IGAke2Nvb2tpZU5hbWV9PTsgTWF4LUFnZT0wOyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBjcmVhdGVDb29raWUoY29va2llTmFtZSwgdmFsdWUsIGV4cGlyYXRpb24pe1xuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT0ke3ZhbHVlfTsgZXhwaXJlcz0ke2V4cGlyYXRpb24gKyAnLjAwMCd9OyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBsb2dvdXQoKXtcbiAgICBpZih0aGlzLnVzZXIpe1xuICAgICAgdGhpcy51dGlsLmdldCgndXNlci9sb2dvdXQnKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKXtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pc0xvZ2dlZEluO1xuICB9XG5cbiAgaXMyRkFSZXF1aXJlZCgpe1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzMkZBUmVxdWlyZWQ7XG4gIH1cblxuICB1cGRhdGVQcm9maWxlKHVzZXIgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9wcm9maWxlJywgdXNlcik7XG4gIH1cblxuICB1cGRhdGVQYXNzd29yZChvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZCl7XG4gICAgbGV0IHB3ZENoYW5nZU1vZGVsIDoge29sZFBhc3N3b3JkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGNvbmZpcm1QYXNzd29yZDogc3RyaW5nfSA9IHtvbGRQYXNzd29yZDogb2xkUGFzc3dvcmQsIHBhc3N3b3JkOiBuZXdQYXNzd29yZCwgY29uZmlybVBhc3N3b3JkOiBjb25maXJtUGFzc3dvcmR9O1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgdXNlci9wYXNzd29yZC8ke3RoaXMuZ2V0VXNlcigpLnVzZXJuYW1lfWAsIHB3ZENoYW5nZU1vZGVsKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmQodXNlcklkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih1c2VySWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL3YyL3Bhc3N3b3JkL3Jlc2V0LyR7dXNlcklkfWApO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlTmFtZSA6IHN0cmluZykgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnJvbGVzICYmIHRoaXMudXNlci5yb2xlcy5pbmNsdWRlcyhyb2xlTmFtZSk7XG4gIH1cblxuICBoYXNGdW5jdGlvbihmdW5jdGlvbk5hbWUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5mdW5jdGlvbnMgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucy5pbmNsdWRlcyhmdW5jdGlvbk5hbWUpO1xuICB9XG5cbiAgaGFzUm9sZXMoLi4ucm9sZXMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgcm9sZXMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgaGFzRnVuY3Rpb25zKC4uLmZ1bmN0aW9ucyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCBmdW5jdGlvbnMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzRnVuY3Rpb24oZnVuY3Rpb25zW2ldKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgY2hlY2tSb2xlcyhyb2xlcyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNSb2xlKHJvbGVzW2ldLnRvU3RyaW5nKCkpKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBjaGVja0Z1bmN0aW9ucyhmdW5jdGlvbnMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgZnVuY3Rpb25zLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGlzQ3NyKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzVGF4QXVkaXRTdXBlcnZpc29yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4YXVkaXRzdXBlcnZpc29yJykgJiZ0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnIFxuICB9XG5cbiAgaXNUYXhBdWRpdEF1ZGl0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhhdWRpdHNwZWNpYWxpc3QnKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc1RheEF1ZGl0RGlyZWN0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhBdWRpdERpcmVjdG9yJykgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNFbXBsb3llcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0VNUEwnXG4gIH1cblxuICBpc1RwYSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ1RQQSdcbiAgfVxuXG4gIGlzQ2xhaW1hbnQoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJ1xuICB9XG5cbiAgaGFzU3NuQXNzb2NpYXRlZCgpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJyAmJiB0aGlzLmdldFVzZXIoKS5zc24gIT09IHVuZGVmaW5lZCBcbiAgfVxuXG4gIGdldFVzZXJNZW51cygpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L2ApO1xuICB9XG5cbiAgbWFya0ZhdihtZW51SWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdDxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCwgbnVsbCk7XG4gIH1cblxuICByZW1vdmVGYXYobWVudUlkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmRlbGV0ZTxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCk7XG4gIH1cblxuICBnZXRGYXZvdXJpdGVNZW51KCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvZmF2YCk7XG4gIH1cblxuICBnZXRUcmVuZGluZ01lbnUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS90cmVuZGluZ2ApO1xuICB9XG5cbiAgdmVyaWZ5RW1haWwoY29kZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL2VtYWlsLyR7Y29kZX1gLCBudWxsKTtcbiAgfVxuXG4gIGdldE5ld0NvZGUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9lbWFpbGApO1xuICB9XG5cbiAgdXBkYXRlRW1haWxBbmRHZXROZXdDb2RlKGVtYWlsIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBhdGNoKGB1c2VyL2VtYWlsLyR7ZW1haWx9YCwgbnVsbCk7XG4gIH1cblxuICBnZXROZXdBdXRoQ29kZSh0eXBlIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHA/dHlwZT0ke3R5cGV9YCk7XG4gIH1cblxuICBhc3NvY2lhdGVTc25Ub1VzZXJJZChzc24gOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgY2xhaW1hbnQvYXNzb2NpYXRlLXNzbi8ke3Nzbn1gLCBudWxsKTtcbiAgfVxuXG4gIGdldFVzZXJJZEluVW5pdEJzKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlcklkSW5Vbml0QnM7XG4gIH1cblxuICBsb2FkVXNlcklkc0Zyb21Vbml0T2ZMb2dnZWRJblVzZXIodW5pdElkIDogc3RyaW5nKXtcbiAgICBpZih0aGlzLnVzZXJJZEluVW5pdEJzLmdldFZhbHVlKCkgPT0gbnVsbClcbiAgICAgIHRoaXMudXRpbC5nZXQ8VXNlck1vZGVsW10+KGB1c2VyL2FsbC8ke3VuaXRJZH1gKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMudXNlcklkSW5Vbml0QnMubmV4dChyZXMpKTtcbiAgfVxufVxuIl19
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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QUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGlDQUFpQyxDQUFDLE1BQWU7UUFDL0MsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUk7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsWUFBWSxNQUFNLEVBQUUsQ0FBQztpQkFDM0MsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDOzZFQXBZVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O2lGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBPdHBBdXRoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvT3RwQXV0aE1vZGVsJztcclxuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcclxuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBDbGFpbWFudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtY29udGV4dC9jbGFpbWFudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5TZXJ2aWNlIHtcclxuXHJcbiAgb3B0aW9ucyA9IHt9O1xyXG5cclxuICBwcml2YXRlIHVzZXJCcyA6IEJlaGF2aW9yU3ViamVjdDxVc2VyTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgcHJpdmF0ZSBtZW51QnMgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG5cclxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgYXV0aENvZGUgOiBzdHJpbmc7XHJcblxyXG4gIHNldEF1dGhDb2RlKGF1dGhjb2RlIDogc3RyaW5nKXtcclxuICAgIHRoaXMuYXV0aENvZGUgPSBhdXRoY29kZTtcclxuICB9XHJcblxyXG4gIGdldEF1dGhjb2RlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcclxuICB9XHJcblxyXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJCcy5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckJzKCkgOiBCZWhhdmlvclN1YmplY3Q8VXNlck1vZGVsPntcclxuICAgIHJldHVybiB0aGlzLnVzZXJCcztcclxuICB9XHJcblxyXG4gIGdldE1lbnVCcygpIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+e1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xyXG4gICAgaWYocmVzKXtcclxuICAgICAgbGV0IHVzZXIgPSBuZXcgVXNlck1vZGVsKCk7XHJcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcclxuICAgICAgdXNlci5sYXN0TmFtZSA9IHJlcy5sYXN0TmFtZTtcclxuICAgICAgdXNlci51c2VybmFtZSA9IHJlc1sndXNlcl9uYW1lJ107XHJcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xyXG4gICAgICB1c2VyLmlzQWN0aXZlID0gcmVzLmlzQWN0aXZlXHJcbiAgICAgIHVzZXIucm9sZXMgPSByZXMucm9sZXM7XHJcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcclxuICAgICAgdXNlci5kb2IgPSByZXMuZG9iO1xyXG4gICAgICB1c2VyLnVzZXJUeXBlID0gcmVzLnVzZXJUeXBlO1xyXG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XHJcbiAgICAgIHVzZXIuZW1haWxJZD1yZXMuZW1haWxJZDtcclxuICAgICAgdXNlci5wYXNzd29yZEV4cGlyYXRpb25EYXRlID0gcmVzLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGU7XHJcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XHJcbiAgICAgIHVzZXIuaXNMb2dnZWRJbiA9IHJlcy5pc0xvZ2dlZEluO1xyXG4gICAgICB1c2VyLmNoYW5nZVB3ZCA9IHJlcy5jaGFuZ2VQd2Q7XHJcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xyXG4gICAgICB1c2VyLmV4cGlyZXNfaW4gPSByZXMuZXhwaXJlc19pbjtcclxuICAgICAgdXNlci5zc24gPSByZXMuc3NuO1xyXG4gICAgICB1c2VyLmxhbmd1YWdlPXJlcy5sYW5ndWFnZTtcclxuICAgICAgdXNlci5jbGFpbWFudElkID0gcmVzLmNsYWltYW50SWQ7XHJcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xyXG4gICAgICB1c2VyLmNvb2tpZU5hbWUgPSByZXMuY29va2llTmFtZTtcclxuICAgICAgdXNlci5jb29raWVWYWx1ZSA9IHJlcy5jb29raWVWYWx1ZTtcclxuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcclxuICAgICAgdXNlci5kb21haW5OYW1lID0gcmVzLmRvbWFpbk5hbWU7XHJcbiAgICAgIHVzZXIuaXMyRkFSZXF1aXJlZCA9IHJlcy5pczJGQVJlcXVpcmVkO1xyXG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcclxuICAgICAgdXNlci5pc0VtYWlsVmVyaWZpY2F0aW9uUmVxdWlyZWQgPSByZXMuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkO1xyXG4gICAgICB1c2VyLmNlbGxwaG9uZU5vID0gcmVzLmNlbGxwaG9uZU5vO1xyXG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XHJcbiAgICAgIHVzZXIuc3VwcG9ydGVkTWZhVHlwZXMgPSByZXMuc3VwcG9ydGVkTWZhVHlwZXM7XHJcbiAgICAgIGlmKHJlcy5hY2Nlc3NfdG9rZW4gJiYgcmVzLnJlZnJlc2hfdG9rZW4pe1xyXG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcclxuICAgICAgICB1c2VyLnJlZnJlc2hfdG9rZW4gPSByZXMucmVmcmVzaF90b2tlbjtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdhY2Nlc3NfdG9rZW4nLCByZXMuYWNjZXNzX3Rva2VuKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB1c2VyLmFjY2Vzc190b2tlbiA9IHRoaXMudXNlci5hY2Nlc3NfdG9rZW47XHJcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnYWNjZXNzX3Rva2VuJywgdGhpcy51c2VyLmFjY2Vzc190b2tlbik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgncmVmcmVzaF90b2tlbicsIHRoaXMudXNlci5yZWZyZXNoX3Rva2VuKTtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCd1c2VybmFtZScsIGJ0b2EodXNlci51c2VybmFtZSkpO1xyXG4gICAgICBsZXQgc2hvd19kaXNjbG9zdXJlID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldCgnc2hvd19kaXNjbG9zdXJlJyk7XHJcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ3Nob3dfZGlzY2xvc3VyZScsICd0cnVlJyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgICAgdGhpcy51c2VyQnMubmV4dCh0aGlzLnVzZXIpO1xyXG4gICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnbXMnKSl7XHJcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSwgYFwiJHt1c2VyLmNvb2tpZVZhbHVlfVwiYCwgdXNlci5leHBpcmF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZ1bGxOYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkuZmlyc3ROYW1lICsgKHRoaXMuZ2V0VXNlcigpLm1pZGRsZU5hbWUgIT0gbnVsbCA/ICcgJyArIHRoaXMuZ2V0VXNlcigpLm1pZGRsZU5hbWUgOiAnJykgKyAnICcgKyB0aGlzLmdldFVzZXIoKS5sYXN0TmFtZTtcclxuICB9XHJcblxyXG4gIGdldElzVXNlclByb2ZpbGVDb21wbGV0ZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclBlcnNvbmFsRGV0YWlscygpIDogT2JzZXJ2YWJsZTxVc2VyRGV0YWlsc01vZGVsPntcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PFVzZXJEZXRhaWxzTW9kZWw+KCd1c2VyL2RldGFpbHMvJyArIHRoaXMudXNlci51c2VybmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cCh1c2VySWQgOiBzdHJpbmcsIHR5cGUgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlT3RwRm9yTmV3VXNlckNyZWF0aW9uKHBob25lOiBzdHJpbmcsIHR5cGU6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHAvcGhvbmUvJHtwaG9uZX0/dHlwZT0ke3R5cGV9YCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cEZvckxvZ2dlZEluVXNlcigpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvZ2VuZXJhdGUvb3RwYCk7XHJcbiAgfVxyXG5cclxuICB2ZXJpZnlPdHBGb3JQaG9uZU51bWJlcihjb2RlOiBzdHJpbmcsIHBob25lOiBzdHJpbmcsIGlzUmV0dXJuaW5nVXNlcjogYm9vbGVhbiwgc3NuOiBTdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHVybCA9IGB1c2VyL290cC9waG9uZS92ZXJpZnkvJHtjb2RlfT9waG9uZT0ke3Bob25lfSZpc1JldHVybmluZ1VzZXI9JHtpc1JldHVybmluZ1VzZXJ9JnNzbj0ke3NzbiA/IHNzbiA6IFwiXCJ9YDtcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihhdXRoIDogT3RwQXV0aE1vZGVsKXtcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgLy9cIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcclxuXHJcbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3VzZXJuYW1lJywgYXV0aC51c2VySWQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdsYW5ndWFnZScsYXV0aC5sYW5ndWFnZSk7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAvL1wiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXHJcbiAgICB9KTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xyXG5cclxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAnbWZhJyk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3VzZXJuYW1lJywgYXV0aC51c2VySWQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdsYW5ndWFnZScsbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgICBpZihhdXRoLm90cCl7XHJcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XHJcbiAgICAgIGF1dGhEYXRhLnNldCgnaXNfdHJ1c3RlZF9kZXZpY2UnLCBhdXRoLmlzdHJ1c3RlZERldmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPignb2F1dGgvdG9rZW4nLCBhdXRoRGF0YSx0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbil7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aENsaWVudFNlY3JldH1gKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcclxuXHJcbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcclxuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcik7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pOyAgXHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9hZFVzZXJJbmZvKCl7XHJcbiAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XHJcbiAgICAgIGxldCBhdXRoVG9rZW4gPSBhd2FpdCB0aGlzLmdldFN0b3JlZEFjY2Vzc1RvcGVuKCk7XHJcbiAgICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbD4oYG9hdXRoL2NoZWNrX3Rva2VuP3Rva2VuPSR7YXV0aFRva2VufWApLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0U3RvcmVkQWNjZXNzVG9wZW4oKXtcclxuICAgIGxldCBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ2FjY2Vzc190b2tlbicpLnRoZW4ocmVzID0+IHJlcyk7XHJcbiAgICByZXR1cm4gYWNjZXNzVG9rZW47XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cFVucmVnaXN0ZXJlZChtb2JpbGVObyA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldCgnYXV0aC9vdHAvbmV3dXNlci8nICsgbW9iaWxlTm8pO1xyXG4gIH1cclxuXHJcbiAgc2lnblVwKHVzZXJNb2RlbCA6IFVzZXJNb2RlbCl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXInLCB1c2VyTW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGVyc29uYWxEZXRhaWxzKHVzckR0bHMgOiBVc2VyRGV0YWlsc01vZGVsKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9kZXRhaWxzJywgdXNyRHRscyk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpe1xyXG4gICAgdGhpcy51c2VyID0gbnVsbDtcclxuICAgIHRoaXMudXNlckJzLm5leHQobnVsbCk7XHJcbiAgICB0aGlzLm1lbnVCcy5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnYWNjZXNzX3Rva2VuJyk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdyZWZyZXNoX3Rva2VuJyk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdzaG93X2Rpc2Nsb3N1cmUnKTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3VzZXJuYW1lJyk7XHJcbiAgICB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuY2xlYXJDb250ZXh0KCk7XHJcbiAgICB0aGlzLnJlbW92ZUNvb2tpZXMoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNvb2tpZXMoKXtcclxuICAgIHRoaXMuZGVsZXRlQ29va2llKCdhdCcpO1xyXG4gICAgdGhpcy5kZWxldGVDb29raWUoJ3J0Jyk7XHJcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDb29raWUoY29va2llTmFtZSl7XHJcbiAgICBsZXQgY29va2llID0gYCR7Y29va2llTmFtZX09OyBNYXgtQWdlPTA7IHBhdGg9LzsgZG9tYWluPSR7TGliQ29uc3RhbnRzLnNzb0RvbWFpbn1gO1xyXG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29va2llKGNvb2tpZU5hbWUsIHZhbHVlLCBleHBpcmF0aW9uKXtcclxuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT0ke3ZhbHVlfTsgZXhwaXJlcz0ke2V4cGlyYXRpb24gKyAnLjAwMCd9OyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcclxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpe1xyXG4gICAgaWYodGhpcy51c2VyKXtcclxuICAgICAgdGhpcy51dGlsLmdldCgndXNlci9sb2dvdXQnKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzTG9nZ2VkSW4oKXtcclxuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzTG9nZ2VkSW47XHJcbiAgfVxyXG5cclxuICBpczJGQVJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pczJGQVJlcXVpcmVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvZmlsZSh1c2VyIDogVXNlck1vZGVsKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9wcm9maWxlJywgdXNlcik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYXNzd29yZChvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZCl7XHJcbiAgICBsZXQgcHdkQ2hhbmdlTW9kZWwgOiB7b2xkUGFzc3dvcmQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29uZmlybVBhc3N3b3JkOiBzdHJpbmd9ID0ge29sZFBhc3N3b3JkOiBvbGRQYXNzd29yZCwgcGFzc3dvcmQ6IG5ld1Bhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQ6IGNvbmZpcm1QYXNzd29yZH07XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYHVzZXIvcGFzc3dvcmQvJHt0aGlzLmdldFVzZXIoKS51c2VybmFtZX1gLCBwd2RDaGFuZ2VNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKHVzZXJJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcclxuICB9XHJcblxyXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih1c2VySWQgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvcGFzc3dvcmQvcmVzZXQvJHt1c2VySWR9YCk7XHJcbiAgfVxyXG5cclxuICBoYXNSb2xlKHJvbGVOYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5yb2xlcyAmJiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXMocm9sZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGFzRnVuY3Rpb24oZnVuY3Rpb25OYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5mdW5jdGlvbnMgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucy5pbmNsdWRlcyhmdW5jdGlvbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGFzUm9sZXMoLi4ucm9sZXMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IHJvbGVzLmxlbmd0aCA7IGkrKyl7XHJcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XHJcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzUHJlc2VudDtcclxuICB9XHJcblxyXG4gIGhhc0Z1bmN0aW9ucyguLi5mdW5jdGlvbnMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBjaGVja1JvbGVzKHJvbGVzIDogc3RyaW5nW10pe1xyXG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xyXG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc1JvbGUocm9sZXNbaV0udG9TdHJpbmcoKSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBjaGVja0Z1bmN0aW9ucyhmdW5jdGlvbnMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBpc0Nzcigpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcclxuICB9XHJcblxyXG4gIGlzRW1wbG95ZXIoKXtcclxuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0VNUEwnXHJcbiAgfVxyXG5cclxuICBpc1RwYSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnVFBBJ1xyXG4gIH1cclxuXHJcbiAgaXNDbGFpbWFudCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCdcclxuICB9XHJcblxyXG4gIGhhc1NzbkFzc29jaWF0ZWQoKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJyAmJiB0aGlzLmdldFVzZXIoKS5zc24gIT09IHVuZGVmaW5lZCBcclxuICB9XHJcblxyXG4gIGdldFVzZXJNZW51cygpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvYCk7XHJcbiAgfVxyXG5cclxuICBtYXJrRmF2KG1lbnVJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3Q8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmF2KG1lbnVJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmRlbGV0ZTxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRGYXZvdXJpdGVNZW51KCl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS9mYXZgKTtcclxuICB9XHJcblxyXG4gIGdldFRyZW5kaW5nTWVudSgpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvdHJlbmRpbmdgKTtcclxuICB9XHJcblxyXG4gIHZlcmlmeUVtYWlsKGNvZGUgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL2VtYWlsLyR7Y29kZX1gLCBudWxsKTtcclxuICB9XHJcblxyXG4gIGdldE5ld0NvZGUoKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL2VtYWlsYCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFbWFpbEFuZEdldE5ld0NvZGUoZW1haWwgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wYXRjaChgdXNlci9lbWFpbC8ke2VtYWlsfWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV3QXV0aENvZGUodHlwZSA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHA/dHlwZT0ke3R5cGV9YCk7XHJcbiAgfVxyXG5cclxuICBhc3NvY2lhdGVTc25Ub1VzZXJJZChzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGBjbGFpbWFudC9hc3NvY2lhdGUtc3NuLyR7c3NufWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcklkSW5Vbml0QnMoKXtcclxuICAgIHJldHVybiB0aGlzLnVzZXJJZEluVW5pdEJzO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJJZHNGcm9tVW5pdE9mTG9nZ2VkSW5Vc2VyKHVuaXRJZCA6IHN0cmluZyl7XHJcbiAgICBpZih0aGlzLnVzZXJJZEluVW5pdEJzLmdldFZhbHVlKCkgPT0gbnVsbClcclxuICAgICAgdGhpcy51dGlsLmdldDxVc2VyTW9kZWxbXT4oYHVzZXIvYWxsLyR7dW5pdElkfWApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnVzZXJJZEluVW5pdEJzLm5leHQocmVzKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==